Skip to content

Add feature-dev workflow skill - #43

Merged
stevepolitodesign merged 10 commits into
mainfrom
sp-feature-dev-workflow
Jul 17, 2026
Merged

Add feature-dev workflow skill#43
stevepolitodesign merged 10 commits into
mainfrom
sp-feature-dev-workflow

Conversation

@stevepolitodesign

@stevepolitodesign stevepolitodesign commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Chains slice → TDD → code-review → git-commit so one feature slice goes from idea to reviewed, committed code in a single guided pass. The value is the sequence: you don't build until the slice is sharp, it isn't done until the diff is reviewed, and it isn't landed until the suite is green. See #41.

Non-obvious choices:

  • Scoped to ONE slice by design; building a whole epic in a pass defeats the tight shape→build→review loop, so it detects epics and stops.
  • A small slice doesn't guarantee a small diff, so the workflow carries a ~300-line production-code budget (tests excluded) from the moment the slice is shaped. Phase 4 measures the diff before review and, when it's over, forces a written call — simplify, justify the essential complexity, or re-slice. It's advisory, not a gate: the point is you never drift past the line without noticing.
  • Closes by chaining the git-commit skill as a final phase. Because a slice is one coherent change, git-commit is told to expect a single commit and to leave pushing and the PR to the user.
  • Review delegates to the built-in /code-review high --fix, then re-runs the suite — --fix edits code outside red-green-refactor and could regress behavior no test covers yet.
  • Exploration uses plain general-purpose subagents, not feature-dev's named agents, so the skill stays self-contained within this plugin.

Merge/versioning note: main shipped the git-commit skill as 1.2.0 (#44) while this branch had also claimed 1.2.0, so the merge resolves the collision by rolling feature-dev forward to 1.3.0 across NEWS.md, plugin.json, and marketplace.json.

🤖 Generated with Claude Code

stevepolitodesign and others added 4 commits July 16, 2026 16:00
Chains slice -> TDD -> code-review so one feature slice goes from idea to
reviewed code in a single guided pass. The value is the sequence: you don't
build until the slice is sharp, and it isn't done until the diff is reviewed.
See #41.

Non-obvious choices:
- Scoped to ONE slice by design; building a whole epic in a pass defeats the
  tight shape->build->review loop, so it detects epics and stops.
- Review delegates to the built-in `/code-review high --fix`, then re-runs the
  suite -- `--fix` edits code outside red-green-refactor and could regress
  behavior no test covers yet.
- Exploration uses plain general-purpose subagents, not feature-dev's named
  agents, so the skill stays self-contained within this plugin.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Surface the new /feature-dev workflow in the README (commands + the feature
development workflow now points at it), and record it in NEWS. Bump to 1.2.0
per CONTRIBUTING: a new skill is a MINOR change, and marketplace.json carries
the version in two places that must stay in sync. See #41.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Match the repo convention — no other skill tracks its evals/, and the skill
packager excludes that directory as a dev artifact, not part of the skill.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Comment thread skills/feature-dev/SKILL.md Outdated
Comment thread skills/feature-dev/SKILL.md Outdated
stevepolitodesign and others added 6 commits July 17, 2026 06:14
- Re-run the suite with the app's own test command (discovered in Phase 2)
  instead of hardcoding `bundle exec rspec` — Minitest is the Rails default.
- Neutralize RSpec-specific spec terminology in Phases 2 and 4 to test-layer
  language that fits either framework.
- Remove the `--comment` parenthetical: it posts inline comments on a PR, a
  different action than surfacing findings, and no PR need exist at this stage.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Match the SKILL.md pass: describe tests by layer (system, request/controller,
model/unit) rather than RSpec `*_spec` vocabulary, so the exploration brief
fits Minitest apps too.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
origin/main shipped the git-commit skill as 1.2.0 (#44); this branch had
also claimed 1.2.0 for the not-yet-merged feature-dev skill. Keep
git-commit at 1.2.0 and roll feature-dev forward to 1.3.0 in NEWS.md,
plugin.json, and marketplace.json so both changelog entries stand.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The merge that brought in git-commit (#44) added the skill itself but
not its entry in the skills listing. Add a Version Control section for
/git-commit and slot it into the manual feature-development steps, so
someone browsing the README can find it alongside the other skills.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Two changes to the feature-dev workflow that keep its output small and
finished.

First, a leanness discipline. Slicing already keeps the feature small,
but a small feature can still land as a sprawling diff — speculative
abstractions, unused options, defensive branches no test asked for. So
the workflow now carries a ~300-line production-code budget (tests
don't count) from the moment the slice is shaped: Phase 4 measures the
diff before review and, when it runs over, forces a written call —
simplify it, justify the essential complexity, or admit the slice was
too big and re-slice. It's advisory, not a gate; the point is that you
never drift past the line without noticing.

Second, the workflow now ends by committing. With the git-commit skill
available, feature-dev chains into it as a final phase, so a slice goes
all the way from idea to a clean, reviewed commit in one pass. Because a
slice is one coherent change, git-commit is told to expect a single
commit and to leave pushing and the PR to the user.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The Prettier CI check runs `prettier --check "**/*.md"` and flagged the
file for using `*emphasis*` where Prettier's default is `_emphasis_`.
Purely stylistic — no content change — but it's what unblocks the check.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@stevepolitodesign
stevepolitodesign merged commit d180731 into main Jul 17, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant