Agent skill

Write Tech Spec

by warpdotdev in warpdotdev/common-skills

Write a TECH.md spec for a significant Warp feature after researching the current codebase and implementation constraints.

MITAuto-check passedAgent Workflows

Install Write Tech Spec

skills CLI
$ npx skills add warpdotdev/common-skills --skill write-tech-spec -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install warpdotdev/common-skills write-tech-spec --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/warpdotdev/common-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/write-tech-spec .claude/skills/write-tech-spec && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
write-tech-spec
GitHub stars
608
Used in
1 other repo
Token cost
~2k tokens
SKILL.md length
1,065 words
Files
1
Skills in repo
28
Repo updated
First seen
Licence
MIT

At a glance

Write a TECH.md spec for a significant Warp feature after researching the current codebase and implementation constraints.

  • Works in 4 steps: Context — What's being built, how the… → Proposed changes — The implementation… → Testing and validation — How the… → …
  • The user asks for a technical spec
  • SKILL.md covers Overview, When to use, Research before writing and Structure, plus 4 more sections
  • Calls git

What it does

Write Tech Spec is an agent skill from warpdotdev/common-skills. Write a TECH.md spec for a significant Warp feature after researching the current codebase and implementation constraints. Use when the user asks for a technical spec, implementation plan, or architecture doc tied to a product spec.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering Planning and PRD writing. It works with GitHub. The licence is MIT.

When your agent uses it

  • The user asks for a technical spec
  • Implementation plan
  • Architecture doc tied to a product spec

Example prompts

  • “/write-tech-spec”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Context — What's being built, how the current system works in the area being changed, and the most relevant files with line references…
  2. Proposed changes — The implementation plan: which modules change, new types/APIs/state being introduced, data flow, ownership boundaries…
  3. Testing and validation — How the implementation will be verified against the product behavior. Owns everything about proving the feature…
  4. Parallelization — Actively evaluate whether parallel sub-agents (launched via run_agents) would meaningfully reduce wall-clock time or…

What it can do on your machine

Read from SKILL.md and the folder at commit 2a03b40. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Write Tech Spec loads about 2k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 1,065 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~62
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from warpdotdev/common-skills at commit 2a03b40, republished under its MIT licence (© warpdotdev). 1,065 words, ~1,962 tokens.

