danshapiro/kilroy/using-kilroy
Claude Code and agent skill by danshapiro/kilroy
- community
Checking that the SKILL.md file is still in the repository.
Operate Kilroy Attractor pipelines end-to-end: ingest English requirements into DOT graphs, validate graph semantics, run and resume pipelines with run config files, configure provider backends (cli/api), and debug runs from logs_root artifacts and checkpoints.
Install
npx vskill@latest install danshapiro/kilroy/using-kilroySKILL.md
Using Kilroy
Kilroy is a local-first Attractor runner:
- Generate a DOT pipeline from English requirements.
- Validate DOT structure + semantics.
- Run in an isolated git worktree with checkpoint commits.
- Resume interrupted runs from logs, CXDB, or run branch.
If you only need to delegate a one-shot task to a single agent (investigation, research, a small code change you don't need to supervise live), useskills/quick-launch/instead — it's the fire-and-forget workflow built on top of this command surface and handles tagging, detached launch, and result retrieval with one command each.
Command Surface
Use these exact command forms:
Run flags you may not have seen before
--package <dir>— load a workflow package (a directory withworkflow.toml,graph.dot,scripts/,prompts/). Applies label defaults, validates inputs, materializes scripts into the worktree. Prefer packages over bare graphs for anything reusable.--tmux— execute each agent CLI invocation inside a detached tmux session. Required for headless runs that use the Claude/Codex/Gemini CLIs. Combine with--detachfor fire-and-forget operation.--input <json-or-path>— structured inputs for the graph. Pass a JSON literal (--input '{"key":"value"}') or a path to a JSON/YAML file. Values becomeKILROY_INPUT_KEYenv vars for tool nodes,$input.keyplaceholders in agent prompts, and sections in.kilroy/INPUT.md. Required inputs are declared via the graph'sinputs="key1,key2"attribute.--prompt-file <path>— read the file contents verbatim and assign them to thepromptinput key. Overrides anypromptalready set via--input. Use this instead of inlining multi-line text in a JSON blob — no escaping, no quoting, no newline hazards.--no-cxdb— skip the content-addressed event store. Applied automatically when no--configis supplied (the default config doesn't set up cxdb). Explicit in production configs.--skip-cli-headless-warning— bypass the interactive CLI-backend confirmation prompt. Applied automatically when stdin isn't a terminal (detached runs, pipes, agent-driven invocations).--label KEY=VALUE— attach a label to the run. Repeatable. Labels are stored in the run DB and used byruns list --labelandruns prune --label. Always tag detached runs so you can find them later.--workspace <dir>— override the workspace dir (default: cwd). If it's a git repo, the engine creates a dedicated run branch + worktree; otherwise it runs in plain-directory mode.
Workflow
- Run ingest:
- Validate:
- Create run config (
run.yamlorrun.json).
- Run:
Optional preflight-only check (validates all preflights, no stage execution):
- If interrupted, resume from the most convenient source:
- For long runs, launch detached so work continues after shell/session exits:
- Observe run health and preflight behavior:
- Intervene when a run is stuck or needs termination:
Runs: listing, inspecting, cleaning up
Every run (detached or foreground) is recorded in a local SQLite run database. Query it via kilroy attractor runs:
runs show output includes worktree_dir, repo_path, run_branch, and logs_root — use these to cd back into a finished run's workspace or feed them to other commands.
Ingest Details
- Uses Claude CLI (
KILROY_CLAUDE_PATHoverride, default executableclaude). - Default model:
claude-sonnet-4-5. - Default repo: current working directory.
- Default skill path auto-detection:
<repo>/skills/create-dotfile/SKILL.md, then binary-relative fallbacks (for example<kilroy-prefix>/share/kilroy/skills/create-dotfile/SKILL.md) and Go module-cache roots from binary build metadata. - If no skill file exists, ingest fails fast.
--max-turnsdefaults to 15 when omitted.- Validation runs by default; use
--no-validateto skip.
Validate Semantics
attractor validate runs parse + transforms + validators and fails on error-severity diagnostics.
Key checks:
- Exactly one start node and one exit node.
- Start has no incoming edges; exit has no outgoing edges.
- All nodes reachable from start.
- Edge conditions parse correctly.
llm_providerrequired for codergen nodes (shape=box).model_stylesheetis optional, but if present must parse.
Run Config (version: 1)
Required fields:
repo.pathcxdb.binary_addrcxdb.http_base_urlmodeldb.openrouter_model_info_path
Defaults:
git.run_branch_prefix:attractor/runmodeldb.openrouter_model_info_update_policy:on_run_startmodeldb.openrouter_model_info_url:https://openrouter.ai/api/v1/modelsmodeldb.openrouter_model_info_fetch_timeout_ms:5000
Minimal example:
Notes:
- Provider keys accept
openai,anthropic,google(geminialias maps togoogle),kimi,zai,cerebras, andminimax. - If a graph node uses provider
P,llm.providers.P.backendmust be set (apiorcli). backend: cliis currently supported foropenai,anthropic, andgoogle(including thegeminialias).- In v1 behavior, runs require a clean repo and checkpoint each node.
- Prefer first-class run config policy knobs over env tuning:
runtime_policyfor stage timeout, stall watchdog, and retry cap.preflight.prompt_probesfor prompt-probe mode/transports/policy.
Provider Backends
CLI backend mappings:
openai->codex exec --json --sandbox workspace-write -m <model> -C <worktree>anthropic->claude -p --dangerously-skip-permissions --output-format stream-json --verbose --model <model> "<prompt>"google->gemini -p --output-format stream-json --yolo --model <model> "<prompt>"
CLI executable overrides:
KILROY_CODEX_PATHKILROY_CLAUDE_PATHKILROY_GEMINI_PATH
API backend credentials:
- OpenAI:
OPENAI_API_KEY(OPENAI_BASE_URLoptional) - Anthropic:
ANTHROPIC_API_KEY(ANTHROPIC_BASE_URLoptional) - Google:
GEMINI_API_KEYorGOOGLE_API_KEY(GEMINI_BASE_URLoptional) - Kimi:
KIMI_API_KEY - Z.ai:
ZAI_API_KEY - Cerebras:
CEREBRAS_API_KEY - MiniMax:
MINIMAX_API_KEY
API protocol/base URL/path overrides are configured in llm.providers.<provider>.api in run config.
Run Output and Exit Codes
run and resume print:
run_idlogs_rootworktreerun_branchfinal_commit
Exit codes:
0: final statussuccess(or validation success)1: command failure, validation failure, or non-success final status
Artifacts
Run-level ({logs_root}) commonly includes:
graph.dotmanifest.jsoncheckpoint.jsonfinal.jsonrun_config.jsonmodeldb/openrouter_models.jsonrun.tgzworktree/
Stage-level ({logs_root}/{node_id}) commonly includes:
prompt.mdresponse.mdstatus.jsonstage.tgzstdout.log,stderr.logevents.ndjson,events.jsoncli_invocation.json,cli_timing.jsonapi_request.json,api_response.jsonoutput_schema.json,output.jsontool_invocation.json,tool_timing.jsondiff.patch
Exact files depend on handler/backend type.
Browser verification notes:
- Browser verify nodes emit
tool_browser_artifactsevents in{logs_root}/progress.ndjson. - Collected browser files are stored in
{logs_root}/{node_id}/browser_artifacts/; on retries, prior copies are preserved in{logs_root}/{node_id}/attempt_N/browser_artifacts/.
Status Contract for Codergen Nodes
For shape=box nodes:
llm_providerandllm_modelmust resolve.- If backend returns no explicit outcome, Kilroy expects a
status.jsonsignal. status.jsonmay be written in worktree root; Kilroy copies it into stage directory.- If
auto_status=true, missingstatus.jsonbecomes success; otherwise stage fails.
Canonical status.json shape:
Valid statuses: success, partial_success, retry, fail, skipped.
Resume Behavior
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/using-kilroy/SKILL.md
Popularity
- Repository stars
- 222
- Repository forks
- 53
- 7-day trend score
- 25
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 23 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/danshapiro/kilroy/using-kilroy)