Claude-skill-registry alto-protocol
Use when working with ALTO protocol files - runs/state.json, runs/handoffs/*.md, runs/tasks/*.md, runs/plan.md, or runs/milestones.md. Reference for file formats and state machine.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/alto-protocol" ~/.claude/skills/majiayu000-claude-skill-registry-alto-protocol && rm -rf "$T"
manifest:
skills/data/alto-protocol/SKILL.mdsource content
ALTO Protocol
Required Folders
— high-level architecture (orchestrator output)runs/milestones.md
— architectural decisions (orchestrator output)runs/decisions.md
— detailed batch plan (planner output)runs/plan.md
— planning configurationruns/planning-config.json
— protocol stateruns/state.json
— task filesruns/tasks/
— task completion handoffsruns/handoffs/
runs/state.json Schema
{ "protocol": "alto-v1", "run_branch": "run/001", "phase": "ARCHITECTURE | PLANNING | IN_TASK | BETWEEN_TASKS | BLOCKED | COMPLETED | DEBUG", "current_task_id": "task-001", "current_role": "alto-backend", "current_handoff": "runs/handoffs/task-001.md", "completed_task_ids": [], "last_handoff": null, "estimated_tasks": 12, "replan_every": 4, "needs_architect": false, "updated_at": "ISO-8601" }
Note: When setting
current_task_id, also set current_handoff and pre-create the handoff template.
Phase Values
— orchestrator exploring codebase, designing milestonesARCHITECTURE
— planner creating task files from milestonesPLANNING
— role agent executing a taskIN_TASK
— task complete, checking for replan or next taskBETWEEN_TASKS
— human review requiredBLOCKED
— all tasks done, awaiting human decision (debug or next feature)COMPLETED
— human testing, fixing issues before mergeDEBUG
runs/planning-config.json Schema
{ "require_approval": true, "replan_strategy": "auto", "fixed_batch_size": 5, "architect_model": "opus", "planner_model": "opus" }
runs/milestones.md Format (Orchestrator Output)
# Milestones ## Summary Brief description of the feature and overall approach. ## Estimated Scope - **Estimated tasks:** 12 - **Replan every:** 4 tasks - **Complexity:** low | medium | high ## Milestones ### Milestone 1: <name> - Description of what this milestone achieves - Objective items addressed: 6.1, 6.2 - Estimated tasks: 3 ### Milestone 2: <name> - Description - Objective items addressed: 6.3 - Estimated tasks: 4 ## Key Decisions See `runs/decisions.md` for detailed trade-offs.
runs/decisions.md Format (Orchestrator Output)
# Architectural Decisions ## Decision 1: <title> **Context:** Why this decision was needed **Options considered:** 1. Option A - pros/cons 2. Option B - pros/cons **Decision:** Which option and why **Consequences:** What this means for implementation ## Decision 2: <title> ...
Arbiter Checkpoint Folders
— thresholdsruns/arbiter/config.json
— last checkpoint metadataruns/arbiter/state.json
— snapshot triggering arbiterruns/arbiter/pending.json
— arbiter outputruns/arbiter/decision.json
— historical reportsruns/arbiter/checkpoints/
Task File Format (runs/tasks/task-XXX.md)
Each task starts with YAML frontmatter:
--- task_id: task-001 title: Short human title role: alto-backend | alto-frontend | alto-docs | alto-gitops | alto-qa follow_roles: [] # optional: list of agent names to additionally obey post: [] # optional: list of agent names to run after role succeeds depends_on: [] # optional inputs: - runs/milestones.md - runs/handoffs/task-000.md allowed_paths: - backend/** handoff: runs/handoffs/task-001.md ---
Then Markdown body with:
- Goal
- Constraints (if any)
- Definition of Done (must be concrete)
- How to verify (tests to run, commands, manual checks)
Handoff Format (runs/handoffs/<task_id>.md)
Required sections (validated by
handoff-validate hook):
— what was done## Summary
/## Files
— list of modified files## Files Touched
/## How to Verify
— commands to validate## Verification
Optional sections:
— API/contract changes## Interfaces
— follow-up work or risks## Next Steps
Handoffs are validated on SubagentStop. Missing required sections block task completion.
Handoff Template (Pre-created by Orchestrator)
# Handoff: task-001 ## Summary <!-- What was accomplished --> ## Files Touched <!-- List files modified --> ## How to Verify <!-- Commands or manual checks -->
Role agents Edit this file (don't create from scratch). Path is in
state.json → current_handoff.
Post-Agent Handoffs
Post-agents (alto-qa, code-simplifier, alto-gitops) write separate files by appending their suffix:
current_handoff: runs/handoffs/task-001.md alto-qa → runs/handoffs/task-001-qa.md code-simplifier → runs/handoffs/task-001-simplifier.md alto-gitops → runs/handoffs/task-001-gitops.md
Post-agents read
current_handoff from state.json and derive their path.
plan.md Format (Planner Output)
# Plan: <Feature Name> - Batch N ## Current Milestone <Which milestone this batch addresses> ## Tasks in This Batch | ID | Title | Role | Depends On | |----|-------|------|------------| | task-001 | ... | alto-backend | - | | task-002 | ... | alto-frontend | task-001 | ## Implementation Notes <Detailed implementation notes for this batch> ## Progress - Milestones completed: 1/4 - Tasks completed: 3/12 - Objective items done: 2/8