wayfinder-map
Skill0 starsChanged 28 days agoMITView on GitHub
Draw a Wayfinder effort's map as one self-contained HTML page — the blocking graph laid out left to right toward the destination, the takeable tickets as cards, the decisions so far, and the fog — generated from `map.md` and the issue files by a deterministic script, written as `map.html` beside `map.md`, and published to one stable Artifact link per effort. Use when Kyle types /wayfinder-map, or says "draw the map", "show me the map", "render the route", "what's on the frontier", "what's takeable on the map" — even if he doesn't name the skill. NOT for what a session or branch did (visual-summary), a repo's module structure (architecture-viewer), or working a ticket on the map (wayfinder itself).
In this repository11 other files it gives its agents.
- .claude/CLAUDE.mdCLAUDE.md
- CLAUDE.mdCLAUDE.md
- architecture-viewerSkill
- daySkill
- pre-compactSkill
- retireSkill
- reweaveSkill
- teach-researchSkill
- visual-summarySkill
- youtube-breakdownSkill
- youtube-transcriptSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 38
Look in map.md's ## Notes for a line - Rendered map: <url>.
- Very specific: line 39
Present: read that artifact first with the Artifact tool's read action (a publish to an artifact this conversation hasn't read is refused), …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
wayfinder-map — see the route instead of scanning Blocked-by lines
On the local-markdown tracker a Wayfinder map is a map.md plus one issue file per
ticket, and the frontier is a scan of Blocked by: lines. render_map.py does that
scan and draws it. The page is generated output: never hand-edit map.html, and
never treat it as the source of truth — the issue files are.
Low effort; there is no judgment in this skill. The script decides everything the page says.
1. Parse $ARGUMENTS
- An effort directory (the one holding
map.mdandissues/), or nothing. - With nothing: the one
.scratch/*/map.mdunder the repo root. With several, take the most recently modifiedmap.mdand name it first ("Rendering.scratch/06-…; two other maps exist: …") before doing anything else. --no-publish: render only; skip step 3.
2. Render
python3 ~/.claude/skills/wayfinder-map/scripts/render_map.py <effort-dir>It writes <effort-dir>/map.html and prints the path. Warnings on stderr (a ticket
with no Type:, a blocker that names no ticket file) go to Kyle verbatim — they are
defects in the map files, not in the page. Exit 1 means a missing map.md or a cycle in
the blocking lines; report the reason and stop.
3. Publish (unless --no-publish)
One stable Artifact link per effort, recorded in the map itself.
- Look in
map.md's## Notesfor a line- **Rendered map**: <url>. - Present: read that artifact first with the Artifact tool's
readaction (a publish to an artifact this conversation hasn't read is refused), then publishmap.htmlwithurlset to it. - Absent: publish
map.htmlfresh (iconmap; the page's<title>is already the map's title), then append- **Rendered map**: <url>to## Notes. That one-line edit tomap.mdis the only change this skill makes to the map files.
4. Deliver
Three lines, nothing more:
- The local path to
map.html. - The Artifact link (or "not published").
- The frontier in one sentence — the takeable tickets by number and title, glossed.
Keeping it fresh
Wayfinder sessions run the renderer after every claim, resolve, new ticket, or change
to blocking (the global CLAUDE.md's Route render paragraph). A Stop hook is the
backstop: at the end of every turn it re-renders any map.html under
<cwd>/.scratch/*/ older than its inputs, and does nothing otherwise.
Install the hook once per machine (a section, not a step: this skill never runs the installer on its own):
python3 ~/.claude/skills/wayfinder-map/scripts/install_hook.py --dry-run # look first
python3 ~/.claude/skills/wayfinder-map/scripts/install_hook.pyIt backs up ~/.claude/settings.json, appends one command-type Stop hook, and changes
nothing if the hook is already there. The hook never publishes; publishing stays here.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

