cartographer: Skill for Claude Code

.claude/skills/cartographer-propose-plan/SKILL.md

cartographer-propose-plan is a skill for Claude Code from BeppeTemp/cartographer. It costs 70 tokens per session (1,395 once invoked), scanned A, original, Apache-2.0.

A workflow for turning an agreed design or bug analysis into a self-contained GitHub plan issue. The issue is a proposal for implementation and must receive maintainer approval before the change is built.

In plain words
What is it for?
Use it to write an implementation plan, hand analysis to another developer, or promote a bug into an actionable work item.
Why use it?
It gives implementers the context and steps they need without making them rediscover the earlier discussion. It also separates proposing a change from approving or implementing it.

Skill for Claude Code

Written for Claude Code: installed under .claude/. Also seen: reads .claude/ paths; mentions subagents.

This is BeppeTemp/cartographer's own configuration. It tells Claude Code how to work on cartographer itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything cartographer configures →

Reuse

Borrowing it

Nothing to install: this file belongs to BeppeTemp/cartographer. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/BeppeTemp/cartographer/main/.claude/skills/cartographer-propose-plan/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/BeppeTemp/cartographer

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 cartographer-propose-plan

README.md
[![agentmods](https://agentmods.dev/badge/skills/beppetemp/cartographer/cartographer-propose-plan/github.svg)](https://agentmods.dev/skills/beppetemp/cartographer/cartographer-propose-plan)
Your own site
<a href="https://agentmods.dev/skills/beppetemp/cartographer/cartographer-propose-plan"><img src="https://agentmods.dev/badge/skills/beppetemp/cartographer/cartographer-propose-plan/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for cartographer-propose-plan

Your own site · 80×15
<a href="https://agentmods.dev/skills/beppetemp/cartographer/cartographer-propose-plan"><img src="https://agentmods.dev/badge/skills/beppetemp/cartographer/cartographer-propose-plan.svg" alt="Reviewed on agentmods" width="80" 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,395 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.01395
Opus 5.5 $0.00028 $0.00558
Sonnet 5.5 $0.00014 $0.00279
Haiku 4.5 $0.00007 $0.00139

Measured 7d ago against content hash 95e24c3c791f, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

cartographer-propose-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 7d 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/cartographer-propose-plan/SKILL.md · 97 lines

How it starts

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

cartographer-propose-plan — analysis → implementation handoff

The source of truth is CONTRIBUTING.md §Plan issues (procedure and self-sufficiency test) and the issue structure in .github/ISSUE_TEMPLATE/plan.md. Read both; this skill only adds the mechanics.

Role

Before anything else, find your role (D955; CONTRIBUTING.md §Working with an agent client):

gh repo view "$(scripts/upstream-repo.sh)" --json viewerPermission --jq .viewerPermission

ADMIN, MAINTAIN or WRITE is maintainer mode; TRIAGE, READ, or any failure to read it, is contributor mode. State the mode to the user in one line.

A plan is a proposal: the skill ends by telling the user it waits for a maintainer's approved label, and never adds that label itself (a maintainer may tell you to, in the session). In contributor mode the label edits below are out of reach (they need triage rights): you create a Plan issue, nothing else. To implement an approved plan, a contributor comments on it to claim it; the maintainer assigns it to them.

Writing a plan

  1. Survey the open plans before designing, not just the code: gh issue list --label plan --state open, then read the candidates that touch the same area. A request already covered by an open plan (or already implemented on main) is reported back, not re-planned; a partial overlap means extending/amending the existing issue or stating the relationship (execution order, shared files) in the new one.
  2. Nothing to reserve: the plan's decision number is its issue number (D672). Title it Plan: <title>. Whether it needs a decision file at all (an architectural or contract choice) is stated in its Closing section; the file is written at the end of implementation, not now — the plan is its draft.
  3. Derive the real file:line pointers before writing, with Grep/Glob rather than by reading whole files, and read only the located ranges. For an area you do not already know, send an Explore subagent first and derive the pointers from its report. The plan contains pointers, not paraphrases.
  4. Write the body (in English) to a scratch file following the template structure, then: gh issue create --title "Plan: <title>" --label plan --body-file <file> (a contributor cannot set labels: the template sets plan). Delete the scratch file afterwards — it is not a repository artifact.
  5. Apply the self-sufficiency test from CONTRIBUTING.md before submitting, and replace every real KB name, host, username, employer or client with a placeholder — the issue is public (D259).
  6. One analysis, several plans → every issue states the cross-plan execution order and which sibling plans touch the same files (those land strictly sequentially, never in parallel). Amend a plan by editing the issue body while nothing is implemented yet; once implementation starts, amend via comments only.
  7. Sibling cross-links: create the issues in execution order, then amend each body to reference siblings as #<issue> — the numbers exist only after creation. A pointer into a sibling's not-yet-implemented artifact cites the plan (#<issue> WP<m>), never an invented file:line.
  8. A plan written from a bug issue is promoted in place, not filed anew (maintainer mode): rewrite that issue's body from the template (keep a one-line summary of the original request at the top), retitle it Plan: <title>, and gh issue edit <m> --add-label plan. One issue, one history, nothing to close by hand. In contributor mode, open a new Plan issue that links the original instead. An idea lives in Discussions: a maintainer asks for a plan there, or writes it. Only an analysis that splits one request into several plans files new issues; it then closes the request with -c "Split into #<a>, #<b>".

Read the full file on GitHub · 97 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. 7d ago Changed · +12 lines 95e24c3c791f
  2. 8d ago First seen · 85 lines · 70 tokens per session scan A ceb72c18a3e2

Subscribe to this mod's changes

cartographer-propose-plan is a skill published in the GitHub repository BeppeTemp/cartographer (50 stars, last pushed today), licensed Apache-2.0. It adds 70 tokens to every session and 1,395 once invoked, about $0.0003 per session on Opus 5.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-10-22.