create-product-spec
$
npx mdskill add warpdotdev/oz-for-oss/create-product-specGenerate product specs from GitHub issues using local workflows.
- Transforms GitHub issues into structured product specification artifacts.
- Depends on the write-product-spec workflow and GitHub issue data.
- Prioritizes issue comments and labels for accurate spec generation.
- Outputs markdown files to a dedicated specs directory structure.
SKILL.md
.github/skills/create-product-specView on GitHub ↗
--- name: create-product-spec description: Create a product spec from a GitHub issue in this repository by applying the local shared `write-product-spec` workflow with Oz-specific issue context and output paths. Use when an issue should be turned into a product spec artifact stored under `specs/GH<issue-number>/product.md` and the agent should prepare file changes only, without creating commits or pull requests itself unless a cloud workflow explicitly asks for it. --- # create-product-spec Create a product spec from a GitHub issue for this repository. ## Overview This skill is a thin Oz wrapper around the local shared product-spec workflow: - `.agents/skills/write-product-spec/SKILL.md` Use that shared local skill as the base behavior and structure unless this wrapper overrides it. Keep the same emphasis on precise user-facing behavior, invariants, edge cases, validation, and open questions. The Oz-specific differences are: - the primary input is a GitHub issue, not a Linear issue - the output path is `specs/GH<issue-number>/product.md` - `issue_comments.txt` and triggering-comment context are first-class inputs - a workflow may also request a structured PR metadata file in `pr-metadata.json` - do not create or edit Linear issues as part of this workflow ## Inputs Expect issue details in the prompt, including the issue number, title, description, labels, assignees, and optional prior discussion captured in `issue_comments.txt`. If a triggering comment or other workflow-provided comment context is present, treat it as additional context, not as a silent override of the issue body. Resolved decisions from comments can refine the spec; unresolved disagreements should remain explicit open questions. ## Workflow 1. Start from the local shared `write-product-spec` guidance and follow its structure and writing standards unless this wrapper says otherwise. 2. Read the issue details carefully. If `issue_comments.txt` exists, review it for clarifications, prior decisions, and issue-comment nuance that should influence the spec. 3. Inspect the repository enough to understand the current user workflow and likely scope before writing the spec. 4. Create or update `specs/GH<issue-number>/product.md`. 5. Keep the product spec focused on intended behavior and user-facing requirements. Use the shared skill's sections as the baseline, adapted to this repository and issue format. At minimum, cover: - summary - problem - goals - non-goals or scope boundaries - concrete user experience and behavior requirements - success criteria - validation - open product questions 6. If design context such as a Figma link is present in the issue description or comments, include it. If no design context exists, make that absence explicit rather than silently omitting it. 7. Do not include implementation details, file-level changes, or technical design. Those belong in the tech spec. 8. Do not implement the feature or modify production code as part of this task. Limit changes to the product spec artifact. Treat temporary context files such as `issue_comments.txt` as scratch input only and do not commit them. 9. Do not include issue number references (e.g. `(#N)`, `Refs #N`) in commit messages. The issue is already linked in the PR. 10. If the prompt asks for it, write `pr-metadata.json` at the repository root containing a JSON object with the fields `branch_name`, `pr_title`, and `pr_summary`. The `pr_summary` should summarize the product and technical planning clearly enough that reviewers can use it directly as the PR body. For spec-only PRs, include a non-closing reference to the source issue such as `Related issue: #<issue-number>` rather than closing keywords like `Closes` or `Fixes`. 11. Default behavior: do not stage files, create commits, push branches, open pull requests, or use the GitHub CLI. If the prompt explicitly says you are running in a cloud-environment workflow where the caller cannot read your local diff and instructs you to publish a named branch, you may commit and push exactly the requested spec changes to that branch, but still do not open or update the pull request yourself unless the prompt explicitly asks for it. 12. In your final response, provide a brief summary of the product spec and call out any assumptions or open questions so the workflow can reuse that summary when creating the PR. ## Output expectations - Leave the repository with the new or updated product spec file ready to be committed by the workflow. - When requested by the prompt, leave a ready-to-use `pr-metadata.json` with `branch_name`, `pr_title`, and `pr_summary`. - If the issue is underspecified, still produce the best possible product spec and clearly capture assumptions or open questions in the spec file and final response.
More from warpdotdev/oz-for-oss
- bootstrap-issue-configBootstrap the issue triage configuration for a repository by analyzing existing issues, labels, and contributors to generate `.github/issue-triage/config.json` and `.github/STAKEHOLDERS`. Use when setting up triage automation on a new or existing repository for the first time.
- check-impl-against-specCompare a pull request's implementation against spec context in spec_context.md and feed any material mismatches into review.json. Use during PR review when approved or repository spec context is available.
- create-tech-specCreate a technical spec from a GitHub issue in this repository by applying the local shared `write-tech-spec` workflow with Oz-specific issue context and output paths. Use when an issue should be turned into a tech spec artifact stored under `specs/GH<issue-number>/tech.md` and the agent should prepare file changes only, without creating commits or pull requests itself unless a cloud workflow explicitly asks for it.
- dedupe-issueDetect duplicate GitHub issues by comparing the incoming issue's title and description against the repository issue list. Use during triage to identify 2+ existing issues that are similar and surface them as potential duplicates.
- dedupe-issue-localRepo-specific dedupe guidance for oz-for-oss. Only the categories declared overridable by the core dedupe-issue skill may be specialized here.
- implement-issueImplement a GitHub issue in this repository by applying the local shared `implement-specs` workflow with Oz-specific issue, spec-context, and summary-file handling. Use when issue details are provided in the prompt and the agent should produce the repository diff and a concise implementation summary, without creating commits or pull requests itself unless a cloud workflow explicitly asks for it.
- implement-specsImplement an approved feature from the repository's product and tech specs, keeping specs and code aligned in the same change as implementation evolves. Use after the product and tech specs are approved and the next step is building the feature.
- review-pr-localRepo-specific review guidance for oz-for-oss. Only the categories declared overridable by the core review-pr skill may be specialized here.
- review-specReview a spec/plan pull request diff and write structured feedback to review.json for the workflow to publish. Use when reviewing a PR that only modifies files under specs/ and producing machine-readable review output instead of posting directly to GitHub.
- review-spec-localRepo-specific spec-review guidance for oz-for-oss. Only the categories declared overridable by the core review-spec skill may be specialized here.