Add feature-dev workflow skill - #43
Merged
Merged
Conversation
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>
- 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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
git-commitskill 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./code-review high --fix, then re-runs the suite —--fixedits code outside red-green-refactor and could regress behavior no test covers yet.Merge/versioning note:
mainshipped thegit-commitskill 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