Architecture Council Skill Guide
Workflow
- Confirm the architecture question with the user. Clarify scope and which repos are relevant.
- Build context: run
build-context.shto extract structure, dependencies, API surface, and auth patterns from each repo. - Run debate: execute
debate.shto orchestrate propose → critique → synthesize cycle. - Present the final synthesis to the user. Highlight the ADR, unresolved tensions, and concrete next steps.
- Offer follow-up: additional rounds, deeper dive into a specific repo, or implementation planning.
Quick Reference
| Use case | Key flags |
| --------------------------------- | ------------------------------------------------------------- |
| Single-repo architecture review | --repos "/path/to/repo" |
| Multi-repo decision | --repos "/path/repo1,/path/repo2,/path/repo3" |
| Quick review (tighter timeouts) | --claude-timeout 300 --codex-timeout 240 |
| Deep multi-round debate | --rounds 3 |
| Pre-built context | --context-file /path/to/context.md |
| Dry run (preview commands) | --dry-run |
| Custom models | --claude-model sonnet --codex-model gpt-5.4-pro |
Command Patterns
Full debate (single repo)
bash arch-council/scripts/debate.sh \
--question "Should we split the API into microservices or keep the monolith?" \
--repos "/path/to/my-api"
Multi-repo debate
bash arch-council/scripts/debate.sh \
--question "How should we share auth tokens across these three services?" \
--repos "/path/to/auth-service,/path/to/api-gateway,/path/to/user-service" \
--rounds 2
Context-only (for inspection before running debate)
bash arch-council/scripts/build-context.sh \
--repos "/path/repo1,/path/repo2" \
--output /tmp/context.md
Dry run
bash arch-council/scripts/debate.sh \
--question "test" \
--repos "/path/to/repo" \
--dry-run
Debate Structure
Each round follows three phases:
- Propose (Claude): Analyzes codebase context and answers the architecture question with a specific, opinionated recommendation including tradeoffs and migration path.
- Critique (Codex): Attacks the proposal on hidden coupling, migration traps, auth edge cases, operational complexity, and elegant-but-wrong abstractions. Every criticism must include a concrete alternative.
- Synthesize (Claude): Produces the final recommendation, incorporating valid critiques and rejecting invalid ones. Includes an ADR and concrete next steps.
Multi-round debates feed the previous synthesis back as input to the next round's proposal, refining through iteration.
Output Artifacts
All artifacts are saved to the output directory (/tmp/arch-council-<timestamp>/ by default):
| File | Description |
| ----------------------------- | ------------------------------ |
| context.md | Multi-repo context pack |
| round<N>_proposal.md | Claude's architecture proposal |
| round<N>_critique.md | Codex's critical review |
| round<N>_synthesis.md | Final synthesized decision |
| round<N>_*_prompt.txt | Prompts sent to each agent |
Error Handling
- Timeout: If Claude or Codex exceeds their timeout, the script continues with partial output if any was captured. Adjust with
--claude-timeout/--codex-timeout. - Empty output: Each agent call retries once on empty output (with stderr visible on retry) before failing.
- Missing CLI: Fails fast with install instructions if
claudeorcodexbinaries are not found. - Non-existent repo:
build-context.shwarns and skips missing directories.
Prerequisites
claudeCLI installed and authenticatedcodexCLI installed and authenticatedgitavailable on PATH- For reliable timeouts on macOS:
brew install coreutils(providesgtimeout)
微信扫一扫