Skip to content

Headless Factory skills for the Architecture review - #238

Merged
JacobStephens2 merged 2 commits into
issue-27from
issue-229
Oct 1, 2026
Merged

JacobStephens2 merged 2 commits into
issue-27from
issue-229

Conversation

@JacobStephens2

Copy link
Copy Markdown
Owner

Summary

Four headless Factory skills for the Architecture review, copied from the interactive originals and embedded in the binary as thirdshift: plugin skills.

 skills/
 ├── code-review/
+├── codebase-design/                 # vocabulary; design-it-twice decides instead of presenting
+│   ├── SKILL.md
+│   ├── DEEPENING.md
+│   └── DESIGN-IT-TWICE.md
 ├── implement/
+├── improve-codebase-architecture/   # the Architecture review itself
+│   ├── SKILL.md
+│   └── REPORT.md                    # was HTML-REPORT.md: Markdown + Mermaid, in the issue
 ├── pr/
 ├── resolving-merge-conflicts/
 ├── tdd/
+├── to-spec/                         # publishes the Spec, `needs-triage`
+└── to-tickets/                      # publishes Tickets: sub-issues + "blocked by" links

What /thirdshift:improve-codebase-architecture tells the agent to do:

explore (focus from the Session prompt, else commit-history hot spots)
read the open issues
weigh candidates in the session; no report file, no browser
top recommendation =
  highest-ranked Strong candidate no open issue covers
    settle the design tree itself, each decision with its reason
    one session enough?  -> /thirdshift:to-tickets: one Ticket, needs-triage
    otherwise            -> /thirdshift:to-spec: Spec, needs-triage
                            /thirdshift:to-tickets: sub-issues, ready-for-agent, blocked-by links
  else highest-ranked candidate of all
    an open issue covers it -> file nothing
    otherwise               -> one needs-triage idea issue (report card + Mermaid before/after)
every other candidate is dropped
end with the final line the Session prompt asks for

Where each human step went:

Interactive Headless
HTML report, opened with xdg-open Markdown card with Mermaid before/after, in the issue
"Which of these would you like to explore?" Takes the top recommendation; plans it only when Strong
Grilling loop The agent walks the design tree and records each decision and its reason in the plan
to-spec checks seams with the user Decides the seams and records them under Testing Decisions
to-tickets quizzes the user Checks the breakdown itself
Edits CONTEXT.md / offers ADRs inline Recorded as a Ticket's work; nothing is committed, pushed or branched
Local .scratch/ ticket files Removed: GitHub issues only, with native links (what TICKETS_QUERY reads)

Strong is defined in the skill, since it gates unattended work: real friction in the code, passes the deletion test, the whole design can be settled without a human, and no ADR stands in the way (or the friction warrants reopening it).

The final-line format is not in the skills. The skill says to end with the line the Session prompt asks for, "defined there and nowhere else", so the format lives once, in the prompt module, next to the code that reads it (#230).

Also: skill_unit in the prompts page generator became skill_used_by, because the new skills belong to no press unit of a Run; the page was regenerated.

Evidence

  • Before: with the two tests extended to the new skills
    loads_every_factory_skill_as_the_thirdshift_plugin ... FAILED
      skill improve-codebase-architecture missing from the plugin
    
    After:
    cargo test --test fresh_run --test packaging
      test result: ok. 12 passed; 0 failed
      test result: ok. 3 passed; 0 failed
    cargo test                                   # every suite: 0 failed
    cargo clippy --all-targets -- -D warnings    # clean
    cargo fmt --check                            # clean
    git diff origin/issue-27...HEAD -- .claude .agents   # empty: the interactive skills are unchanged
    
  • Seams tested: the plugin a session is given (tests/fresh_run.rs), the crates.io package list (tests/packaging.rs) and the prompts page snapshot. The skills' wording isn't tested, as the Spec decided.
  • Not run: no real claude session has used these skills yet. Nothing invokes them until thirdshift architect --plan-only: the Architecture review publishes a plan and thirdshift marks it ready #230 adds the Session prompt.

Merge Danger

Door: two-way

Skill text, two test lists and a generated page. Reverting removes them.

Blast Radius: small

The plugin is loaded into every session, so Implement and Review sessions now see four more skills. Their descriptions say "Only for an Architecture review", and no existing Session prompt names them.

Unaddressed findings

Standards

Spec

Closes #229

🤖 Generated with Claude Code

JacobStephens2 and others added 2 commits October 1, 2026 02:17
Copies of improve-codebase-architecture, to-spec, to-tickets and
codebase-design, with every human step replaced: the report is Markdown
with Mermaid in the issue, the review takes the top recommendation and
settles its design itself, and nothing is written to the repository.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Say where a single Ticket's Decisions and Architecture review sections
go, make the no-candidate case consistent with the final-line step, and
stop the publishing skills contradicting the throwaway-prototype rule.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@JacobStephens2
JacobStephens2 merged commit 4271944 into issue-27 Oct 1, 2026
13 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-229 branch October 1, 2026 02:31
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