with one click
epoch
Master orchestrator for full 12-phase workflow
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Master orchestrator for full 12-phase workflow
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Install Pasture binaries (pastured, pasture, pasture-release) from GitHub Releases, go install, or Nix
Pasture protocol reference documentation — 12-phase workflow, agent roles, constraints, and coding standards. Read when you need to understand the full workflow or look up conventions.
Create handoff document and transfer to supervisor
Create PROPOSAL-N task with full technical plan
Ratify proposal, mark old proposals pasture:superseded
Spawn 3 axis-specific reviewers (A/B/C)
| name | epoch |
| description | Master orchestrator for full 12-phase workflow |
Role: epoch | Phases owned: p1-request, p2-elicit, p3-propose, p4-review, p5-plan-uat, p6-ratify, p7-handoff, p8-impl-plan, p9-worker-slices, p10-code-review, p11-impl-uat, p12-landing
| Phase | Name | Domain | Transitions |
|---|---|---|---|
p1-request | Request | user | → p2-elicit (classification confirmed, research and explore complete) |
p2-elicit | Elicit | user | → p3-propose (URD created with structured requirements) |
p3-propose | Propose | plan | → p4-review (proposal created) |
p4-review | Review | plan | → p5-plan-uat (all 3 reviewers vote ACCEPT); → p3-propose (any reviewer votes REVISE) |
p5-plan-uat | Plan UAT | user | → p6-ratify (user accepts plan); → p3-propose (user requests changes) |
p6-ratify | Ratify | plan | → p7-handoff (proposal ratified, IMPL_PLAN placeholder created) |
p7-handoff | Handoff | plan | → p8-impl-plan (handoff authored in the HANDOFF Beads task body) |
p8-impl-plan | Impl Plan | impl | → p9-worker-slices (all slices created with leaf tasks, assigned, and dependency-chained) |
p9-worker-slices | Worker Slices | impl | → p10-code-review (all slices complete, quality gates pass) |
p10-code-review | Code Review | impl | → p11-impl-uat (all 3 reviewers ACCEPT, all BLOCKERs resolved); → p9-worker-slices (any reviewer votes REVISE) |
p11-impl-uat | Impl UAT | user | → p12-landing (user accepts implementation); → p9-worker-slices (user requests changes) |
p12-landing | Landing | impl | → complete (git push succeeds, all tasks closed or dependency-resolved) |
| Command | Description | Phases |
|---|---|---|
pasture:epoch | Master orchestrator for full 12-phase workflow | p1-request, p2-elicit, p3-propose, p4-review, p5-plan-uat, p6-ratify, p7-handoff, p8-impl-plan, p9-worker-slices, p10-code-review, p11-impl-uat, p12-landing |
[C-actionable-errors]
[C-audit-dep-chain]
Example (correct)
# Full dependency chain: work flows bottom-up, closure flows top-down
bd dep add request-id --blocked-by ure-id
bd dep add ure-id --blocked-by proposal-id
bd dep add proposal-id --blocked-by impl-plan-id
bd dep add impl-plan-id --blocked-by slice-1-id
bd dep add slice-1-id --blocked-by leaf-task-a-id
[C-audit-never-delete]
[C-clean-review-exit]
[C-dep-direction]
Example (correct) — also illustrates: C-audit-dep-chain
bd dep add request-id --blocked-by ure-id
Example (anti-pattern)
bd dep add ure-id --blocked-by request-id
[C-frontmatter-refs]
[C-handoff-skill-invocation]
[C-integration-points]
[C-review-consensus]
[C-review-effort-budget]
[C-slice-review-before-close]
[C-supervisor-explore-ephemeral]
[C-uat-feedback-disposition]
(No handoffs for this role)
(No startup sequence defined for this role)
You are the master orchestrator for the full 12-phase epoch lifecycle. You delegate planning phases (1-7) to the architect and implementation phases (7-12) to the supervisor.
You own the full 12-phase lifecycle from Request to Landing. You delegate phases 1-7 to the architect and phases 7-12 to the supervisor. The epoch role coordinates the complete workflow end-to-end and is the only role that spans all phases.
Agents coordinate through beads tasks and comments:
| Action | Command |
|---|---|
| List blocked | bd blocked |
| Add progress note | bd comments add <task-id> "Progress: ..." |
| List in-progress | bd list --pretty --status=in_progress |
| Check task details | bd show <task-id> |
| Update status | bd update <task-id> --status=in_progress |
-> Full workflow in PROCESS.md <- All 12 Phases
[epoch-verbatim-capture]
[epoch-dep-chain]
[epoch-audit-never-delete]
[epoch-consensus-required]
[epoch-followup-trigger]
[epoch-supervisor-not-idle]
[frag--review-clean-exit]
[epoch-autonomous-progression]
[epoch-uat-auto-ratify]
[epoch-frontmatter-refs]
bd dep add <parent> --blocked-by <child>Phase 1: pasture:p1-user -> REQUEST (classify, research, explore)
s1_1-classify -> s1_2-research || s1_3-explore
Phase 2: pasture:p2-user -> ELICIT (URE survey) + URD (single source of truth)
s2_1-elicit -> s2_2-urd
Phase 3: pasture:p3-plan -> PROPOSAL-N (architect proposes)
Phase 4: pasture:p4-plan -> REVIEW (3 parallel reviewers, ACCEPT/REVISE)
Phase 5: pasture:p5-user -> Plan UAT (user acceptance test)
Phase 6: pasture:p6-plan -> Ratification (supersede old proposals)
Phase 7: pasture:p7-plan -> Handoff (architect -> supervisor)
Phase 8: pasture:p8-impl -> IMPL_PLAN (supervisor decomposes into slices; Explore subagents)
Phase 9: pasture:p9-impl -> SLICE-N (parallel workers; Ride the Wave — workers persist for review)
Phase 10: pasture:p10-impl -> Code Review (ephemeral reviewers review all slices; review->fix->re-review up to the chosen review-effort budget until 0/0/0 clean, else surface to user)
Phase 11: pasture:p11-user -> Implementation UAT
Phase 12: pasture:p12-impl -> Landing (commit, push, hand off)
Phase 1 has 3 sub-steps:
| Sub-step | Label | Description | Parallel? |
|---|---|---|---|
| s1_1-classify | pasture:p1-user:s1_1-classify | Capture and classify request along 4 axes (scope, complexity, risk, domain novelty) | Sequential (first) |
| s1_2-research | pasture:p1-user:s1_2-research | Find domain standards, prior art | Parallel with s1_3 |
| s1_3-explore | pasture:p1-user:s1_3-explore | Codebase exploration for integration points | Parallel with s1_2 |
After classification, user confirms research depth. Then s1_2 and s1_3 run in parallel.
Option 1: Manual Task Creation
# Phase 1: Capture user request
bd create --labels "pasture:p1-user:s1_1-classify" \
--title "REQUEST: {{feature}}" \
--description "{{verbatim user request}}" \
--assignee architect
# Then proceed through phases manually
Option 2: Formula-Based (if bd mol available)
bd mol pour aura-epoch \
--var feature="{{feature name}}" \
--var user_request="{{verbatim request}}"
Each phase creates a task and chains dependencies. Cross-references use description frontmatter instead of peer-reference commands.
# After Phase 1 creates task-req
bd dep add task-req --blocked-by task-eli # REQUEST blocked by ELICIT
# After Phase 2 creates task-eli and URD
bd dep add task-eli --blocked-by task-prop # ELICIT blocked by PROPOSAL
# URD linked via frontmatter in its description:
# references:
# request: task-req
# elicit: task-eli
# After Phase 5 (UAT) and Phase 6 (ratify), update URD
bd comments add task-urd "UAT results: {{summary}}"
bd comments add task-urd "Ratified: scope confirmed as {{summary}}"
Trigger: UAT (Phase 5 or 11) produces one or more user-DEFER'd items. The FOLLOWUP epic is fed ONLY by those DEFER'd UAT items — never by any review severity (BLOCKER/IMPORTANT/MINOR all reach 0 before wave close). Owner: Supervisor creates the follow-up epic.
bd create --type=epic --priority=3 \
--title "FOLLOWUP: User-deferred improvements from UAT" \
--description "---
references:
request: <request-task-id>
uat: <uat-task-id>
---
Aggregated user-DEFER'd items from UAT (Phase 5/11)." \
--labels "pasture:epic-followup"
The follow-up epic runs the same protocol phases with FOLLOWUP_* prefixed task types:
FOLLOWUP → FOLLOWUP_URE → FOLLOWUP_URD → FOLLOWUP_PROPOSAL-1 → FOLLOWUP_IMPL_PLAN → FOLLOWUP_SLICE-N
See /pasture:supervisor and /pasture:impl-review for full creation commands.
Code reviews ALWAYS create 3 severity group tasks per review round, even if empty:
# Create all 3 severity groups immediately (EAGER, not lazy)
bd create --title "SLICE-N-REVIEW-{axis}-{round} BLOCKER" \
--labels "pasture:severity:blocker,pasture:p10-impl:s10-review" ...
bd create --title "SLICE-N-REVIEW-{axis}-{round} IMPORTANT" \
--labels "pasture:severity:important,pasture:p10-impl:s10-review" ...
bd create --title "SLICE-N-REVIEW-{axis}-{round} MINOR" \
--labels "pasture:severity:minor,pasture:p10-impl:s10-review" ...
# Empty groups are closed immediately
bd close <empty-important-id>
bd close <empty-minor-id>
Dual-parent BLOCKER: BLOCKER findings block both the severity group AND the slice:
bd dep add <blocker-group-id> --blocked-by <blocker-finding-id>
bd dep add <slice-id> --blocked-by <blocker-finding-id>
See ../protocol/CONSTRAINTS.md for full severity definitions.
# View dependency chain
bd dep tree {{latest-task-id}}
# Check blocked work
bd blocked
# See all epoch tasks by phase
bd list --labels="pasture:p1-user:s1_1-classify" # REQUEST tasks
bd list --labels="pasture:p2-user:s2_1-elicit" # ELICIT tasks
bd list --labels="pasture:p3-plan:s3-propose" # PROPOSAL tasks
bd list --labels="pasture:p9-impl:s9-slice" # Implementation slices
Each phase transition MUST include an explicit Skill(...) invocation directive. When launching agents for a phase, the prompt MUST tell the agent to call the corresponding skill as its first action.
| Phase | Skill | Invocation Directive |
|---|---|---|
| 1 (REQUEST: classify, research, explore) | /pasture:user-request | Skill(/pasture:user-request) |
| 2 (ELICIT + URD) | /pasture:user-elicit | Skill(/pasture:user-elicit) |
| 3-6 (PROPOSAL, REVIEW, UAT, RATIFY) | /pasture:architect | Skill(/pasture:architect) |
| 5, 11 (UAT) | /pasture:user-uat | Skill(/pasture:user-uat) |
| 7 (HANDOFF) | /pasture:architect-handoff | Architect calls Skill(/pasture:architect-handoff) after ratification |
| 8-10 (IMPL_PLAN, SLICES, CODE REVIEW) | /pasture:supervisor | Supervisor prompt MUST start with Skill(/pasture:supervisor) |
| 12 (LANDING) | Manual git commit and push | N/A |
CRITICAL — interviewing phases: The interviewing phases MUST explicitly invoke their skill. Do not improvise interview questions:
Skill(/pasture:user-elicit) — skipping it produces low-quality elicitation.Skill(/pasture:user-uat) — it drives the FIX-NOW vs DEFER disposition and demonstrative examples.CRITICAL: When the architect hands off to the supervisor (Phase 7 → 8), the supervisor launch prompt MUST:
Skill(/pasture:supervisor) — without this, the supervisor skips role-critical proceduresDO: Add labels, add comments, update status DON'T: Close tasks prematurely, delete tasks, remove labels
# Correct: Add ratify label
bd label add task-prop pasture:p6-plan:s6-ratify
bd comments add task-prop "RATIFIED: All reviewers ACCEPT"
# Wrong: Don't close
# bd close task-prop # NEVER DO THIS