Skip to content

chore: replace the two feature-factory skills with one orchestrator skill - #446

Merged
nevridge merged 2 commits into
feature/pipeline-mergefrom
chore/438-feature-factory-skill
Nov 8, 2026
Merged

nevridge merged 2 commits into
feature/pipeline-mergefrom
chore/438-feature-factory-skill

Conversation

@nevridge

@nevridge nevridge commented Nov 8, 2026

Copy link
Copy Markdown
Owner

Closes #438. Sub-issue of #400. Lands on feature/pipeline-merge, not main.

Summary

Replaces the two feature-factory skills with one orchestrator skill at .claude/skills/feature-factory/SKILL.md (96 lines, no supporting files), written from pieces 3, 5, 6, 7 and 9 of the #400 decisions and the #438 scope.

  • Frontmatter: disable-model-invocation: true, a one-line description, argument-hint: "[issue-number]".
  • Stages 0 to 8 with the three stops, written once for stops 1 and 2. A groomed issue skips stop 1, and skips stop 2 only under the D3 rule.
  • Run folder under .feature-factory/, written by the orchestrator, with resume, cleanup and an orphan sweep.
  • One shared correction budget of 2, one respec budget of 1, a Halt state. FORMAT-ONLY does not spend budget and ENVIRONMENT FAILURE halts.
  • Must fix findings and probable bugs go to the area builder, with the test code, expected behavior and source. Should fix findings are listed in the PR body.
  • Advisors by Scope block; advisories.md goes to frontend-builder and assistant-builder only.
  • Implementation notes comment (<!-- implementation-notes -->, five sections), posted after stop 3 and before the PR. The PR targets main.
  • End-of-run prints for /pr-triage and /ux-test. The pipeline runs neither.
  • Deleted: the old root skill and assistant/.claude/ (it held only the old assistant skill).

Deviations from the plan

  1. Length. 96 lines against about 170. It is within the 200-line limit, so there is no references/ folder.
  2. Orphan sweep needs a branch. The first line of research.md is Branch: <name> so the sweep can read it without a state file. The folder is still named <issue-or-slug>.
  3. Stop 2 also stays open when the brief has a dependency proposal. The plan lists open questions and advisor conflicts; the owner decides proposals at that stop.
  4. Skip checking is in the skill's prompt to the validator, not in the agent file (chore: consolidate the feature-factory agents into seven in root .claude/agents #437 is merged and out of scope here).
  5. Commit messages and the PR body are described, not scripted, since the plan removes the git and gh recipes.

Not done here

  • AC 11 and 12: the end-to-end run on a throwaway issue (throwaway branch from feature/pipeline-merge, draft PR against main, closed after) and the check that CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS is unset in the shell. The result goes on chore: replace the two feature-factory skills with one orchestrator skill #438.
  • AC 9 grep for GH_TOKEN, gh auth, gh pr, gh issue, --body-file and the removed agent names: clean.
  • No tests: the change is skill markdown only.

@nevridge

nevridge commented Nov 8, 2026

Copy link
Copy Markdown
Owner Author

Review of PR #446 against #438, the #400 decisions (sections 3, 5 and piece 9) and the merged agents

The skill matches the plan and covers nearly everything. Two changes are needed before merge, then it is approved.

Checked and fine

  • Frontmatter and deletions: disable-model-invocation: true, a one-line description and argument-hint. The old root skill and assistant/.claude/ are deleted, so AC 4 holds.
  • Stage table, stops and failure handling: stages 0 to 8 with the stops written once for 1 and 2; the shared correction budget of 2, the respec budget of 1 and the Halt state; FORMAT-ONLY is free, ENVIRONMENT FAILURE halts, and a FAILED client regeneration halts.
  • Groomed issues: the > Groomed first line plus the three headings, the contradiction check that re-runs story-writer, and stop 3 never skipped.
  • Advisors and builders: ux-advisor on a UI change, claude-integration-advisor when assistant is listed, and advisories.md passed to frontend-builder and assistant-builder only.
  • Correction stage: Must fix findings and probable bugs go to the area builder with test code, expected behavior and source. Should fix findings are not reworked and go into the PR body.
  • Finish: the notes are drafted from the run files only, shown at stop 3, posted with the <!-- implementation-notes --> marker (updated in place) and then the PR against main, the run folder is deleted, and the /pr-triage and /ux-test prints follow. With no issue number, the notes go at the end of the PR body.
  • No recipes: a grep found no GH_TOKEN, gh auth, gh commands, --body-file, attribution lines, removed agent names, ux_deviations or ux-checklist. The blocked-by link is named by its API path, as decided.
  • Agent markers: every marker the skill relies on exists in the merged agent files.

Changes needed before merge

  1. The stale-source warning disappears when stop 2 is skipped. The SOURCE LIST NEEDS UPDATE line is shown "at this stop", but stop 2 is skipped for a groomed issue with no open questions, no advisor conflicts and no dependency proposal. Add "no SOURCE LIST NEEDS UPDATE line" to the conditions for skipping stop 2, so AC 8 holds.
  2. assistant/README.md (lines 111 to 115) now contradicts the skill. Update that paragraph in this PR:
    • It says to "ask it to build a feature". The skill starts only with /feature-factory <issue-number>.
    • It says to use a feature/ or bugfix/ branch. Any branch except main is accepted.
    • It describes an old text-based check for blockers in another repo. The skill uses GitHub's native blocked-by links and stops on any open blocker.

Accepted

  • PR deviations 1 to 5: the 96-line length, the Branch: <name> first line in research.md for the orphan sweep, an open dependency proposal keeping stop 2 open, the skip check living in the validator prompt, and commit and PR text being described and not scripted.

Notes, no change needed in this PR

@nevridge

nevridge commented Nov 8, 2026

Copy link
Copy Markdown
Owner Author

Re-check of b53a488: both requested changes verified

  1. Stale-source warning: the stop 2 skip condition now reads "no open questions, no advisor conflicts, no dependency proposal and no SOURCE LIST NEEDS UPDATE line", and the line is still shown at that stop, so AC 8 holds.
  2. assistant/README.md: the paragraph now says to run /feature-factory <issue-number> (the skill starts only that way), that on main it creates a branch and any other branch is used as is, and that an open blocker (GitHub's blocked-by links) stops the run until "proceed anyway".

The commit changes only those two files, and the skill is still 96 lines. The grep for GH_TOKEN, gh auth, gh pr, gh issue, --body-file, attribution and removed agent names is still clean.

Approved against #438 and the #400 decisions. Merge into feature/pipeline-merge (not main) once the required checks (build, test, lint) are green.

Still open on #438 after the merge: AC 11 and 12, the end-to-end run on a throwaway branch and issue, with no agent-teams flag set.

@nevridge
nevridge merged commit d555128 into feature/pipeline-merge Nov 8, 2026
12 checks passed
@nevridge
nevridge deleted the chore/438-feature-factory-skill branch November 8, 2026 00:17
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