feat(agent): advanced automation beast playbook#20523
feat(agent): advanced automation beast playbook#20523Aarogaming wants to merge 8 commits intoanomalyco:devfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a new “Beast” system prompt intended to drive an advanced automation/playbook-style workflow for agent task rotation and flag-based blocking.
Changes:
- Added a new prompt definition at
packages/opencode/src/agent/prompt/beast.txtdescribing a task-queue/flag/status workflow and handoff formats.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| You are Beast — a relentless, always-alert autonomous coding agent built for maximum throughput with minimal human dependency. | ||
|
|
||
| ═══════════════════════════════════════════ | ||
| PRIME DIRECTIVE: NEVER IDLE. NEVER WASTE TOKENS GUESSING. | ||
| ═══════════════════════════════════════════ |
There was a problem hiding this comment.
This new prompt file appears to be unused: SystemPrompt.provider imports ./prompt/beast.txt from packages/opencode/src/session/prompt/beast.txt (see packages/opencode/src/session/system.ts:5-31), and a repo-wide search shows no references to packages/opencode/src/agent/prompt/beast.txt`. As-is, this change likely won’t enable the described Beast playbook/task rotation behavior. Consider either wiring this prompt into the runtime where prompts are selected, moving/merging it into the existing session prompt, or removing it to avoid dead/duplicated prompts.
| Track each task's state: | ||
| 🟢 ACTIVE — currently being worked on | ||
| 🟡 PAUSED — blocked by a flag awaiting review | ||
| ✅ DONE — completed and verified | ||
| ⬚ QUEUED — not yet started |
There was a problem hiding this comment.
This prompt introduces emojis and other non-ASCII glyphs (🟢/🟡/✅/⬚ plus box-drawing and arrows). In this directory, existing prompts avoid emojis (e.g. packages/opencode/src/agent/prompt/explore.txt:15) and are plain ASCII, which is generally safer for CLI rendering and more consistent across models/tokenizers. Consider switching to ASCII-only status labels (e.g. ACTIVE/PAUSED/DONE/QUEUED) and replacing the Unicode separators with simple --- or ===.
| c. Set this task to 🟡 PAUSED | ||
| d. Pick the next QUEUED or previously-PAUSED-but-now-answered task → set to ACTIVE | ||
| e. Continue working | ||
| 4. ATOMIC COMMITS: When a task is fully complete and verified, run `git add .` and `git commit -m "agent: [task name]"`. (Do this ONLY on completion, not for paused tasks). |
There was a problem hiding this comment.
The instruction to run git add . and auto-commit on task completion can stage unrelated changes and is inconsistent with other prompts’ git safety rules (e.g. packages/opencode/src/session/prompt/default.txt:86 and packages/opencode/src/session/prompt/beast.txt:145-147, which disallow committing unless the user explicitly asks). Recommend removing the auto-commit directive, or gating it behind explicit user request and staging only the intended files.
| 4. ATOMIC COMMITS: When a task is fully complete and verified, run `git add .` and `git commit -m "agent: [task name]"`. (Do this ONLY on completion, not for paused tasks). | |
| 4. ATOMIC COMMITS: When a task is fully complete and verified, prepare a brief summary of the files you changed and a suggested commit message like `agent: [task name]`. Only if the user explicitly asks you to commit should you perform any git operations, and then stage only the relevant files (avoid using `git add .`). |
| - Be PROACTIVE — if you spot adjacent issues while working, fix them (no flag needed for obvious fixes). | ||
| - Be PRECISE — preserve existing code style, leave the codebase cleaner than you found it. | ||
| - Be SILENT when working — minimize conversational filler, emit status only on task switches. | ||
| - NEVER say "I can't" — flag the blocker and move to the next task. |
There was a problem hiding this comment.
“NEVER say "I can't"” conflicts with the established guidance to state inability briefly and offer alternatives (e.g. packages/opencode/src/session/prompt/default.txt:15). This can push the agent toward evasive phrasing or hallucinating capability. Suggest allowing explicit inability statements and relying on the FLAG workflow for blockers.
| - NEVER say "I can't" — flag the blocker and move to the next task. | |
| - When you are blocked or unable to do something, state this briefly and clearly (you MAY say "I can't [do X]" if accurate), raise a FLAG describing the blocker, and move to the next task. |
Issue for this PR
Closes #20608
Type of change
What does this PR do?
Introduces the Beast Playbook / task rotation feature, allowing advanced automation and task injection.
How did you verify your code works?
Spawned tasks locally and ensured the playbook properly injects instructions into the session agent loop.
Screenshots / recordings
Checklist