{
  "markdown": "# spec-driven-tdd\n\nAn installable, multi-harness skill-pack that fuses **OpenSpec** (planning +\ntask tracking) with **Superpowers** (TDD, simplify, code review) into one\ndelivery loop.\n\nPlan in OpenSpec → isolate in a worktree → implement each task via\nTDD → simplify → review → finish and archive. A task is done only after a clean\nreview, not at green tests.\n\n![Integrated agent-assisted development workflow](docs/assets/workflow-overview.png)\n\n- Bundles every skill it needs as a first-class top-level skill: the portable\n  `simplify` plus the vendored Superpowers set (see Credits).\n- Works across Claude Code, Codex, Cursor, Gemini, and opencode.\n\n## Install\n\n[skills.sh](https://skills.sh) is the registry for the\n[`skills`](https://github.com/vercel-labs/skills) CLI. One command installs every\nbundled skill into your agent — the pack's own skills plus the vendored\nSuperpowers set — pulled straight from GitHub:\n\n```bash\nnpx skills add strelov1/spec-driven-tdd\n```\n\nOnce skills.sh indexes the repo it will also be browsable at its listing page;\nuntil then, the command above is the canonical way in.\n\nAt runtime the workflow needs **OpenSpec** for the `/opsx:*` commands — install it\nonce with `npm i -g @fission-ai/openspec`. The\n**[Superpowers](https://github.com/obra/superpowers)** skills are bundled, so they\nneed no separate install. What each provides is in\n[docs/dependencies.md](docs/dependencies.md).\n\n> Already have the Superpowers marketplace plugin? Skip the skills whose\n> description is prefixed `[Superpowers …]` in the picker — they would duplicate\n> the plugin's own skills.\n\n## Workflow\n\nSee [docs/workflow.md](docs/workflow.md).\n\n## How it works\n\n### Context injection (install → SessionStart)\n\nHook-driven harnesses (Claude Code, Cursor, opencode) run the polyglot\n`run-hook.cmd` wrapper, and the `session-start` script emits the entry skill as\nharness-shaped JSON. Codex and Gemini have no hook mechanism — they read the\nsame entry context from a static `AGENTS.md` / `GEMINI.md`. Either way the agent\nboots knowing the workflow exists.\n\n```mermaid\nflowchart LR\n    A[\"Session start<br/>startup · clear · compact\"] --> B{\"Context<br/>injection?\"}\n    B -->|\"hook-driven<br/>Claude Code · Cursor · opencode\"| D\n    B -->|\"static<br/>Codex · Gemini\"| S1[\"read AGENTS.md /<br/>GEMINI.md directly\"]\n\n    subgraph HOOK [\"SessionStart hook\"]\n        direction TB\n        D[\"run-hook.cmd → session-start<br/>polyglot bash wrapper\"] --> F[\"cat entry SKILL.md ·<br/>escape_for_json()\"]\n        F --> H{\"harness<br/>env var?\"}\n        H -->|CURSOR_PLUGIN_ROOT| I1[\"additional_context\"]\n        H -->|CLAUDE_PLUGIN_ROOT| I2[\"hookSpecificOutput<br/>.additionalContext\"]\n        H -->|default| I3[\"additionalContext\"]\n    end\n\n    I1 & I2 & I3 --> J[\"valid JSON<br/>on stdout\"]\n    J --> K[\"Entry skill loaded →<br/>invoke spec-driven-tdd\"]\n    S1 --> K\n```\n\n### The lifecycle the skill enforces\n\nThe thin `using-spec-driven-tdd` entry skill triggers the `spec-driven-tdd`\norchestrator, which drives a four-phase loop. A task is `[x]` only after a clean\nreview — not at green tests.\n\n```mermaid\nflowchart TD\n    Entry[\"using-spec-driven-tdd<br/>entry skill — triggers the workflow\"]\n    Entry --> Orch[\"spec-driven-tdd · orchestrator\"]\n    Orch --> P1[\"1 · PLAN — OpenSpec<br/>/opsx:propose + brainstorming<br/>owns scope + task list\"]\n    P1 --> P2[\"2 · ISOLATE — Superpowers<br/>using-git-worktrees<br/>one change = one worktree\"]\n    P2 --> P3[\"3 · IMPLEMENT<br/>/opsx:apply → loop over tasks\"]\n\n    subgraph Loop [\"per-task micro-cycle\"]\n        direction TB\n        R[\"RED · write a failing test\"]\n        R --> G[\"GREEN · minimal code to pass\"]\n        G --> RF[\"REFACTOR · local cleanup, stay green\"]\n        RF --> S[\"simplify · diff-wide quality pass\"]\n        S --> RT[\"re-run tests · must stay green\"]\n        RT --> RV[\"REVIEW · request + receive<br/>fix Critical + Important\"]\n        RV --> X[\"mark task [x]<br/>only after a clean review\"]\n        X -.next task.-> R\n    end\n\n    P3 --> Loop\n    Loop --> P4[\"4 · FINISH<br/>verification-before-completion<br/>finishing-a-development-branch<br/>/opsx:archive + /opsx:sync\"]\n```\n\nOpenSpec is the only external prerequisite; the Superpowers skills and `simplify`\nare bundled with the pack as top-level skills (see Credits).\n\n## Test\n\n```bash\nnpm test   # or: bash tests/run-all.sh\n```\n\n## Credits\n\nBundles [Superpowers](https://github.com/obra/superpowers) skills (MIT, © 2025\nJesse Vincent) as first-class top-level skills, each marked with a\n`[Superpowers 5.1.0, MIT]` description prefix. See `skills/SUPERPOWERS-LICENSE`\nand `skills/SUPERPOWERS-NOTICE.md`; refresh with `npm run vendor:superpowers`.\n\n## License\n\nMIT\n",
  "bytes": 4700,
  "sha": "d9aed668f6af05e33b044dba64d7a56bf71a895547afae49ac28c5345ccf0794",
  "repo_slug": "strelov1/spec-driven-tdd",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_strelov1_spec_driven_tdd_eee4c5f0/readme"
}