$npx -y skills add warpdotdev/oz-for-oss --skill create-tech-specCreate a technical spec from a GitHub issue in this repository by applying the 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 age
| 1 | # create-tech-spec |
| 2 | |
| 3 | Create a tech spec from a GitHub issue for this repository. |
| 4 | |
| 5 | ## Overview |
| 6 | |
| 7 | This skill is a thin Oz wrapper around the shared tech-spec workflow: |
| 8 | |
| 9 | - `write-tech-spec` |
| 10 | |
| 11 | Use that shared skill as the base behavior and structure unless this wrapper overrides it. Keep the same emphasis on grounding the plan in current code, documenting relevant files and data flow, explaining tradeoffs, and defining validation. |
| 12 | |
| 13 | The Oz-specific differences are: |
| 14 | |
| 15 | - the primary input is a GitHub issue, not a Linear issue |
| 16 | - the output path is `specs/GH<issue-number>/tech.md` |
| 17 | - `issue_comments.md` and triggering-comment context are additional design inputs |
| 18 | - a workflow may also request a structured PR metadata file in `pr-metadata.json` |
| 19 | - do not create or edit Linear issues as part of this workflow |
| 20 | |
| 21 | ## Inputs |
| 22 | |
| 23 | Expect issue details in the prompt, including the issue number, title, description, labels, assignees, and optional prior discussion captured in `issue_comments.md`. |
| 24 | |
| 25 | When available, the product spec at `specs/GH<issue-number>/product.md` should be treated as the primary input for understanding the intended behavior. The tech spec translates that product intent into an implementation approach. |
| 26 | |
| 27 | ## Process |
| 28 | |
| 29 | 1. Start from the shared `write-tech-spec` guidance and follow its structure and writing standards unless this wrapper says otherwise. |
| 30 | 2. Read the issue details carefully. If a product spec exists at `specs/GH<issue-number>/product.md`, read it first to understand the intended behavior. If `issue_comments.md` exists, review it for clarifications, prior decisions, and design nuance that should influence the tech plan. |
| 31 | 3. Inspect the repository to understand the current implementation and the likely scope of the requested work before writing the spec. Do not guess about current architecture when the code can be inspected directly. |
| 32 | 4. Create or update `specs/GH<issue-number>/tech.md`. |
| 33 | 5. Use the shared skill's structure as the baseline, adapted to this repository and issue format. At minimum, cover: |
| 34 | - problem |
| 35 | - relevant code |
| 36 | - current state |
| 37 | - proposed changes |
| 38 | - end-to-end flow when useful |
| 39 | - risks and mitigations |
| 40 | - testing and validation |
| 41 | - follow-ups or open technical questions |
| 42 | 6. Keep the tech spec concise, actionable, and grounded in actual code paths and ownership boundaries in this repository. |
| 43 | 7. Do not implement the feature or modify production code as part of this task. Limit changes to the tech spec artifact and any minimal repository metadata needed to support it. Treat temporary context files such as `issue_comments.md` as scratch input only and do not commit them. |
| 44 | 8. Do not include issue number references (e.g. `(#N)`, `Refs #N`) in commit messages. The issue is already linked in the PR. |
| 45 | 9. 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 resulting spec changes, validation, and any reviewer-relevant assumptions or open questions. 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`. |
| 46 | 10. Default behavior: do not stage files, create commits, push branches, open pull requests, or use the GitHub CLI. If the prompt explicitly 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. |
| 47 | 11. In your final response, provide a brief summary of the tech spec and call out any assumptions or open questions so the workflow can reuse that summary when creating the PR. |
| 48 | |
| 49 | ## Outputs |
| 50 | |
| 51 | - Leave the repository with the new or updated tech spec file ready to be committed by the workflow. |
| 52 | - When requested by the prompt, leave a ready-to-use `pr-metadata.json` with `branch_name`, `pr_title`, and `pr_summary`. |
| 53 | - If the issue is underspecified, still produce the best possible tech spec and clearly capture assumptions or open questions in the spec file and final response. |