Download SKILL.mdSave it as .claude/skills/write-tech-spec/SKILL.md (or your agent's skills folder).
name
write-tech-spec
description
Write a TECH.md spec for a significant Warp feature after researching the current codebase and implementation constraints. Use when the user asks for a technical spec, implementation plan, or architecture doc tied to a product spec.

write-tech-spec

Write a TECH.md spec for a significant feature in Warp.

Overview

The tech spec should translate product intent into an implementation plan that fits the existing codebase, documents architectural choices, and makes the work easier for agents to execute and reviewers to evaluate.

Write specs to specs/<id>/TECH.md, where <id> is one of:

  • a Linear ticket number (e.g. specs/APP-1234/TECH.md)
  • a GitHub issue id, prefixed with gh- (e.g. specs/gh-4567/TECH.md)
  • a short kebab-case feature name (e.g. specs/vertical-tabs-hover-sidecar/TECH.md)

Match the id used by the sibling PRODUCT.md when one exists. specs/ should contain only id-named directories as direct children.

Ticket / issue references are optional. If the user has a Linear ticket or GitHub issue, use its id. If they don't, ask them for a feature name to use as the directory. Only create a new Linear ticket or GitHub issue when the user explicitly asks for one; in that case use the Linear MCP tools or gh CLI respectively (and ask_user_question if team, labels, or repo are unclear).

When to use

Use this skill when the implementation spans multiple modules, has meaningful architectural tradeoffs, or when reviewers will benefit from seeing the plan before or alongside the code. For pure UI changes or straightforward fixes, a tech spec is often unnecessary.

Prefer to have a PRODUCT.md first so the technical plan is anchored to agreed behavior. If the implementation is still too uncertain, build an e2e prototype first and then write the tech spec from what was learned.

Research before writing

Before drafting, read the product spec (if any), inspect the relevant code, and identify the main files, types, data flow, and ownership boundaries. Do not guess about current architecture when the code can be inspected directly. When referencing relevant code chunks in the spec, prefer commit-pinned references so future readers can inspect the exact code you researched. Capture the current commit SHA for each repository you inspected (for example, git rev-parse HEAD) and, when possible, make file references Markdown links to the corresponding GitHub blob/<sha>/...#Lx-Ly URL. Use the linked text to keep the path readable in the spec.

Structure

Required sections:

  1. Context — What's being built, how the current system works in the area being changed, and the most relevant files with line references. Combine the "problem," "current state," and "relevant code" into one grounded section. Example references:

  2. Proposed changes — The implementation plan: which modules change, new types/APIs/state being introduced, data flow, ownership boundaries, and how the design follows existing patterns. Call out tradeoffs when there is more than one reasonable path.

  3. Testing and validation — How the implementation will be verified against the product behavior. Owns everything about proving the feature works: unit tests, integration tests, manual steps, screenshots, videos, and any other verification. Reference the numbered Behavior invariants from PRODUCT.md directly rather than restating them; each important invariant should map to a concrete test or verification step. This section is where validation lives — PRODUCT.md intentionally does not have a Validation section.

  4. Parallelization — Actively evaluate whether parallel sub-agents (launched via run_agents) would meaningfully reduce wall-clock time or isolate work. Skip this section if run_agents is not available. When the spec proposes using sub-agents, include for each proposed agent:

    • A short name/role and the subtask it owns.
    • Execution mode (local or remote) with a one-line rationale.
    • For local agents: the working directory or git worktree it should use, so parallel agents do not collide on the same checkout or files.
    • For remote agents: which environment to use or an explicit note that the agent will run in an empty environment.
    • Branch and PR strategy: which branch each agent works on, the worktree path each agent will use, and how their work lands (one PR per agent, a single combined PR, etc.).
    • Coordination boundaries: which files/services each agent owns and how it syncs with sibling agents (messaging, merge points, validation ownership).

    Distinguish which steps can run in parallel and which must run sequentially. When the dependency graph is non-trivial, consider a short Mermaid diagram (graph TD or flowchart LR) so the reader can see fan-out and merge points at a glance.

    When parallelization is NOT proposed, briefly note why it isn't beneficial (e.g. the task is small, or subtasks are tightly coupled) so reviewers can challenge that judgment.

    Propose concrete defaults for worktrees, branch names, and execution mode rather than leaving them open-ended.

Show full SKILL.md (316 more words)Show less

Optional sections — include only when they add signal. Omit the heading entirely if empty; do not write "None" as a placeholder.

  • End-to-end flow — Include only when tracing the path through the system tells you something the Proposed changes list doesn't.
  • Diagram — Include a Mermaid diagram only when a visual will explain the design faster than prose (data flow, state transitions, sequence across layers). Prefer one or two focused diagrams over decorative ones.
  • Risks and mitigations — Include when there are real failure modes, regressions, migration concerns, or rollout hazards worth calling out.
  • Follow-ups — Include when there is deferred cleanup or future work worth naming.

Length heuristic

Right-size the spec to the feature:

  • Single-file change with clear approach: skip the tech spec or keep it under ~40 lines.
  • Multi-module change with some ambiguity: target ~80–150 lines.
  • Large cross-cutting or architecturally novel change: longer is fine when every section earns its place.

If Context and Proposed changes end up describing the same files and state from different angles, collapse them.

Writing guidance

  • Ground the plan in actual codebase structure and patterns.
  • Pin important code references to a commit SHA and link them to the corresponding GitHub lines when the repository has an accessible remote.
  • Prefer concrete implementation guidance over generic architecture language.
  • Explain why the proposed design fits this repo.
  • Reference PRODUCT.md for behavior instead of restating it.
  • Each section should earn its place — if a section would repeat another or contain only boilerplate, omit it.

Keep the spec current

Approved specs may ship in the same PR as the implementation. Update TECH.md in the same PR when module boundaries, implementation sequencing, risks, validation strategy, or rollout assumptions change. The checked-in spec should describe the implementation that actually ships.

For large features, the implementer may optionally keep a DECISIONS.md file summarizing concrete decisions. Offer it when it would help future agents; otherwise skip it.

  • implement-specs
  • write-product-spec
  • spec-driven-implementation

© warpdotdev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/write-tech-spec of warpdotdev/common-skills.

Open the folder on GitHubat commit 2a03b40

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in warpdotdev/common-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Write Tech Spec next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Write Tech Spec compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Write Tech Spec this skillwarpdotdev/common-skills6081 repos~2kAutomated safety check: PassMIT
PRP Implementation PlannerWirasm/prp2.3k—~4.1kAutomated safety check: PassMIT
Feature SpecPackmindHub/packmind317—~1.8kAutomated safety check: PassApache-2.0
Setup Matt Pocock Skillsywwynm/EverythingDone1449 repos~1.7kAutomated safety check: PassGPL-3.0
Ask NavigatorYeachan-Heo/oh-my-claudecode40k—~4.1kAutomated safety check: PassMIT
Dep Createai-dynamo/dynamo8.2k—~1.1kAutomated safety check: PassApache-2.0

Similar skills

  • Turns a PRD, issue or description into an implementation-ready plan grounded in codebase evidence, adding root-cause analysis for bugs and publishing issue plans back to the issue.

    2.3k GitHub stars~4.1k tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • Feature Spec

    PackmindHub/packmind

    Generate a Packmind feature specification from a GitHub issue, file, URL, or direct description.

    317 GitHub stars~1.8k tokensUpdated today
    Product & Project ManagementAuto-check passed
  • Setup Matt Pocock Skills

    ywwynm/EverythingDone

    Sets up an Agent skills block in AGENTS.md/CLAUDE.md and docs/agents/ so the engineering skills know this repo's issue tracker (GitHub or local markdown), triage label vocabulary, and domain doc…

    144 GitHub starsUsed in 9 repos~1.7k tokens
    Agent WorkflowsAuto-check passed
  • Ask Navigator

    Yeachan-Heo/oh-my-claudecode

    Charts a foggy effort into a map of decision tickets on the repo's issue tracker and works through them one per session, producing decisions rather than deliverables.

    40k GitHub stars~4.1k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Dep Create

    ai-dynamo/dynamo

    Creates or updates Dynamo Enhancement Proposals as GitHub issues, including lightweight DEPs, implementation plans, and retroactive DEPs for ai-dynamo/dynamo.

    8.2k GitHub stars~1.1k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Implement Feature

    DevBetterCom/DevBetterWeb

    End-to-end workflow for implementing, fixing, or otherwise working on a specific GitHub issue.

    157 GitHub stars~1.5k tokensUpdated 5 days ago
    Agent WorkflowsAuto-check passed

More from warpdotdev/common-skills

All 28 skills in this repo
  • Skill Doctor

    warpdotdev/common-skills

    Grades agent skills by scoring agent conversations for efficiency, code quality, procedure compliance, and verbosity, then drafts concrete skill edits and a shareable report.

    608 GitHub starsUsed in 2 repos~2.6k tokens
    Auto-check passed
  • Readout

    warpdotdev/common-skills

    Produce a polished, self-contained HTML "readout" document under ~/.readouts (with an auto-maintained index page), either by snapshotting the findings accumulated in the current conversation or —…

    608 GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Resolve Merge Conflicts

    warpdotdev/common-skills

    Resolve Git merge conflicts by extracting only unresolved paths, conflict hunks, and compact diffs instead of loading whole files into context.

    608 GitHub stars~733 tokensUpdated yesterday
    Auto-check passed
  • Review PR

    warpdotdev/common-skills

    Review a pull request diff and write structured feedback to review.json for the workflow to publish.

    608 GitHub stars~2.6k tokensUpdated yesterday
    Auto-check passed
  • Saga

    warpdotdev/common-skills

    Run an autonomous, spec-driven development "saga" for medium-to-large features using an orchestrator agent and a fleet of worker subagents.

    608 GitHub stars~4.1k tokensUpdated yesterday
    Auto-check passed
  • PR Walkthrough

    warpdotdev/common-skills

    Generate a static interactive D3 walkthrough of a pull request.

    608 GitHub starsUsed in 1 repo~7.2k tokens
    Auto-check passed

Works with

Categories

Questions about Write Tech Spec

What does Write Tech Spec do?

Write a TECH.md spec for a significant Warp feature after researching the current codebase and implementation constraints. Write Tech Spec is an agent skill from warpdotdev/common-skills.md spec for a significant Warp feature after researching the current codebase and implementation constraints.

When should I use Write Tech Spec?

Write Tech Spec fits situations like: the user asks for a technical spec; implementation plan; architecture doc tied to a product spec.

How do I install Write Tech Spec in Claude Code?

Run `npx skills add warpdotdev/common-skills --skill write-tech-spec -a claude-code`. Or copy the skill folder (.agents/skills/write-tech-spec in warpdotdev/common-skills) into .claude/skills/write-tech-spec in your project. Claude Code loads it when a task matches its description.

How do I install Write Tech Spec in Codex?

Run `npx skills add warpdotdev/common-skills --skill write-tech-spec -a codex`. Or copy the skill folder (.agents/skills/write-tech-spec in warpdotdev/common-skills) into .agents/skills/write-tech-spec in your project. Codex loads it when a task matches its description.

Can I use Write Tech Spec in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add warpdotdev/common-skills --skill write-tech-spec -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/write-tech-spec, .gemini/skills/write-tech-spec, .github/skills/write-tech-spec and .opencode/skills/write-tech-spec in your project.

What does Write Tech Spec need to run?

Going by SKILL.md and its folder, Write Tech Spec needs the command-line tools its instructions call (git).

Does Write Tech Spec access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Write Tech Spec safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Write Tech Spec use?

Write Tech Spec is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Write Tech Spec use?

About 2k tokens (SKILL.md is roughly 7.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Write Tech Spec?

Skills that share tags, products or a category with Write Tech Spec: PRP Implementation Planner (Wirasm/prp, 2.3k stars), Feature Spec (PackmindHub/packmind, 317 stars), Setup Matt Pocock Skills (ywwynm/EverythingDone, 144 stars) and Ask Navigator (Yeachan-Heo/oh-my-claudecode, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Write Tech Spec?

warpdotdev (a GitHub organization) maintains it in warpdotdev/common-skills, which has 608 GitHub stars. The repository holds 28 skills in this directory. The repository was last updated on October 7, 2026.

Source: warpdotdev/common-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.