chart-map
Chart a Decision map for an effort too big for one agent session — name the destination, grill breadth-first to separate real decision tickets from fog…
Skill by ThodsaphonSonthiphin
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/thodsaphonsonthiphin-chart-map
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, design, data, research
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/chart-map
What's inside
- Skill name
chart-map- Description
- Chart a Decision map for an effort too big for one agent session — name the destination, grill breadth-first to separate real decision tickets from fog, create the map and its tickets behind a dry-run gate, fire the research subagents, then STOP. Use when the user has a loose, foggy, multi-session idea — "this is huge, where do we even start", "plan this migration", "chart this", "make a decision map", "map out this initiative", "too big for one session" — and the route to the goal is not visible yet. Do NOT use for a well-scoped single-session design (that is grill-then-plan / sp-grill-with-doc), and do NOT use to continue a map that already exists (that is work-map). If the opening grill surfaces no fog, this skill stops and says a map is not needed.
- License
- MIT
- Instructions
- 432 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (5)
- SKILL.md
- data-contracts.md · references/
- github_map_ops.py · scripts/
- local_map_ops.py · scripts/
- map_core.py · scripts/
SKILL.md (first lines)
# chart-map
Chart the way; don't charge at the goal. The output is a **Decision map** — one
item indexing the whole effort — plus child **Decision tickets**: questions whose
resolution is a *decision*, each sized to one session.
**Plan, don't do.** Charting creates the map and hand-resolves nothing (ADR
0041). One charting run is one session, and it ends at Step 5.
Emit this diagram once, at the start, so the user can see the whole run:
```
CHART A DECISION MAP — one session, then stop
─────────────────────────────────────────────
① PREFLIGHT — ask which backend
│ local docs/decision-map/<slug>/
│ or GitHub issues + sub-issues
│ name it BEFORE any charting
▼
② DESTINATION (HITL — the human answers)
│ what does arriving look like?
│ one or two sentences, one line, first
▼
③ FRONTIER — breadth-first, never deep
│ HITL too: you ask, the human answers
│ can you STATE the question now?
│ yes → ticket · no → fog
│ past the destination → out of scope
│
│ no fog anywhere? ■ STOP — no map
│ needed; hand to grill-then-plan
▼
④ GATE — dry run first, always
│ create · skip (exists) · merge
│ show every label → get a yes → --real
▼
⑤ RESEARCH subagents, in parallel
│ findings posted back with `resolve`
▼
⑥ LINT — run the check, report it
│ exit 0 clean · exit 3 findings
▼
■ STOP — report the `frontier`, hand off
charting hand-resolves nothing
```
## Step 0 — Preflight: name the backend before you chart
**Two backends exist. Ask which one, before anything else happens** — even if
the user never mentioned a tracker. Someone who expected their map on a shared
board needs to learn where it lands **here**, not after spending a session
charting.
| backend | where the map lives | how it is shared | needs |
|---|---|---|---|
| **local markdown** (default) | `docs/decision-map/<slug>/` in this repo | by committing the repo | nothing |
| **GitHub Issues** | an issue per map, a **sub-issue** per ticket, native `blocked-by` dependencies — plus a **Map pointer** at `docs/decision-map/<slug>/map.md` so the repo lists the map (ADR 0173) | the repo's issue tracker — visible to anyone with access | `gh auth status` passing, and a repo you may write issues to |
Default to **local** and say so; only use GitHub if the user asks for a board or
names a repo. Azure DevOps is **not** available (ADR 0059 — its half of the
marker probe has never been run). If ADO specifically is a hard requirement,
stop and say decision-map cannot do that yet.
Do **not** offer to install `ado-backlog` or `github-backlog` in either case —
neither plugin can drive a decision map, so offering them would be a false
promise. `github-backlog` in particular is a *findings-to-issues* pipeline, not
a decision map; the two write different things to the same tracker.
Then fix these two, and use them for every command from Step 1 down:
| | local | GitHub |
|---|---|---|
| **`<ops>`** | `${CLAUDE_SKILL_DIR}/scripts/local_map_ops.py` | `${CLAUDE_SKILL_DIR}/scripts/github_map_ops.py` |
| **extra flag on every call** | *none* — `--root` defaults to `docs/decision-map` | **`--repo <owner>/<repo>`, always.** It is never inferred from the git remote: this writes issues; `--root` only if the pointer must land somewhere other than `docs/decision-map` |
Run `<ops>` with `python`, from the repo root, so a local map lands at its
ADR-0042 default location. Everything from Step 1 down is backend-neutral — the
subcommands, the flags, the JSON shapes and the gate are identical on both
(ADR 0062); only `<ops>` and that one flag change.
**On GitHub, two limits are hard and worth knowing before you grill breadth-first:**
a map cannot exceed **100 tickets** (GitHub's sub-issue ceiling) and a ticket
cannot be blocked by more than **50** others. `chart` checks both before it
writes anything rather than failing partway.
**Contract** — every subcommand, flag and JSON shape used below is fixed by
`references/data-contracts.md`. Where this skill and the
contract disagree, the contract wins.
The map is repo docs, so it is committed through **assisted git** — offer the
commit, never make it automatically.
## Step 1 — Name the destination
Run a short grilling exchange (load `sp-grill-with-doc` the way your harness loads
skills, if it is available; otherwise ask directly, one question at a time):
**what does reaching the end look like?** A written spec, a locked decision, a
change made in place?
One or two sentences. The destination is what every ticket is measured against,
and what makes "out of scope" decidable. Write it down before any ticket exists.
It is stored as a **single line** — the tool collapses any line break to a
space, in `title` and `destination` alike, so that a stray newline can
never truncate the value or inject a heading into the map document. Write it as prose,
not as a bulleted list or a paragraph break. (`notes` is different: it is a
**list** region now, one bullet per entry, and each bullet is flattened the
same way — ADR 0101.)
### The HITL guard — it governs this step and Step 2 both
Naming the destination is itself a HITL grilling exchange, and so is the
breadth-first grill that follows. **An agent that answers its own grilling
questions has broken the type.** A map charted that way is fiction: every
ticket on it is measured against a destination the human never actually agreed
to, and the whole effort then runs off it.
The line is *who supplies the answer*, not who does the work:From ThodsaphonSonthiphin/workflow-daily-work, MIT.
More from ThodsaphonSonthiphin/workflow-daily-work
- 0.529score
fit-gap-analysis
ThodsaphonSonthiphin
Compare a target (spec, product vision, competitor, RFP, or "to-be" design) against a system as actually built, and produce an evidence-first fit-gap — a…
SkillBFreshness: BClaude Code +9 - 0.529score
extract-findings
ThodsaphonSonthiphin
Normalize ANY input into findings.json — the first step toward turning review notes into an Azure DevOps backlog.
SkillBFreshness: BClaude Code +9 - 0.529score
feynman-explain
ThodsaphonSonthiphin
Fixed-format explanation discipline for concepts, systems, and code.
SkillBFreshness: BClaude Code +9 - 0.529score
ado-auth
ThodsaphonSonthiphin
Authenticate to Azure DevOps and fix auth problems — the shared primitive every other ado-* skill relies on.
SkillBFreshness: BClaude Code +9 - 0.529score
ado-create-work-items
ThodsaphonSonthiphin
Create Azure DevOps work items from a backlog_input.json (the output of classify-work-items) via the bundled create-backlog.cs script.
SkillBFreshness: BClaude Code +9 - 0.529score
ado-writeback-tracking
ThodsaphonSonthiphin
Add traceability columns to a spreadsheet source and write created Azure DevOps ticket IDs/URLs back into it, matched row-by-row by key.
SkillBFreshness: BClaude Code +9 - 0.529score
findings-to-ado-backlog
ThodsaphonSonthiphin
End-to-end orchestrator that turns findings from ANY input (audit spreadsheet, code/security review, QA report, meeting notes, a pasted list of issues) into…
SkillBFreshness: BClaude Code +9 - 0.529score
findings-to-github-issues
ThodsaphonSonthiphin
End-to-end orchestrator that turns findings from ANY input (audit spreadsheet, code/security review, QA report, meeting notes, a pasted list of issues) into a…
SkillBFreshness: BClaude Code +9 - 0.529score
document-what-shipped
ThodsaphonSonthiphin
Write and publish ONE documentation page about something that already ships - a user manual, a process and flow page, a release note, a runbook, or a rules…
SkillBFreshness: BClaude Code +9 - 0.529score
classify-github-issues
ThodsaphonSonthiphin
Map triaged findings to GitHub Issues with the correct labels, milestone, and body, and emit github_backlog_input.json ready for creation.
SkillBFreshness: BClaude Code +9 - 0.529score
classify-work-items
ThodsaphonSonthiphin
Map triaged findings to the correct Azure DevOps work item types for the TARGET project's process, and emit backlog_input.json ready for creation.
SkillBFreshness: BClaude Code +9 - 0.529score
copy-audit
ThodsaphonSonthiphin
Find every copy of a plugin or skill on this machine and prove which ones are stale.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 6
- Last commit (this folder)
- Sep 5, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ThodsaphonSonthiphin
- 0.529score
extract-findings
ThodsaphonSonthiphin
Normalize ANY input into findings.json — the first step toward turning review notes into an Azure DevOps backlog.
SkillBFreshness: BClaude Code +9 - 0.529score
feynman-explain
ThodsaphonSonthiphin
Fixed-format explanation discipline for concepts, systems, and code.
SkillBFreshness: BClaude Code +9 - 0.529score
ado-auth
ThodsaphonSonthiphin
Authenticate to Azure DevOps and fix auth problems — the shared primitive every other ado-* skill relies on.
SkillBFreshness: BClaude Code +9 - 0.529score
ado-create-work-items
ThodsaphonSonthiphin
Create Azure DevOps work items from a backlog_input.json (the output of classify-work-items) via the bundled create-backlog.cs script.
SkillBFreshness: BClaude Code +9 - 0.529score
ado-writeback-tracking
ThodsaphonSonthiphin
Add traceability columns to a spreadsheet source and write created Azure DevOps ticket IDs/URLs back into it, matched row-by-row by key.
SkillBFreshness: BClaude Code +9 - 0.529score
document-what-shipped
ThodsaphonSonthiphin
Write and publish ONE documentation page about something that already ships - a user manual, a process and flow page, a release note, a runbook, or a rules…
SkillBFreshness: BClaude Code +9
Cite this page
chart-map skill. Agent Mart. https://agentmart.dev/skills/thodsaphonsonthiphin-chart-map (last updated 2026-10-24)