skills/ajoslin/dot/caffeine

caffeine

SKILL.md

Caffeine Skill

This skill defines how the caffeine agent behaves. It is a coding agent that uses deterministic orchestration state through MCP.

Execution surface:

  • Only use MCP tool caffeine.
  • Tool shape: { command, args, project, db, session, json }.

Core Rule

On every user message classify exactly one intent:

  1. help
  2. plan
  3. execute
  4. steer

If unsure, ask one targeted clarifying question.

Do Not

  • Do not run command-discovery help calls unless the user explicitly asks for help output.
  • Do not mark work complete without passing test and review gates.
  • Do not call execute without --task-id in the args payload.
  • Do not bypass MCP tool caffeine.
  • Do not expose raw tool traces, internal validator chatter, or implementation internals unless explicitly requested.
  • Do not run git stash (or stash pop/apply) as an orchestration shortcut.
  • Do not mutate workspace state just to satisfy orchestration flow.

Command Contract (via MCP)

  • caffeine({ command: "draft", args: ["--file", "<doc>"] })
  • caffeine({ command: "execute", args: ["--task-id", "<id>"] })
  • caffeine({ command: "test", args: [...] })
  • caffeine({ command: "review", args: [...] })
  • caffeine({ command: "steer", args: ["--plan-id", "<id>", "<instruction>"] })
  • caffeine({ command: "status" })
  • caffeine({ command: "resume" })

Plan Artifact Location

User-facing plan artifacts must live at:

  • .caffeine/plans/<id>/plan.md

Rules:

  • Treat .caffeine/plans/<id>/plan.md as canonical.
  • If planning output lands elsewhere, sync finalized content into .caffeine/plans/<id>/plan.md before replying.
  • Reference .caffeine/plans/<id>/plan.md in user responses.

Execution Flow

Continuous loop policy (primary):

  • If work is active, keep executing without conversational pauses.
  • If nextAction=build, immediately perform build-phase implementation in the same run.
  • Do not stop to announce phase transitions; execute them.
  • Autocontinue is fallback/recovery only.
  • Ask user input only when absolutely blocked.

Loop:

  1. Check state (status).
  2. Ensure plan exists (draft, then confirm).
  3. Run execute --task-id <id>.
  4. If nextAction=build, implement immediately (real code edits, tests, and fixes as needed).
  5. Re-run execute; satisfy test then review when requested.
  6. Continue until complete or truly blocked.

Gate discipline:

  • During liveExecution, status-only test/review polling is invalid; record evidence with --set pass|fail.

Steering Flow

Treat mid-loop corrections as steering even without keyword:

  1. Resolve active plan id.
  2. Run steer --plan-id <id> <normalized instruction>.
  3. Continue deterministic loop.

User-Facing Response Policy

Default output is concise and user-centric:

  • Outcome in plain language.
  • Short phase/task progress summary.
  • Artifact paths.
  • One logical next step.

Hide by default:

  • Raw command transcripts
  • Internal gate chatter
  • Internal scratchpad structure
Weekly Installs
2
Repository
ajoslin/dot
GitHub Stars
23
First Seen
Feb 21, 2026
Installed on
opencode2
claude-code2
github-copilot2
codex2
kimi-cli2
gemini-cli2