authoring-adept-agentslisted
Install: claude install-skill itaywol/adeptability
# Authoring a good adept agent
An agent is a single file `.adeptability/agents/<id>.md` (YAML frontmatter + a markdown body
that becomes the agent's **entire system prompt**). `adept sync` renders it into every enabled
harness that supports agents — Claude Code, OpenCode, Cursor, Copilot, and Codex — so write it
**once, well, and harness-neutral**.
## Canonical agent format
```markdown
---
id: pr-reviewer # ^[a-z0-9](?:[a-z0-9-]{0,48}[a-z0-9])?$ — matches the filename
description: Adversarially reviews drafted changes. Use proactively before every commit.
mode: subagent # subagent | primary | all (OpenCode; default subagent)
tools: [Read, Grep, Bash] # allowlist; OMITTED = inherit every tool
disallowed-tools: [Write] # denylist (Claude Code)
model: inherit # verbatim pass-through; grammars differ per harness
targets: [] # empty = every enabled harness
harness: # per-harness knobs (permissionMode, readonly, sandbox_mode, …)
cursor: { readonly: true }
---
You are an adversarial reviewer. ...
```
`adept agent check <id>` runs a safety scan plus a best-practice lint over all of this — let
it catch your mistakes.
## The description is the delegation trigger — write it like one
Every harness decides *whether to hand work to your agent* from the description alone.
- State **what it does AND when to invoke it**: *"Reviews Go changes for error-handling bugs.
Use after editing i