Agent skill
esper:go
Advance the current work stage. If in spec mode, derives an increment plan. If in increment mode, begins implementation.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/esper-go
SKILL.md
You are advancing the current work stage. The behavior depends on the active context.
Step 1: Read context
Run esperkit context get to determine the current state.
Check:
- Is there an active increment? (
active_incrementfield) - What is the workflow mode?
- Is there an active run? (
active_runfield) - What is the execution mode? (
active_execution_modefield)
Step 2: Detect work stage and branch
Branch A: No active increment — derive from specs
If there is no active increment but the user has been working on specs (via esper:spec):
- Read the spec files that were being edited
- Identify what implementation work is needed based on the specs
- Ask the user: "What would you like to implement from these specs?"
- Based on the answer:
- Single task: Create one increment via
esperkit increment create --title "..." --lane atomic --spec <file> - Multiple tasks: Suggest using
esper:batchinstead
- Single task: Create one increment via
- Activate the increment:
esperkit increment activate <filename> - Present the increment plan for review
- Stop here — do NOT begin implementation until the user confirms or runs
esper:goagain
Branch B: Active increment in plan stage
If there is an active increment and its ## Progress section is empty or says "[Updated during implementation]":
- Read the full increment file from
.esper/increments/active/<filename> - Read the referenced spec files (from
spec:frontmatter field) - Check the
execution_modefrontmatter field - Confirm the plan is approved with the user
If execution_mode is interactive (default):
5. Begin implementation:
- Follow the
## Scopesection - Create/modify files as listed in
## Files Affected - Run verification commands from
## Verification - Update the
## Progresssection as work is completed - Proactively update spec files if implementation reveals spec gaps
- Commit according to
workflow_defaults.commits
If execution_mode is autonomous:
5. Begin autonomous execution:
- Freeze the approved spec snapshot (record the spec file and its current state)
- Create a run:
esperkit run create <increment-filename> - Read the run ID from the output
- Decompose the increment scope into bounded task packets
- For each task, create a task packet:
esperkit run add-task <run-id> '<task-json>' - Task JSON must include:
spec,spec_section,files_allowed,verification,acceptance_criteria,assigned_role - Dispatch tasks to the appropriate worker role as defined in
.esper/esper.jsonagent_roles - After all tasks complete, trigger a review pass
- Create a review record:
esperkit run add-review <run-id> '<review-json>' - If review passes: update run status and proceed to completion
- If review fails: convert findings into repair tasks and repeat
- Stop and escalate to the user if:
- Max review rounds exceeded (from
autonomous_run_policy.max_review_rounds) - Runtime limit exceeded (from
autonomous_run_policy.max_runtime_minutes) - The reviewer finds spec ambiguity, requirement conflicts, or missing approvals
- Max review rounds exceeded (from
- To stop a run:
esperkit run stop <run-id> '<reason>'
Branch C: Active increment in progress
If there is an active increment with progress recorded:
- Read the increment and assess remaining work
- Continue implementation from where it left off
- When all scope items are complete and verification passes:
- Ask the user if they want to finish the increment
- If yes: run
esperkit increment finish <filename> - Suggest running
esper:syncto update specs if needed - Then check for batch continuation (see Step 4)
Branch D: Active run in progress
If there is an active run (active_run is not null):
- Run
esperkit run get <run-id>to read the run state - Run
esperkit run list-tasks <run-id>to check task status - If tasks are pending: continue dispatching
- If all tasks complete: trigger review
- If review passed: proceed to completion
- If review failed: create repair tasks and continue the loop
- If the run is cancelled or escalated: report to the user
Step 3: Refuse if blocked
Before advancing, check:
- If the increment file has unresolved comments (lines starting with
> TODO:or> FIXME:), refuse to advance - Tell the user to resolve the comments first
- List the unresolved items
Step 4: Batch auto-loop
After finishing a child increment, check if it belongs to a batch (has a parent: field in its frontmatter).
If yes:
- Run
esperkit context getto check if a newactive_incrementwas auto-activated - If a new child is active, loop back to Step 2 — read the new increment and continue implementation
- Repeat until no more children remain (i.e.
active_incrementis null or points to the parent) - When the batch is fully complete, finish the parent increment if still active
This loop runs automatically — do NOT ask the user to run esper:go again between children. The user already approved the full queue during esper:batch.
Available CLI commands
esperkit context get— read current contextesperkit increment create --title "..." [--lane atomic|systematic] [--type feature|fix|chore] [--spec <file>]— create incrementesperkit increment activate <file>— activate an incrementesperkit increment finish <file>— finish an incrementesperkit increment list— list all incrementsesperkit spec get <file>— read a spec fileesperkit run create <increment>— create a new autonomous runesperkit run get <id>— read run stateesperkit run list— list all runsesperkit run stop <id> [reason]— stop a runesperkit run add-task <run-id> '<task-json>'— add a task packetesperkit run get-task <run-id> <task-id>— read a taskesperkit run list-tasks <run-id>— list tasks in a runesperkit run add-review <run-id> '<review-json>'— add a review recordesperkit run list-reviews <run-id>— list reviews in a run
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?