Autonomous epic executor. Picks up approved epics and runs their tasks in dependency order — reviewing, refining, implementing, and verifying each task without waiting for per-task approval. Creates PRs for code changes, updates tracking docs after each task.
Pick up approved epics and run their tasks autonomously. One task at a time, but the loop doesn't pause between tasks.
The human approved the epic's direction via /review-plan. Now the agent owns execution. Tasks can be rewritten, refined, and self-approved — the human reviews at epic boundaries (PRs and final README), not at every task.
Use Glob to discover epics:
Glob('{project_root}/.syner/plans/**/AGENTS.md')
Read each AGENTS.md frontmatter. Find the first epic where status: approved and at least one task has status != done.
If the epic's status is approved (not yet in-progress), Edit it to status: in-progress.
Glob('{epic}/tasks/*.md')
Read each task's frontmatter. Build the dependency graph. Find tasks where:
status: draft (not yet started)depends_on reference tasks with status: donePick the first executable task by ID order.
If no tasks are executable but some remain, report what's blocking (which dependencies aren't done) and stop the loop.
Read the full task. Evaluate:
If the task needs changes, Edit it. Add an entry to its ## Decisions section:
## Decisions
- **[2026-03-25]** Rewritten: [what changed and why]
Then Edit frontmatter: status: approved.
Load context proportionally — don't over-read:
Read critical files listed in the taskRead AGENTS.md of affected packages/apps (only the ones the task touches)Read it firstImplement using Edit, Write, and Bash as needed.
Run verification checks based on what the task produces:
| Deliverable type | How to verify |
|---|---|
| TypeScript code | bun run build passes, exports exist, types compile |
| Markdown (agent/skill) | File exists, frontmatter valid, references point to real files |
| Multi-package changes | Build across affected packages, no circular deps |
| New directories | Structure matches spec, package.json valid if applicable |
If verification fails, fix and retry. If it fails twice, stop — add a note to the task explaining what failed and why.
If the task produced code changes, create a PR via /github-create-pr. Include:
Edit task frontmatter: status: done.
Edit the epic's AGENTS.md task table — update the task's status column.
More executable tasks? → Back to Step 2.
All tasks done?
Edit README.md: add a ## What Was Delivered section summarizing what was built, with PR links.Edit AGENTS.md frontmatter: status: done.Tasks remaining but all blocked?
If the user says "dry run" or "show me what you'd do":
This lets the human validate the agent's understanding before real execution.