danshapiro/kilroy/create-dotfile
Claude Code and agent skill by danshapiro/kilroy
- community
Checking that the SKILL.md file is still in the repository.
Use when authoring or repairing Kilroy Attractor DOT graphs from requirements, with template-first topology, routing guardrails, and validator-clean output.
Install
npx vskill@latest install danshapiro/kilroy/create-dotfileSKILL.md
Create Dotfile
Scope
This skill owns DOT graph authoring and repair for Attractor pipelines.
In scope:
- Turning requirements/spec/DoD into a runnable
.dotgraph. - Defining topology, node prompts, routing, model assignments, and validation behavior.
- Enforcing DOT-specific guardrails and validator compatibility.
Out of scope:
- Run config (
run.yaml/run.json) authoring and backend policy details. Usecreate-runfilefor that.
Overview
Core principle:
- Prefer validated template topology over ad-hoc graph design.
- Compose prompt text from project evidence; do not copy stale boilerplate.
- Optimize for reliable execution and recoverability, not novelty.
Default topology source:
skills/create-dotfile/reference_template.dot
Model defaults source:
skills/create-dotfile/preferences.yaml
Workflow
- Fetch the current model list (required before writing any model_stylesheet).
Run: kilroy attractor modeldb suggest
Capture the output. Use ONLY the model IDs listed in the output. Do not use model IDs from memory — they go stale. If the command is unavailable, default to: claude-sonnet-4.6 (anthropic), gemini-3-flash-preview (google), gpt-4.1 (openai).
- Determine mode and hard constraints.
- If non-interactive/programmatic, do not ask follow-up questions.
- Extract explicit constraints (
no fanout, model/provider requirements, deliverable paths).
- Gather repo evidence.
- Read the authoritative spec/DoD sources if provided.
- Use repo docs and files to resolve ambiguity before making assumptions.
- Choose topology from template first.
- Start from
reference_template.dotfor node shapes, routing, and loop structure. - If user says
no fanoutorsingle path, remove fan-out/fan-in branch families. - Fan-in semantics are shape-dependent:
shape=tripleoctagon(parallel.fan_in) usesFanInHandlerwinner selection/fast-forward semantics.- Converging branches into a
shape=boxnode is a manual merge handoff: branch worktrees are passed to the LLM in that box node, and the prompt must instruct the node to manually inspect and merge branch outputs (including git-based workflows such asgit diff, commit inspection, and merge/cherry-pick by branchhead_shawhen appropriate). - graph-level retry_target: Set graph-level retry_target to the earliest node that
preserves already-completed work on re-entry. For pipelines with an analysis or planning phase, point to plan_work or debate_consolidate so re-entry can reuse completed design docs and implementation files. Pointing retry_target at a specific implement_* node skips all sibling workers' output.
Implementation Decomposition
- If the task involves implementing or porting a codebase estimated to exceed ~1,000 lines of new code, decompose the
implementnode into per-module fan-out nodes (e.g.implement_core,implement_api,implement_data_layer) with amerge_implementationsynthesis node. Each module node targets a bounded deliverable (~200–500 lines). A singleimplementnode for large codebases produces stub implementations that pass structural checks but deliver no functional behavior. - Use parallel fan-out (multiple
implement_X→merge_implementation) or sequential chain as appropriate. Eachimplement_Xnode writes to.ai/runs/$KILROY_RUN_ID/module_X_impl.mdand commits the code.merge_implementationsynthesizes integration points and resolves conflicts. - Threshold: >1,000 estimated lines of new code → decompose. The cost of extra nodes is much lower than a stub implementation.
Analyze-before-implement (required when porting or reading existing source): When the task involves translating, porting, or extending an existing codebase, insert a dedicated analysis cluster BEFORE any implement_* nodes:
Each analyze_<module> node reads specific source files and writes a compact design doc to .ai/runs/$KILROY_RUN_ID/design_<module>.md (under 300 lines — spec only, no implementation code). merge_analysis verifies all design docs exist and are cross-module consistent. Only after merge_analysis succeeds does the pipeline proceed to implement_* nodes. See skills/create-dotfile/reference_template.dot OPTIONAL comments for stub examples.
auto_status=true assignment rules:
- MUST: synthesis nodes — consolidate_, merge_, debate_*, review_consensus, postmortem
- SHOULD: all implement_, analyze_ nodes in fan-outs — their primary
completion signal is the deliverable file; auto_status removes redundant success writes
- NEVER on shape=diamond routing nodes or shape=parallelogram tool nodes
- Set model/provider resolution in
model_stylesheet.
- Ensure every
shape=boxnode resolves provider + model via attrs or stylesheet. - Keep backend choice (
clivsapi) out of DOT; backend belongs in run config. model_stylesheetdeclarations MUST use semicolons to separate property-value pairs within each selector block. Omitting semicolons causes silent parsing failures where nodes resolve to no provider.- Correct:
* { llm_model: gemini-2.0-flash; llm_provider: google; } - Wrong:
* { llm_model: gemini-2.0-flash llm_provider: google }— space-separated declarations silently fail. - After writing
model_stylesheet: verify each{}block uses only semicolon-terminated declarations; no two property names appear adjacent without a semicolon separator. - Anthropic model IDs use dot-separated version numbers:
claude-opus-4.6,claude-sonnet-4.6,claude-haiku-4.5. Never use dashes in the version suffix —claude-opus-4-6is wrong and will cause a validation ERROR. The three current canonical Anthropic IDs are:claude-opus-4.6,claude-sonnet-4.6,claude-haiku-4.5.
Model Constraint Contract (Required)
- Treat explicit user model/provider directives as hard constraints.
- For explicit fan-out mappings, keep branch-to-model assignments one-to-one; do not reorder branches or merge assignments.
- Canonicalize provider aliases for DOT keys:
gemini/google_ai_studio->google,z-ai/z.ai->zai,moonshot/moonshotai->kimi,minimax-ai->minimax. - Resolve explicit model IDs against local evidence in this order:
- exact user-provided ID (if already canonical),
internal/attractor/modeldb/pinned/openrouter_models.json,internal/attractor/modeldb/manual_models.yaml(if present),skills/shared/model_fallbacks.yaml(backup only when other sources fail).
- Never silently downgrade or substitute an explicit model request with a different major/minor family (example: requested
glm-5must not becomeglm-4.5). - If exact canonical resolution is unavailable, preserve the user-requested model literal in
llm_model(normalize whitespace only) instead of guessing a nearby model. - Apply known alias normalization from the fallback file before deciding unresolved status (for example:
glm-5.0->glm-5for providerzai). - Explicit user model/provider directives override
skills/create-dotfile/preferences.yamldefaults.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/create-dotfile/SKILL.md
Popularity
- Repository stars
- 159
- Repository forks
- 36
- 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/create-dotfile)