{"id":50411527,"url":"https://github.com/sourcehawk/feature-dev-workflow","last_synced_at":"2026-05-31T04:00:45.697Z","repository":{"id":361186962,"uuid":"1253431151","full_name":"sourcehawk/feature-dev-workflow","owner":"sourcehawk","description":"Stop one-shotting features. A Claude Code plugin that makes AI feature development visible and reviewable, from spec to shipped PRs.","archived":false,"fork":false,"pushed_at":"2026-05-29T14:14:10.000Z","size":68,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-29T15:14:29.266Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sourcehawk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-29T13:03:48.000Z","updated_at":"2026-05-29T14:14:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/sourcehawk/feature-dev-workflow","commit_stats":null,"previous_names":["sourcehawk/feature-dev-workflow"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/sourcehawk/feature-dev-workflow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcehawk%2Ffeature-dev-workflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcehawk%2Ffeature-dev-workflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcehawk%2Ffeature-dev-workflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcehawk%2Ffeature-dev-workflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sourcehawk","download_url":"https://codeload.github.com/sourcehawk/feature-dev-workflow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcehawk%2Ffeature-dev-workflow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33718446,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-31T04:00:45.118Z","updated_at":"2026-05-31T04:00:45.686Z","avatar_url":"https://github.com/sourcehawk.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# feature-dev-workflow\n\nA Claude Code plugin that turns feature development into a visible, reviewable process. It packages an end-to-end workflow as a set of composable skills that an agent follows from a feature's conception through to merge.\n\nYou invoke one skill at feature conception (`feature-dev-workflow:planning-a-feature`), and the `REQUIRED SUB-SKILL` markers inside each skill body walk the agent to the next step. The [How it works](#how-it-works) diagram below shows the full flow.\n\n## Why this exists\n\nReal-world software development has a shape. You plan a feature, then break it into smaller tasks so the work stays coherent and each piece is reviewable in a small batch. That discipline is what keeps a codebase legible: every change has an intent, a reviewer, and a trail back to the decision that motivated it.\n\nAI lets you skip all of that. You can hand a model the whole feature and have it one-shot the implementation in a single sweep. It looks like the fast path, but you lose the visibility and the review discipline, and you are left with one opaque diff that has no plan behind it and nothing a reviewer can follow. Reviewability is the missing link in AI-driven development: teams have long treated review as a discipline, but one-shotting discards it exactly when the volume of machine-written code makes it matter most. It is not even the fast path: a single sweep is serial, so the whole feature waits on one long session.\n\nThis plugin keeps the engineering discipline while still using the agent to move fast. It makes agent-driven development follow the same standard a senior team already uses:\n\n- **Design before code.** A brainstorm produces a spec, plus an ADR when the decision is cross-cutting, that a human approves before any implementation starts.\n- **Work is tracked.** Every change maps to a GitHub issue, or an epic with sub-issues, so the plan is visible to the whole team and not just the agent.\n- **Changes ship in reviewable batches.** A single self-contained change is one PR. A larger feature becomes a set of PRs on a feature branch, each independently reviewable.\n- **Quality gates are explicit.** Tests come first, verification runs before anything is called done, and a human reviews the integration before it merges.\n\nThe result is agent speed without the output becoming a black box: legible artifacts (specs, issues, plans, PRs), incremental review, and a clear audit trail.\n\nIt is also the faster path. Breaking the feature into independent PRs lets the multi-PR flow fan the work out across parallel subagents, each in its own worktree, so independent pieces are built concurrently rather than waiting in one serial sweep. That wins on wall-clock time and on tokens, because each subagent holds only its own slice of context instead of the whole feature at once.\n\n## Skills\n\n| Skill | Use when |\n| --- | --- |\n| `planning-a-feature` | At feature conception, before any code, issue, or plan. Sequences brainstorm, spec, issues, and plan. |\n| `writing-github-issues` | About to `gh issue create`/`edit`, or right after a brainstorm that needs an issue. Templates for bug, feature, and epic. |\n| `developing-a-feature` | Starting implementation against a committed plan. Routes single-PR vs multi-PR. |\n| `fanning-out-with-worktrees` | An orchestrator dispatching parallel subagents into per-PR worktrees off a feature branch. |\n| `reviewing-feature-progress` | Orchestration checkpoints: between fan-out waves, and before the integration PR. |\n| `testing-a-feature` | Writing tests for any non-trivial change. Decides the assertion shape (black-box against the contract). |\n| `testing-end-to-end` | A structurally-complete feature introduces a new user- or consumer-visible flow. Decides which flows earn an end-to-end test and what each asserts (golden path, not edge cases). |\n| `writing-docs` | A structurally-complete feature changed public-facing docs (README, usage guide, tutorial, API/reference). Writes them to an OSS-grade bar and verifies a reader can use them via a fresh-reader test; defers docstrings, release notes, and specs to their owning skills. |\n| `opening-a-pull-request` | About to `gh pr create`/`edit`. Draft and ready body templates, issue-linking keywords. |\n| `maintaining-architectural-coherence` | Work split across PRs/agents/waves must read as one author. Invoked when agreeing conventions before parallel work, and when reviewing the merged union for structural, interface, naming, and vocabulary drift. |\n| `drafting-a-release` | Standalone (not part of the feature flow). About to cut a release: drafts curated release notes that explain the why, proposes the version, and gates `gh release create` on the user. |\n\n## How it works\n\nThe flow forks once, on whether the work ships as **one PR** or **many**, and rejoins at the merge. A single PR runs straight through. A multi-PR feature opens a long-lived feature branch and fans the sub-PRs out across isolated worktrees, one wave at a time, with an alignment checkpoint between waves.\n\n```mermaid\nflowchart TD\n    Start([Feature idea]) --\u003e BS[Brainstorm\u003cbr/\u003eintent · scope · design choices]\n    BS --\u003e Spec[Write the spec\u003cbr/\u003e+ an ADR if the decision is cross-cutting]\n    Spec --\u003e Approve{User approves\u003cbr/\u003ethe spec?}\n    Approve --\u003e|revise| BS\n    Approve --\u003e|yes| Shape{One PR\u003cbr/\u003eor many?}\n\n    Shape --\u003e|single PR| IssueOne[File one issue\u003cbr/\u003efeature or bug]\n    IssueOne --\u003e PlanS[Write the plan\u003cbr/\u003eordered tasks · dependencies]\n    PlanS --\u003e Build[Implement directly\u003cbr/\u003etest-first · one commit per task]\n    Build --\u003e VerifyS[Verify green\u003cbr/\u003etests · lint · typecheck]\n    VerifyS --\u003e PR1[Open PR → main\u003cbr/\u003eFixes / Closes the issue]\n\n    Shape --\u003e|many PRs| Epic[File an epic\u003cbr/\u003e+ one sub-issue per PR, linked]\n    Epic --\u003e PlanM[Write the plan\u003cbr/\u003e+ contracts between parallel PRs]\n    PlanM --\u003e Branch[Open the feature branch\u003cbr/\u003e+ a worktree to orchestrate from]\n    Branch --\u003e Wave[Fan out a wave\u003cbr/\u003eone worktree + subagent per sub-PR]\n    Wave --\u003e Merge[Orchestrator reviews each sub-PR,\u003cbr/\u003emerges it, closes its sub-issue]\n    Merge --\u003e Done{All sub-PRs\u003cbr/\u003emerged?}\n    Done --\u003e|next wave| Wave\n    Done --\u003e|yes| VerifyM[Verify the integrated branch\u003cbr/\u003egreen end to end]\n    VerifyM --\u003e PR2[Open the integration PR\u003cbr/\u003efeature → main · Closes the epic]\n\n    PR1 --\u003e Ship([External review → merge\u003cbr/\u003eplan + state torn down in the same diff])\n    PR2 --\u003e Ship\n```\n\nYou invoke `feature-dev-workflow:planning-a-feature` at conception. It, and the `REQUIRED SUB-SKILL` markers inside each skill body, walk the agent through the rest. The [`templates/project-CLAUDE.md`](templates/project-CLAUDE.md) paste-in maps each part of the flow to the skill that owns it.\n\n## Prerequisites\n\nThis plugin depends on the [superpowers](https://github.com/obra/superpowers) plugin and references its skills directly: `superpowers:brainstorming`, `superpowers:writing-plans`, `superpowers:test-driven-development`, `superpowers:verification-before-completion`, and `superpowers:dispatching-parallel-agents`. It also uses superpowers' `docs/superpowers/{specs,plans}/` path convention, adding a sibling `docs/superpowers/states/` directory for orchestration state files. Install superpowers first.\n\nThe skills also assume the [`gh`](https://cli.github.com/) CLI is installed and authenticated.\n\n## Install\n\nThis repo is both a plugin and its own single-plugin marketplace:\n\n```\n/plugin marketplace add sourcehawk/feature-dev-workflow\n/plugin install feature-dev-workflow@feature-dev-workflow\n```\n\nA local path also works for development: `/plugin marketplace add /path/to/feature-dev-workflow`.\n\nNo further setup is required; the skills derive your repo and build commands from context. Optionally, paste [`templates/project-CLAUDE.md`](templates/project-CLAUDE.md) into your project's `CLAUDE.md` to give every session the workflow overview and the operational rules (commit conventions, safe git staging, GitHub-mutation confirmation).\n\n## Notes\n\n- Intra-plugin skill references are namespaced as `feature-dev-workflow:\u003cname\u003e`.\n- Skill bodies reference their own templates via `${CLAUDE_PLUGIN_ROOT}` so paths resolve after the plugin is copied into the install cache.\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsourcehawk%2Ffeature-dev-workflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsourcehawk%2Ffeature-dev-workflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsourcehawk%2Ffeature-dev-workflow/lists"}