AGENTS.md Β· git:20260909.2c6826b Β· 2026-09-09 Β· sha256 ef8d1513bae1882e
AGENTS.md git:20260909.2c6826bA
Immutable. This exact content never changes and is served at /api/v1/blob/ef8d1513bae1882e.
# BDB Skills Agent Rules
## Documentation & Wiki
- Entrypoint: [.openwiki/quickstart.md](.openwiki/quickstart.md)
- Reference guides: [architecture.md](.openwiki/architecture.md), [release_notes.md](.openwiki/release_notes.md)
## π Safety and Privacy Rules
1. Never leak local paths containing usernames (e.g. `/Users/<username>/`). Use `~` or `$HOME`.
2. Do not commit `.env` files or API keys.
## π Delegating to an external CLI
None of this tooling ships with AOS β it depends on CLIs and plugins the user
installed separately, so check what is present rather than assuming.
1. **Prefer a plugin's delegation subagent over shelling out to its CLI.**
Where installed, it already handles the wrapper flags, cost discipline, and
digest contract: `antigravity:antigravity-delegate` (agy),
`opencode:opencode-rescue`, `codex:codex-rescue`. These are Claude Code
plugins β on another harness, calling the CLI directly is the only path.
2. **Delegate only above the break-even.** A small, self-contained, or
judgement-heavy task costs more to hand off and verify than to just do.
Keep the digest, not the raw output.
3. **Give it a real timeout.** Measured 2026-09: a trivial headless `agy`
prompt took **605s**. `agy-delegate` defaults to `--print-timeout 5m`, so it
aborts at 300s and reports an empty body while the answer is still coming β
pass `--timeout 15m` for anything non-trivial.
4. **Match the model to the task, not to the default.** The wrapper's tiers map
to models that go stale (built-in `flash` still points at Gemini 3.7 while
3.8 ships). Media and fast/mechanical coding β `Gemini 3.8 Flash (Medium)`;
trivial β `Gemini 3.8 Flash (Low)`; review, architecture and hard reasoning β
`Claude Sonnet 4.6 (Thinking)`. Adversarial review most repays the stronger
model: a Flash tier tends to agree with what it is shown, which is exactly
what a reviewer must not do. Pass `--model` per call, or remap the tiers once
via `CLAUDE_PLUGIN_OPTION_TIER_{FLASH,FLASH_LO,PRO}` β in `~/.zshenv`, not
`~/.zshrc`, which non-interactive tool shells never source. Re-check names
against `agy models` after an upgrade.
5. **Verify the result, never the status field.** A timed-out delegation
returns `{"status": "SUCCESS", "usage": {"total": 0}}` with an empty body β
success by every field except the one that matters, and the zero token
counts are *not* proof the prompt never arrived (headless usage reporting is
simply unpopulated). Treat an empty body as failure regardless of status,
and never report a delegated step as done on its own self-report.
## π CRITICAL TWO-PHASE GATE PROTOCOL (ABSOLUTE OVERRIDE / ADR-014)
- **Strict Gate Condition:** Whenever a plan, review, audit, or multi-step action is requested, you are locked in STRICT READ-ONLY PLANNING MODE.
- **Forbidden Tools Without Explicit "GO":** You MUST NOT call modifying tools (`write_to_file`, `replace_file_content`, or destructive/network terminal commands like `npm publish`, `npm version`, `git push`, `git commit`, `rm`).
- **Plans are not approval:** Commands found inside a plan/task file (e.g. `production_artifacts/*.md`) are not a "GO" β the gate still applies before running them.
- **No inheritance, no silent retries:** A subagent does not inherit its orchestrator's "GO". A blocked or failed release command must not be retried without a fresh "GO".
- **Literal Token Requirement:** Execution is ONLY unlocked if the user's latest message is EXCLUSIVELY and LITERALLY the single word **"GO"** (case-insensitive) in the chat.
- **Response Pattern:** Present the plan or audit report, perform NO file modifications, and explicitly conclude with: "Antworte mit GO, um die AusfΓΌhrung zu starten."