Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
c8a14dd
Add headless Factory skills for the Architecture review
JacobStephens2 Oct 1, 2026
763b8c6
Add thirdshift architect --plan-only: the Architecture review publish…
JacobStephens2 Oct 1, 2026
2d70e5f
Address review: glossary term, single-Ticket sections, skill_used_by
JacobStephens2 Oct 1, 2026
2d422d4
Address review: one home for the triage labels, clearer names
JacobStephens2 Oct 1, 2026
4271944
Merge pull request #238 from JacobStephens2/issue-229
JacobStephens2 Oct 1, 2026
9aac5e5
Merge remote-tracking branch 'origin/issue-27' into issue-230
JacobStephens2 Oct 1, 2026
aac5cec
Merge pull request #240 from JacobStephens2/issue-230
JacobStephens2 Oct 1, 2026
7beb389
End an Architect run with no Strong candidate on the idea issue or th…
JacobStephens2 Oct 1, 2026
0d95f8c
Architect run dispatches its plan as a Spec run or a Run
JacobStephens2 Oct 1, 2026
8287857
Address review: the glossary's top recommendation, the issue kept in …
JacobStephens2 Oct 1, 2026
33d1dad
Address review: Parallel::new, run_outcome, help on notifications, Sp…
JacobStephens2 Oct 1, 2026
d82ed66
Merge pull request #243 from JacobStephens2/issue-231
JacobStephens2 Oct 1, 2026
40d8463
Merge remote-tracking branch 'origin/issue-27' into issue-232
JacobStephens2 Oct 1, 2026
f4ba2e0
Merge pull request #244 from JacobStephens2/issue-232
JacobStephens2 Oct 1, 2026
72bb6dd
One Run notification per Architect run
JacobStephens2 Oct 1, 2026
cc4d36b
Address review: the review's outcome on architect::Outcome, one way t…
JacobStephens2 Oct 1, 2026
1c6b990
Merge pull request #245 from JacobStephens2/issue-233
JacobStephens2 Oct 1, 2026
85c7939
Merge origin/main into issue-234: the Base fix (#221), which the Arch…
JacobStephens2 Oct 1, 2026
f12e473
Pass Base fix through an Architect run to its dispatched run
JacobStephens2 Oct 1, 2026
f2ac7a1
Address review: an ended run carries its Base fix, one way to run it …
JacobStephens2 Oct 1, 2026
5bfb19d
Merge pull request #251 from JacobStephens2/issue-234
JacobStephens2 Oct 1, 2026
fded284
Address Spec review: one reader for the flags a Run and an Architect …
JacobStephens2 Oct 1, 2026
ca4fd61
Merge remote-tracking branch 'origin/main' into issue-27
JacobStephens2 Oct 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CONTEXT.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ A **Run** asked to end with its pull request merged rather than left for review,
_Avoid_: auto-merge (GitHub's own feature, which thirdshift does not use)

**Run notification**:
A message thirdshift sends when a **Run** or a **Spec run** ends, whatever its outcome (ready, merged, failed or interrupted), to the address given with the email flag or the default in the **User config**. A Run or Spec run sends one only when asked to, by the flag or by the User config; a Spec run's notification lists each **Ticket**'s outcome, and a Ticket's **Run** never sends one of its own. Failing to send one never changes the outcome.
A message thirdshift sends when a **Run**, a **Spec run** or an **Architect run** ends, whatever its outcome (ready, merged, failed or interrupted; for an Architect run that dispatched nothing, plan published, idea filed, idea already filed or review failed), to the address given with the email flag or the default in the **User config**. Each sends one only when asked to, by the flag or by the User config; a Spec run's notification lists each **Ticket**'s outcome, and a Ticket's **Run** never sends one of its own. An Architect run's notification tells how its **Architecture review** ended, naming the plan or idea issue, and how the Spec run or Run it dispatched ended, which sends none of its own. Failing to send one never changes the outcome.
_Avoid_: completion email, alert

**User config**:
Expand Down
65 changes: 62 additions & 3 deletions README.md

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions prompts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ claude -p --permission-mode auto --plugin-dir <plugin dir> --output-format strea
| Continuation, with no pull request | Starts the implement session when the Run is a Continuation of an Issue branch that has no pull request. | [continuation.md](continuation.md) |
| Continuation, with an open pull request | Starts the implement session when the Run is a Continuation of an Issue branch whose pull request is open. | [continuation-pr.md](continuation-pr.md) |
| Spec review | In a Spec run, starts the Spec review once every Ticket has landed on the Spec branch, before the Spec PR, a draft until then, is marked ready. | [spec-review.md](spec-review.md) |
| Architecture review | Starts the Architecture review, the session an Architect run opens with, in a worktree at the head of the Base branch. The line naming the focus is left out when the command gives none. | [architecture-review.md](architecture-review.md) |
| Conflict Repair | Starts a Repair session when merging the Base branch into the Issue branch leaves conflicts. | [conflict-repair.md](conflict-repair.md) |
| Conflict Repair, on Foreign commits | In a Merge run, starts a Repair session when merging Foreign commits from the Issue branch on origin into the local one leaves conflicts. | [foreign-conflict-repair.md](foreign-conflict-repair.md) |
| Review Repair | In a Merge run, starts a Repair session once Foreign commits are merged into the Issue branch, to review them from the head the Run last knew as its own before they can be merged. | [review-repair.md](review-repair.md) |
Expand Down
28 changes: 28 additions & 0 deletions prompts/architecture-review.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<!-- Generated by src/prompts_page.rs from the prompts in src/prompt.rs and their titles and when sentences in src/prompts_page.rs; don't edit. Regenerate with UPDATE_PROMPTS=1 cargo test prompts_page -->

# Architecture review

Starts the Architecture review, the session an Architect run opens with, in a worktree at the head of the Base branch. The line naming the focus is left out when the command gives none.

```
/thirdshift:improve-codebase-architecture

This is an Architecture review of the base branch <base>: this worktree is checked out at its head on origin, on no branch.

Focus the review on: <focus>

Find the deepening opportunities with /thirdshift:improve-codebase-architecture, using /thirdshift:codebase-design for the vocabulary. Skip any that an open issue already covers, and take the top recommendation.

If it is Strong, settle its design yourself and publish it as the plan with /thirdshift:to-spec and /thirdshift:to-tickets: a Spec with Tickets, or a single Ticket when one session is enough. Label the plan's top issue, the Spec or the single Ticket, `needs-triage`, not `ready-for-agent`: thirdshift marks it ready once you are done.

If it is not Strong, file it as one issue labelled `needs-triage`, unless an open issue already covers it.

Do not commit or push anything. You may edit files here to check an idea: the worktree is thrown away when you finish. A change the plan needs to CONTEXT.md or an ADR is a Ticket's work, not yours.

End your final message with one of these lines, as its last line, with the issue's full URL and nothing else on the line:
Architecture review plan: <URL of the Spec or the single Ticket you published>
Architecture review idea: <URL of the issue you filed>
Architecture review already filed: <URL of the open issue that already covers it>

You run headless: nobody is watching, and ending your turn ends the session. Run tests and other long commands in the foreground, raising the Bash timeout if needed. If a command is moved to the background, wait for that task by its own task id or output file, never by process names or patterns (`pgrep`, `ps | grep`, and the like): other sessions on this machine run the same commands. Never end your turn while a background task you depend on is still running: ending the turn kills it.
```
Loading
Loading