thinking-map-territory — Claude Code skill: verify code, not the map
The skill makes the agent check live code or data whenever a doc, test, metric or assumption disagrees with observed behavior.
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-map-territory -a claude-codeWhat thinking-map-territory does
Docs, tests, diagrams, comments and metrics are maps. Running code and actual data are the territory. When the two disagree, this skill verifies territory and updates the model instead of forcing reality to match the description.
The procedure has six steps. The agent names the map first — the exact doc, test, metric or assumption, quoted rather than paraphrased. Then it names the territory check that would prove or disprove the claim, confirms where the map came from and how fresh it is, and observes the territory: reads the code path, runs it, queries real data or reproduces the behavior. Finally it records the delta and decides what to fix, the code or the map. Output follows a fixed template with Map, Territory check, Observation, Delta, Updated model, Action and Uncovered fields.
Skip it when the map is the artifact you were asked to edit — a doc, diagram or spec. Also skip when the map is generative and no drift is claimed, as with codegen types. If the mismatch cannot change the decision, note it and move on. Once territory is confirmed and you have competing causal hypotheses, the author points to scientific-method; for exploit construction, to red-team.
What it helps with
- work out why tests pass but production behavior is wrong
- check a claim about the system that rests on a summary, not the code
- tell whether a schema or metric is stale after a config change
- find code paths no map covers
- stop theorizing before looking at what actually happens
Example prompts for the agent
- the service behavior doesn't match the README — verify the territory
- tests are green but manual runs fail, walk through the skill steps
- before explaining the cause, inspect the live code and data
How to install thinking-map-territory
1Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-map-territory -a claude-code2Manually: put the files in place
~/.claude/skills/thinking-map-territory/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/thinking-map-territory/
1Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-map-territory -a codex2Manually: put the files in place
.agents/skills/thinking-map-territory/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-map-territory -a cursor2Manually: put the files in place
.cursor/skills/thinking-map-territory/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install tjboudreaux/cc-thinking-skills thinking-map-territory2Manually: put the files in place
.github/skills/thinking-map-territory/SKILL.md1Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-map-territory -a gemini-cli2Platform CLI
gemini skills install https://github.com/tjboudreaux/cc-thinking-skills --path skills/thinking-map-territoryManually: put the files in place
.devin/skills/thinking-map-territory/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-map-territory -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about thinking-map-territory
How do I install thinking-map-territory in Claude?
Run npx skills add tjboudreaux/cc-thinking-skills --skill thinking-map-territory -a claude-code. The skill lands in ~/.claude/skills/thinking-map-territory/SKILL.md.
What does thinking-map-territory do?
When a claim, doc, test or metric conflicts with observed behavior, the skill turns the agent from theory toward verifying live code or data. Territory overrules the map.
How is it different from scientific-method?
thinking-map-territory only settles model-versus-observation conflicts. Once territory is confirmed and competing causal hypotheses appear, the author recommends switching to scientific-method.
Source text
SKILL.md · MIT
--- name: thinking-map-territory description: When a claim, doc, test, metric, or assumption conflicts with observed behavior, stop theorizing from the map and verify the live code or data; let territory overrule. disable-model-invocation: true --- # Map Territory Docs, tests, diagrams, metrics, comments, and mental models are maps. Running code and actual data are the territory. When they disagree, verify territory and update the model — never force reality to match the description. ## When to Use - Observed behavior contradicts a doc, test expectation, diagram, comment, dashboard, or prior assumption. - A claim about the system rests on a secondary source rather than current code or data. - Tests pass but production or manual behavior is wrong. - You are about to theorize why something happens before inspecting what happens. - A decision depends on whether a model, schema, or metric is still current. ## When NOT to Use - The map is the artifact you are asked to edit (doc, diagram, spec) — that artifact is the task territory. - Same path already verified this session — reuse that observation. - Map is authoritative and generative (codegen types, derived schema) with no claimed drift. - The mismatch cannot change the decision — note and move on. - Competing causal hypotheses after territory is confirmed — switch to scientific-method. - Security exploit construction — use red-team; this skill only settles model-versus-observation. ## Procedure 1. **Name the map.** State the exact representation trusted: which doc, test, metric, diagram, comment, or assumption. Quote the claim, not a paraphrase. 2. **Name the territory check.** Specify the observation that would prove or disprove the claim: code path, runtime value, query, reproduction, recent change, or live metric. 3. **Verify source and freshness.** Confirm origin of the map (author, generator, last update) and whether it could be stale relative to deploy, config, or data change. Prefer primary current sources over summaries. 4. **Observe the territory.** Read the real code path, run or instrument it, query real data, or reproduce the behavior. Do not predict from signatures or names alone. 5. **Record the delta and update.** If territory contradicts the map, territory wins for shipped behavior. Document the gap, revise the model, then decide the fix (code, map, or both). Note unmapped paths — likely next failure sites. 6. **Stop when settled.** Once the claim is confirmed or overturned with a concrete observation, stop re-checking the same path. ## Output ```text Map: <claim + source + freshness> Territory check: <what was inspected/run/queried> Observation: <concrete result, not interpretation> Delta: <aligned | map wrong | territory incomplete> Updated model: <corrected understanding> Action: <fix code | update map | no decision impact> Uncovered: <paths no map covers> ``` ## Verification - Falsify if you reasoned from the map without a territory observation, trusted a stale secondary source, or forced code to match a wrong doc without checking either. - Stop when the contradiction is resolved or irrelevant to the decision. - Over-application guard: do not re-verify the whole system when editing the map, when the map is the generative source of truth, or when the gap cannot change the next action.
© tjboudreaux · MIT · tjboudreaux/cc-thinking-skills