{
  "markdown": "# spec-flow-skills\n\nFive skills for the **PRD -> TRD -> issue** planning pipeline — turning a\nproduct spec into technical designs, technical designs into GitHub issues, and\nfinished work back into specs and prompts. Packaged as a single plugin named\n`spec-flow`, installable on six coding-agent harnesses.\n\nEvery stage produces a reviewable artifact first. Nothing reaches GitHub until\nyou ask for it explicitly.\n\n## Skills\n\n| Skill | Invoke | What it does |\n|-------|--------|--------------|\n| `prd-to-trd` | `/spec-flow:prd-to-trd <prd-path> [--apply] [--plan-out <path>] [--force]` | Reads one PRD, proposes 6-8 kebab-case component slugs with each `F-#`/`D-#`/`NF-#` item mapped to an owner, and writes a decomposition plan. With `--apply`, renders 8-section TRD scaffolds into `<prd-dir>/trd/` — headers and guidance only, never an AI-drafted body. |\n| `trd-to-issues` | `/spec-flow:trd-to-issues <trd-path>... [--prd <path>] [--apply] [--no-ready]` | Decomposes a filled-in TRD into Epic -> Feature -> Task, checks every Task against the \"3 ACs, unit-testable, independently committable\" bar, and writes the plan. With `--apply`, creates the GitHub milestones and issues and resolves `#new-N` cross-references to real numbers. |\n| `pr-to-ssot-issue` | `/spec-flow:pr-to-ssot-issue <PR#> --reason \"<text>\" [--parent <N>] [--dry-run]` | Reverse-engineers an exception PR — one already merged, or in flight with no matching PRD/TRD — into an 8-section SSOT tracking issue, so the workflow regains coverage. The source PR is read-only. |\n| `reverse-engineering-analysis` | `/spec-flow:reverse-engineering-analysis \"<feature or file path>\" [output-dir]` | Traces how one existing feature actually works — libraries, data flow, file map — and writes `analysis.md` whose most important section is a self-contained AI implementation prompt you can paste into any assistant to rebuild it elsewhere. |\n| `claude-to-codex` | `/spec-flow:claude-to-codex` (names a phase doc plus its references) | Rewrites a Claude-authored phase document into imperative Codex instructions under `docs/ai/phases/codex/`, splitting into numbered slices only when a documented trigger fires. The original is never edited. |\n\n### Visual guides and worked examples (GitHub Pages)\n\n- `prd-to-trd` — [visual guide](https://deity719.github.io/spec-flow-skills/skill-guides/prd-to-trd.html) · [usage example](https://deity719.github.io/spec-flow-skills/skill-output/prd-to-trd-usage.html) (PRD to TRD scaffolds)\n- `trd-to-issues` — [visual guide](https://deity719.github.io/spec-flow-skills/skill-guides/trd-to-issues.html) · [usage example](https://deity719.github.io/spec-flow-skills/skill-output/trd-to-issues-usage.html) (TRD to milestone and issue plan)\n- `pr-to-ssot-issue` — [visual guide](https://deity719.github.io/spec-flow-skills/skill-guides/pr-to-ssot-issue.html) · [usage example](https://deity719.github.io/spec-flow-skills/skill-output/pr-to-ssot-issue-usage.html) (exception PR to SSOT tracking issue)\n- `reverse-engineering-analysis` — [visual guide](https://deity719.github.io/spec-flow-skills/skill-guides/reverse-engineering-analysis.html) · [usage example](https://deity719.github.io/spec-flow-skills/skill-output/reverse-engineering-analysis-usage.html) (feature to reusable AI prompt)\n- `claude-to-codex` — [visual guide](https://deity719.github.io/spec-flow-skills/skill-guides/claude-to-codex.html) · [usage example](https://deity719.github.io/spec-flow-skills/skill-output/claude-to-codex-usage.html) (phase doc to Codex instructions)\n\nEach page is generated from a Markdown source under\n[`docs/skill-guides/`](docs/skill-guides) and [`docs/skill-output/`](docs/skill-output).\n\n### Picking between them\n\nThe discriminator is **which direction along the pipeline you are moving**:\n\n| Forward — spec to work | Backward — work to spec | Sideways — doc to doc |\n|---|---|---|\n| `prd-to-trd` -> `trd-to-issues`. They chain: a human fills the scaffolds in between. | `pr-to-ssot-issue` (shipped PR -> tracking issue), `reverse-engineering-analysis` (feature -> reusable prompt) | `claude-to-codex` rewrites an existing phase doc for a different executor; it decomposes nothing |\n\n`trd-to-issues` is the only skill that creates GitHub issues in bulk, and it\ndoes so only under `--apply`.\n\n## Safety contract\n\nThese skills plan out loud before they act:\n\n- **`--dry-run` is the default** for `prd-to-trd` and `trd-to-issues`. The\n  default run writes a plan file and stops; you edit the plan, then re-invoke\n  with `--apply`. The plan round-trips — Step 4 reads it back rather than\n  re-deriving from the source document.\n- **GitHub writes are opt-in and narrow.** `trd-to-issues --apply` creates\n  milestones and issues. `pr-to-ssot-issue` creates exactly one issue plus an\n  optional backlink comment on the parent. Neither auto-creates labels or\n  milestones that do not already exist; both stop instead.\n- **Sources are read-only.** `pr-to-ssot-issue` never runs `gh pr edit`,\n  `gh pr comment`, or `gh pr review`. `claude-to-codex` never touches the\n  original phase document. `prd-to-trd` skips an existing scaffold unless\n  `--force`.\n- **The target repo comes from the git remote**, never from a guess. A missing\n  remote prints `git remote -v` and stops.\n- **No push, no merge, no force-push, and no automatic rollback.** A mid-flow\n  failure reports the partial state and exits non-zero.\n- **No mid-run prompts.** These skills are written for a non-interactive\n  harness; the review surface is the plan file.\n\n## Install\n\n### Claude Code\n\n```\n/plugin marketplace add dEitY719/spec-flow-skills\n/plugin install spec-flow@spec-flow-skills\n```\n\n### Codex\n\n```\ncodex plugin install dEitY719/spec-flow-skills\n```\n\n### Kimi CLI\n\n```\nkimi plugin install dEitY719/spec-flow-skills\n```\n\n### Hermes Agent\n\n```\nhermes plugins install dEitY719/spec-flow-skills\n```\n\n### OpenCode\n\nSee [`.opencode/INSTALL.md`](.opencode/INSTALL.md).\n\n### Gemini CLI / Antigravity\n\n```\ngemini extensions install https://github.com/dEitY719/spec-flow-skills\n```\n\nAntigravity (`agy`) shares `~/.gemini`, so it inherits the install.\n\n## Harness support\n\nThese skills are written in Claude Code's vocabulary, but they are mostly\nread-document / write-markdown work plus shell calls, so they port cleanly. The\nper-harness tool mappings and capability gaps are documented once, in\n[`dEitY719/harness-skills/references/`](https://github.com/dEitY719/harness-skills/tree/main/references)\n(dEitY719/dotfiles#1410 F-5); read the one file for the harness you are on.\n\n| Skill | Claude Code | Codex | Kimi | Gemini / Antigravity | Hermes | OpenCode |\n|-------|:-----------:|:-----:|:----:|:--------------------:|:------:|:--------:|\n| `prd-to-trd` | full | full | full | full | full | full |\n| `trd-to-issues` | full | full | full | full | full | full |\n| `pr-to-ssot-issue` | full | full | full | full | full | full |\n| `reverse-engineering-analysis` | full | full | full | full | full | full |\n| `claude-to-codex` | full | full | full | full | full | full |\n\nTwo prerequisites are on you, not the plugin:\n\n- **`gh`** must be installed and authenticated for `trd-to-issues --apply` and\n  for `pr-to-ssot-issue`. Every harness reaches GitHub by shelling out to it;\n  none has a native substitute. The other three skills need no network at all.\n- **A subagent facility** for `pr-to-ssot-issue` Step 3 (gap analysis). Every\n  harness above has one under some name; the mapping is in the `harness-skills`\n  reference for yours. Where a build genuinely lacks it, run that analysis\n  inline — the rest of the skill is unaffected.\n\n## Layout\n\nManifests live at the repo root and all point at one flat `skills/` directory:\n\n```\n.\n├── skills/{prd-to-trd,trd-to-issues,pr-to-ssot-issue,reverse-engineering-analysis,claude-to-codex}/\n│   ├── SKILL.md\n│   └── references/\n├── .claude-plugin/{marketplace,plugin}.json      Claude Code\n├── .codex-plugin/plugin.json                     Codex\n├── .kimi-plugin/plugin.json                      Kimi CLI\n├── .hermes-plugin/{plugin.yaml,__init__.py}      Hermes Agent\n├── .opencode/plugins/spec-flow.js + INSTALL.md   OpenCode\n├── .agents/plugins/marketplace.json              Antigravity\n├── gemini-extension.json + GEMINI.md             Gemini CLI\n├── package.json\n├── CLAUDE.md · AGENTS.md -> CLAUDE.md\n└── LICENSE\n```\n\nOnly Claude Code understands a nested `plugins/<name>/skills/` layout. The other\nfive harnesses resolve manifests at the repo root and a skills tree at\n`./skills/`, so this repo keeps everything flat. See [`CLAUDE.md`](CLAUDE.md) for\nthe full rationale and contribution rules.\n\nThe `.kimi-plugin/` manifest is pre-provisioned: Kimi CLI is not installed on the\nmaintainer's machines yet, and shipping the manifest now costs nothing and saves\na migration later.\n\n## CI\n\n[`.github/workflows/validate.yml`](.github/workflows/validate.yml) calls the\nreusable workflow owned by\n[`dEitY719/harness-skills`](https://github.com/dEitY719/harness-skills/blob/main/.github/workflows/skill-check.yml)\n(dEitY719/dotfiles#1410 D-10) — manifest parsing, required files, skill frontmatter,\nprogressive-disclosure line limits, the Codex description budget, version\nagreement, shellcheck, and an emoji gate.\n\nThere are no checks defined in this repo. To change what is validated here, open\na PR against `harness-skills`; a merge to its `main` ships to all fifteen repos\nat once.\n\nThe emoji gate is passed two exact file paths that carry emoji as subject\nmatter — the ai-metrics footer template and the GitHub priority label names. See\n[`CLAUDE.md`](CLAUDE.md) -> \"Emojis\".\n\n## Provenance\n\nThese skills were extracted from\n[`dEitY719/dotfiles`](https://github.com/dEitY719/dotfiles)\n(`claude/skills/devx-{prd-to-trd,trd-to-issues,pr-to-ssot-issue,reverse-engineering-analysis,claude-to-codex}`)\nas a content snapshot — no history rewriting. The source commit SHA is recorded\nin this repo's first commit message. The `devx-` prefix is dropped here because\nthe plugin namespace (`spec-flow:`) now supplies it; the dotfiles originals stay\nput and keep working under their old namespace until dEitY719/dotfiles#1410 Phase 4 removes\nthem.\n\nThis is part of Phase 2 of the dotfiles #1410 migration (tracked as dEitY719/dotfiles#1657);\n`packaging-skills` was Phase 0 and `harness-skills` and `notes-skills` are\nits Phase 0/1 siblings.\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n",
  "bytes": 10360,
  "sha": "ea2ed3e5f3417fadd7ea8e9ccd33f3b010fba653b7e4a12e623afe301c08808f",
  "repo_slug": "deity719/spec-flow-skills",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_deity719_spec_flow_skills_9a6f1ba2/readme"
}