尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证LRIL SDLC Archon Workflows: Matt Pocock's skills as gated, resumable Archon workflows
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
An Archon workflow pack that runs Matt Pocock's skills (the mattpocock/skills engineering flow) as governed, resumable, gated workflows.查看完整 README ↗An Archon workflow pack that runs Matt Pocock's skills (the mattpocock/skills engineering flow) as governed, resumable, gated workflows.
Matt's skills fix the four failure modes of agentic coding: misalignment (the agent didn't do what you wanted), verbosity (no shared language), code that doesn't work (no feedback loops), and a ball of mud (no care for design). This pack keeps his methodology intact and adds what a workflow engine is good at. Every step that can be checked by code is checked by code. Every public write is performed by a script and read back. Every interview happens at an interactive gate, so you answer it on your own time, and a run can stop and resume.
archon plugin install seanrobertwright/lril-sdlc-archon
archon workflow run seanrobertwright/lril-sdlc:setup --no-worktree
archon workflow run seanrobertwright/lril-sdlc:idea-to-tickets --branch feat/saved-cards "Let customers save a card at checkout"
The pack follows the flow map in Matt's /ask-matt: one main flow from idea to ship, on-ramps that merge onto it, and upkeep that runs beside it.
flowchart LR
setup([setup]) --> idea
subgraph main [Main flow]
idea[idea-to-tickets<br/>grill-with-docs, to-spec, to-tickets] --> spec[implement-spec<br/>tdd per ticket, code-review, pr]
idea --> one[implement<br/>one ticket]
spec --> retro[retro]
one --> retro
end
triage[triage<br/>raw issues] -- ready-for-agent --> one
diagnose[diagnose<br/>hard bugs] --> retro
diagnose -. no correct seam .-> arch
fog[wayfinder-chart, wayfinder-step<br/>huge foggy efforts] -- map clear --> idea
arch[architecture<br/>deepening survey] -- pick a candidate --> idea
| Workflow | Matt's skills | Mode | What it leaves behind |
|---|---|---|---|
setup | /setup-matt-pocock-skills | AFK, no AI | docs/agents/*.md, an ## Agent skills block, GitHub labels |
idea-to-tickets | /grill-with-docs (grilling, domain-modeling), /to-spec, /to-tickets, prototype, research, codebase-design | Interactive | A spec and tracer-bullet tickets on your tracker; GLOSSARY.md and ADRs committed |
implement | /implement (tdd, codebase-design, code-review, pr) | AFK | One ticket built test-first, gated, reviewed on two axes, verified once, committed (optional PR) |
implement-spec | /implement-spec (tdd, codebase-design, code-review, pr) | AFK | A whole spec on one integration branch, every ticket gated, one review, verified once, one PR |
code-review | code-review | AFK, read-only | code-review.md: Standards and Spec, side by side |
triage | /triage (grilling, domain-modeling) | Interactive | Labels, an agent brief or triage notes, .out-of-scope/ records; glossary and ADR edits committed |
diagnose | diagnosing-bugs (tdd, codebase-design) | AFK | A proven red→green feedback loop, a regression test, the root cause in the commit |
architecture | /improve-codebase-architecture (codebase-design, domain-modeling) | AFK, read-only | A visual HTML report of deepening opportunities |
retro | /retro () |
Matt splits his skills on one axis. User-invoked skills (/grill-with-docs, /to-spec, /implement, …) orchestrate. Model-invoked skills (grilling, tdd, code-review, codebase-design, …) hold the reusable discipline. In this pack, each workflow is the orchestrator: its DAG encodes the user-invoked skill's process, step by step, with its gates. Each AI node loads the model-invoked skills it needs from the mattpocock-skills Claude plugin, through Archon's per-node skills: selection. A node never sees a skill it doesn't use.
Matt's context-hygiene rules carry over:
idea-to-tickets runs grilling, spec and tickets in one unbroken session, so the spec and tickets build on the interview itself rather than a summary of it. The verbatim transcript is also kept on disk.implement-spec gives every ticket a fresh context: the ticket is self-contained, so the last one's context is disposable.diagnose resumes the feedback-loop session for the fix, because the fix needs that context verbatim.Matt's skills say what "done" means. The pack checks it with code wherever it can:
| Gate | Where | What a script proves |
|---|---|---|
| Tracker configured | every tracker-aware workflow | docs/agents/issue-tracker.md exists and names GitHub or local markdown |
| Plugin version | setup | mattpocock-skills is installed, enabled, and at v1.3 or later |
| Shape is publishable | idea-to-tickets | the spec has every /to-spec section; tickets have acceptance criteria, real blockers, and no cycles. The interview loop can't end until this passes. |
| Green | implement, implement-spec (per ticket) | the implementer declared green and named its type-check, lint and test commands; the work is committed; nothing is left dirty. This gate runs no checks for a green implementer: it records the commands for Verified. An implementer that met every acceptance criterion but did not report green (a check that failed only in its own sandbox, or was still running when it reported) has its declared commands run here instead, and passes only if every one of them does. |
| Verified | implement, implement-spec (once, on the final tree) | the recorded check commands are re-run here, once, after the review fixes and the merge with the base, and pass. The review fixer and the merge resolver run only the type-check and the tests covering what they touched; this re-run decides, not their own report. A command that fails is run once more. One that passes then counts as passed but is marked flaky in the check record, the outcome and the PR body. Files a check command rewrites (a build that regenerates committed output) are stashed and named in the record and the PR body, not a failure. A gate that fails on its checks ends with the archon workflow resume command that reruns it. |
| Up to date with the base | implement, implement-spec (before the PR) | the branch merges the base branch (origin/<base>, fetched just now) before the PR is written, so the PR opens against the base it will land on. A base that origin doesn't have falls back to origin's default branch, and the PR targets that. A conflicted merge goes to one fresh resolver, which commits the merge or aborts it. Verified runs after either. The PR body's diff is taken against that base. It merges and never rebases, because the branch may already be pushed. |
| Red-capable loop | diagnose |
The pack never hardcodes a toolchain. Implementers discover the project's own type-check, lint and test commands and report them, and the Verified gate re-runs exactly those.
archon doctor).mattpocock-skills plugin at v1.3 or later, installed from Matt's own marketplace. The claude-plugins-official listing is older than v1.3, and the pack names the plugin by its id, mattpocock-skills@mattpocock:
claude plugin marketplace add mattpocock/skills
claude plugin install mattpocock-skills@mattpocock # or: claude plugin update mattpocock-skills@mattpocock
PATH. The deterministic nodes are TypeScript on Bun, with no npm dependencies.gh, authenticated, in a clone with a GitHub origin.archon plugin install seanrobertwright/lril-sdlc-archon # default branch
archon plugin install seanrobertwright/[email protected] # a tagged version
Entrypoints run as seanrobertwright/lril-sdlc:<entrypoint>, for example seanrobertwright/lril-sdlc:implement. To customise the prompts for one project, copy the pack into it with archon plugin copy seanrobertwright/lril-sdlc-archon. The copies then run by their YAML names (lril-implement, …).
archon workflow run seanrobertwright/lril-sdlc:setup --no-worktree
It picks GitHub when origin is on github.com, otherwise local markdown under .scratch/. Override with --input tracker=local. It writes Matt's own seed templates, so his skills work in the same repo outside Archon too. A code fence in them with no language is written as text, and a new CLAUDE.md or AGENTS.md opens with a top-level heading, so a repo that runs markdownlint on commit accepts setup's commit. Existing docs/agents files are kept (--input overwrite=true replaces them).
archon workflow run seanrobertwright/lril-sdlc:idea-to-tickets --branch feat/saved-cards "Let customers save a card at checkout"
Interactive workflows pause at a gate after every round. Read the round (the gate shows an excerpt; the full text is in the run's artifacts under shape/current-round.md) and answer it:
archon workflow approve <run-id> "Q1 yes. Q2: only signed-in Customers. Q3 yes"
"yes" accepts the recommended answer. When a round presents the final draft, approve with no comment to publish it exactly as shown, or with a comment to revise it. The gate's status line still reads "No completion condition met" at that point: the run completes on your bare approval. archon workflow get <run-id> --json shows where a run stands. The web console (archon serve) has the same gate controls.
# the whole spec, ticket by ticket, on the same branch
archon workflow run seanrobertwright/lril-sdlc:implement-spec --branch feat/saved-cards --input spec=#40 --detach
# or one ticket
archon workflow run seanrobertwright/lril-sdlc:implement --branch feat/saved-cards-03 --input ticket=#43 --input pr=true --detach
With the local tracker, pass paths instead: --input spec=.scratch/saved-cards/spec.md, --input ticket=.scratch/saved-cards/issues/03-saved-cards.md.
archon workflow run seanrobertwright/lril-sdlc:retro --input run=<run-id> --detach
archon workflow run seanrobertwright/lril-sdlc:triage # what needs my attention?
archon workflow run seanrobertwright/lril-sdlc:triage --input target=#42 # triage one issue with me
archon workflow run seanrobertwright/lril-sdlc:diagnose --branch fix/double-charge "Checkout charges the card twice when the gateway times out" --detach
archon workflow run seanrobertwright/lril-sdlc:architecture --detach
archon workflow run seanrobertwright/lril-sdlc:code-review --input base=main --detach
archon workflow run seanrobertwright/lril-sdlc:wayfinder-chart "Rewrite billing on an event-sourced ledger"
archon workflow run seanrobertwright/lril-sdlc:wayfinder-step --input map=#12
implement-spec builds the frontier serially, one fresh-context implementer per ticket on the integration branch, rather than as parallel subagents in separate worktrees. Each ticket passes a deterministic gate before the next one starts, and a failed run resumes at the open ticket. Parallel waves are a planned evolution./tdd asks you to confirm seams. Here they're agreed during idea-to-tickets (the /to-spec seam round) and read from the spec's Testing Decisions. A seam an implementer had to choose itself is reported as unconfirmed for the reviewer./prototype session on its own branch.research/<name> branch.setup is deterministic. It applies Matt's recommended defaults instead of interviewing you; run /setup-matt-pocock-skills in Claude Code if you want the interview, or a tracker other than GitHub or local markdown.plugins: [mattpocock-skills@mattpocock]. Archon v0.11.1 loads all installed Claude plugins and warns that plugins is an unknown key. From the next Archon release, nodes load only the plugins they name, and this declaration is what keeps the skills available.mattpocock-skills:tdd) aren't on disk. That's expected: Claude resolves plugin skills itself.with: { reply: "$LOOP_USER_INPUT" }, and the command reads $INPUTS.reply. Archon v0.11.1 substitutes $LOOP_USER_INPUT into a loop_group body node's YAML fields, but not into the command file the node loads, so reading it there directly always gives an empty reply (coleam00/Archon#3954). Drop the binding once that is fixed.loop_group in Archon v0.11.1 pauses after its first iteration even when until_bash passes. On every later iteration, a passing until_bash ends the loop at once, with no gate. So each session's until_bash runs its validator with --gate. That passes only when the reply that opened the iteration is a bare approve (Archon records it as Approved) and the draft is unchanged since the last gate showed it.loop_group with interactive: true, which Archon marks deprecated in favour of a future gate composition. It's the supported mechanism today.cd tools && bun install && cd ..
tools/dev.sh # validate every lril workflow, typecheck, unit + integration tests, all dry-run fixtures
tools/dev.sh test lril-implement
Archon discovers fixtures only under a project's .archon/workflows/, so tools/dev.sh mirrors the pack into a gitignored .archon/workflows/lril-sdlc/ first. tools/tests/local-flow.test.ts drives the real scripts end to end against a throwaway repo on the local tracker.
Each workflow lives in its own folder: <name>.yaml, commands/*.md (prompts), scripts/*.ts (deterministic nodes), bin/*.ts (validators bundled into a run for until_bash), and fixtures/*.stubs.yaml. Logic shared by several scripts lives in .shared/.
The methodology, the process each workflow encodes, and the templates in setup/templates/ come from Matt Pocock's skills (MIT, © 2026 Matt Pocock). See NOTICE.md. The skills themselves are loaded from his plugin at run time, not copied here. Learn the thinking behind them at aihero.dev/skills.
This pack is MIT licensed. See LICENSE.
writing-for-agents| AFK, read-only |
retro.md: environment improvements, most severe first |
wayfinder-chart | /wayfinder charting (grilling, domain-modeling, research) | Interactive | A wayfinder:map of decision tickets; research tickets resolved |
wayfinder-step | /wayfinder working (grilling, domain-modeling, prototype, research) | Interactive or AFK | One decision ticket resolved and indexed on the map |
| the feedback-loop command fails on the unfixed code, with the user's symptom in the output. The command itself makes a non-deterministic bug reproduce reliably, so it runs once. No red loop, no hypotheses. |
| Green loop | diagnose | the same command passes, the regression test passes (or the missing seam is documented), and no [DEBUG-…] lines are left in the diff |
| Triage outcome | triage | exactly one category and one state; the AI disclaimer; an agent brief, triage notes, or a close shaped as /triage requires; .out-of-scope/ only for a rejected enhancement |
| Approved as shown | idea-to-tickets, triage, wayfinder-chart, wayfinder-step | the draft a session hands on (spec and tickets, outcome, map, resolution) is unchanged since a gate showed it, and you approved that gate with no comment. A session can't publish on its own say-so, or on a reply that never arrived. |
| Report complete | architecture, retro | the report exists and renders every candidate |
| Public writes | everywhere | issues, labels, comments, sub-issues, blocked-by edges and PRs are written by a script and read back |