keel-plan

keel-plan is a skill for Claude Code from muratsilahtaroglu/claude-code-starter-kit. It costs 70 tokens per session (1,455 once invoked), scanned A, original, MIT.

A planning tool that creates or updates PLAN.md, a project file describing phases, completion checks, and dependencies. Dependencies show which phases must wait for others; a DAG is a dependency map without circular waiting.

In plain words
What is it for?
Use it to turn a goal into phases and gates, revise dependencies, assign phase owners, and regenerate the plan's Mermaid diagram.
Why use it?
It keeps the strategic plan separate from the day-to-day task list and updates the plan when project scope changes. It also records ownership rules for multi-user projects.

Skill for Claude Code

Written for Claude Code: SessionStart hook event.

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/muratsilahtaroglu/claude-code-starter-kit/keel-plan
Any agent
npx skills add muratsilahtaroglu/claude-code-starter-kit --skill keel-plan
Clone the repo
git clone --depth 1 https://github.com/muratsilahtaroglu/claude-code-starter-kit

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for keel-plan

README.md
[![agentmods](https://agentmods.dev/badge/skills/muratsilahtaroglu/claude-code-starter-kit/keel-plan.svg)](https://agentmods.dev/skills/muratsilahtaroglu/claude-code-starter-kit/keel-plan)
Your own site
<a href="https://agentmods.dev/skills/muratsilahtaroglu/claude-code-starter-kit/keel-plan"><img src="https://agentmods.dev/badge/skills/muratsilahtaroglu/claude-code-starter-kit/keel-plan.svg" alt="Measured on agentmods" height="20"></a>
Per session 70 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,455 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00070 $0.01455
Opus 5 $0.00035 $0.00727
Sonnet 5 $0.00014 $0.00291
Haiku 4.5 $0.00007 $0.00145

Measured 6d ago against content hash 0c0fe360da63, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

keel-plan scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/keel-plan/SKILL.md · 64 lines

How it starts

The opening of the file, as written. The whole thing — 64 lines — stays where its author put it; the contents beside it link to each section on GitHub.

/keel-plan — build and maintain the phase map

When: at bootstrap right after the tailoring (rules.md §0), whenever the user asks for a plan or a re-plan, or when scope changes enough that the DAG no longer matches reality. PLAN.md is the strategic view; TASKS.md stays the tactical board — never duplicate checkboxes across them.

  1. Propose. From the user's goal derive phases + sub-phases, each with: id (p1, p1_2 — lowercase [a-z0-9_]), a gate (verifiable done-when, same spirit as TASKS.md), after dependencies (siblings with no mutual after may run in parallel), and — on a multi-user project — an owner (the person's git config user.name; blank = anyone). Ask who owns what when parallel branches are assigned to different people; only the owner advances an owned phase (/keel-autopilot stops at a foreign one). Single-user projects leave owner blank. Multi-user governance: when the project declares itself multi-user, ASK who the PROJECT owner (founder) is — never assume it's whoever is bootstrapping — and write their git config user.name as the single line of .claude/project-owner. That file arms the owner-guard hook (governance files — PLAN/rules/CLAUDE/architecture/ADR/.claude — become owner-only; non-owner git push to main blocked) and the session role line. Assignments (@name tags in TASKS, the owner column here) are then the OWNER's call; sprint deadlines ride the TASKS item as due: YYYY-MM-DD (the re-ground hook nags past-due) (docs/steering.md "Multi-user"). Single-user: no file, nothing changes. Map product phases only — what the project builds and ships. One-time meta/tooling work (a mid-project tool adoption, a dependency/CVE sweep, a pure refactor) is not a phase node: record it in an ADR and/or the Fix log. A meta stub given an after becomes a permanent dead-end fork in the graph — exactly the noise the map should avoid. Show the table draft — apply only after approval (§10.36).

  2. Write PLAN.md. Patch the phase table (SOURCE OF TRUTH) and Current focus; regenerate the whole diagram block from the table between the KEEL_PLAN_DIAGRAM markers — never hand-edit inside, never rewrite the rest of the file (patch, don't clobber). One syntax slip breaks the whole GitHub render.

    Canonical diagram spec — this skill OWNS it. (PLAN.md is PROTECTED by /keel-update, so palette fixes reach existing projects only through this skill's regeneration, not by editing their PLAN header.)

    • Node id = the phase id (p1, a2), NOT "Phase 1"; label reads id short-name so table, TASKS, Fix-log and diagram key on ONE token. Order is the ARROWS, never the number — a big id on a parallel branch may finish before a small one (that is normal in a DAG, not a mistake to hide).
    • Status → semantic class (a plan at rest must not look alarming — reserve red for real trouble):
      classDef done    fill:#2e7d32,color:#ffffff,stroke:#1b5e20
      classDef wip     fill:#f9a825,color:#000000,stroke:#e65100,stroke-width:3px
      classDef todo    fill:#eceff1,color:#37474f,stroke:#b0bec5,stroke-dasharray:4 3
      classDef blocked fill:#c62828,color:#ffffff,stroke:#8e0000
      
      done green · wip amber+thick border (the "you are here") · todo neutral grey+dashed (not-started ≠ broken) · blocked red (reserved). Emit a one-line legend just above the fence: > yeşil done · **amber** wip · gri-kesik todo · kırmızı blocked — sıra OKLARDA, numarada değil.
    • Mermaid safety (GitHub ~v10): ids [a-z0-9_]; every node on its own line, edges below; labels "double-quoted", ASCII only — no emoji, no unquoted (), no lowercase end; solid --> = depends-on, dotted -.-> = contains; every classDef pairs fill with color; no %%{init}%%.
  3. Seed the board. Refill TASKS.md ## Now (3–5 items max) from the wip leaf's gate; reference the phase id in each item so the Fix log and HANDOVER one-liners can point back.

  4. Status lifecycle. todo → wip → done, flipped at rituals: /keel-handover updates statuses + Current focus each session; /keel-phase-review is the only gate to done. done never flips back — a bug found later is a Fix log row (date | fix | phase-id), which keeps the map honest after the project completes.

  5. Re-planning (experiments change the plan). PLAN.md always shows ONLY the latest plan: phases dropped in a re-plan are removed entirely from the table and diagram — no tombstone rows or statuses. The failed approach is already recorded in LESSONS.md [fail] / HANDOVER block (b), and git history keeps every earlier shape of the plan. done phases stay; existing ids are never renumbered (Fix log / HANDOVER references must keep resolving).

  6. Drift. The SessionStart hook warns when the table and diagram disagree or when a wip phase has an empty TASKS.md ## Now — fix by regenerating from the table (this skill), not by editing the diagram.

Read the full file on GitHub · 64 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago First seen · 64 lines · 70 tokens per session scan A 0c0fe360da63

Subscribe to this mod's changes

keel-plan is a skill published in the GitHub repository muratsilahtaroglu/claude-code-starter-kit (9 stars, last pushed 2d ago), licensed MIT. It adds 70 tokens to every session and 1,455 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

autonomous-loops

Patterns and architectures for autonomous Claude Code loops — from simple sequential pipelines to RFC-driven multi-agent DAG systems.

affaan-m/ECC · 26 tokens

mle-workflow

Production machine-learning engineering workflow for data contracts, reproducible training, model evaluation, deployment, monitoring, and rollback. Use when building, reviewing, or hardening ML systems beyond one-off notebooks.

affaan-m/ECC · 44 tokens

react-patterns

React 18/19 patterns including hooks discipline, server/client component boundaries, Suspense + error boundaries, form actions, data fetching, state management decision trees, and accessibility-first composition. Use when writing or reviewing React components.

affaan-m/ECC · 49 tokens

content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC · 55 tokens

article-writing

Write articles, guides, blog posts, tutorials, newsletter issues, and other long-form content in a distinctive voice derived from supplied examples or brand guidance. Use when the user wants polished written content longer than a paragraph, especially when voice consistency, structure, and credibility matter.

affaan-m/ECC · 57 tokens

agent-carnet

Use this skill when the user asks to save, recall, find, or organize notes. Triggers on: 'remember this', 'save this', 'note this', 'what did we discuss about...', 'check the notebook', 'find in carnet'. Also use proactively when discovering findings worth preserving across sessions.

yamadashy/repomix · 67 tokens