project-map
Skill2 starsChanged 9 days agoMITView on GitHub
Draw or update a project map, a single self-contained Hebrew HTML page that shows the project's main parts, the status of each part with evidence, what is blocked and on what, progress toward the next milestone, open decisions waiting on the user, and the recommended next step. Use when the user asks for a project map, project status, progress overview, or "where are we?"; before starting a long autonomous run; and after reaching a milestone. For general plans, reports, or write-ups use html-communication instead.
7 other projects use a version of this.
Adopted by
Most recently taken up by
- mmungdong/skillstheir own version, first seen Nov 1, 2026
- Isabella-a/Skillstheir own version, first seen Oct 19, 2026
- Tyr9102/project-maptheir own version, first seen Oct 11, 2026
- Sapere-IA/sdd-onboarding-kittheir own version, first seen Oct 6, 2026
- DanielGodriNeto/claude-skillstheir own version, first seen Oct 5, 2026
- yeaboi-ai/yeaboi.aitheir own version, first seen Sep 20, 2026
Other versions7 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 7
- Sapere-IA/sdd-onboarding-kit★ 19same name
- Tyr9102/project-map★ 8same name
- yeaboi-ai/yeaboi.ai★ 4same name
- Isabella-a/Skills★ 2same name
- DanielGodriNeto/claude-skills★ 1same name
- mmungdong/skills★ 1same name
- TheophilusChinomona/idev★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository6 other files it gives its agents.
- cross-reviewSkill
- file-prSkill
- html-communicationSkill
- html-emailSkill
- session-transferSkill
- v3-ui-styleSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
16 rules. 0 are common, 7 are distinctive, and 9 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
Write only inside .project-map/ at the repository root.
- Very specific: line 13
Read code, Git history, branches, the working tree, the README and other project documents, and open issues and pull requests when a …
- Distinctive: line 14
Do not run the project's builds, tests, installs, migrations, or servers just to compute status.
- Distinctive: line 15
Keep the map local. Do not publish or upload it unless the user explicitly asks.
- Very specific: line 16
Check git check-ignore -q .project-map.
- Distinctive: line 21
If you are already running as a subagent, build the map inline.
- Distinctive: line 22
Run it before a long autonomous stretch, after each milestone, and when the user asks where the project stands.
- Very specific: line 77
Read the existing state.json if it exists.
- Very specific: line 84
Write state.json, then render index.html from it with /* project-map:fonts */ inside its <style> element, and run embed-fonts.
- Very specific: line 85
Run check. Fix every reported problem in state.json or the page, then run check again.
- Very specific: line 115
Write all visible prose in Hebrew.
- Distinctive: line 116
Use Heebo for all text, including headings.
- Distinctive: line 120
Do not use the dash characters U+2010 through U+2015 or U+2212 in visible prose.
- Very specific: line 121
If the frontend-design skill is available, load it before rendering.
- Distinctive: line 122
Write it as a working status page, not a marketing page.
- Very specific: line 126
After each update, reply briefly with: the path to index.html, whether check passed, the next milestone and how much remains, the …
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Project Map
A project map is a living status page for one repository. It answers four questions at a glance: what the project is made of, how far each part has gotten, what is stuck and on what, and what to do next.
Boundaries
- Write only inside
.project-map/at the repository root. Never change source, configuration,.gitignore,.git/info/exclude, issues, or pull requests. - Read code, Git history, branches, the working tree, the README and other project documents, and open issues and pull requests when a read-only CLI such as
ghis available. - Do not run the project's builds, tests, installs, migrations, or servers just to compute status. Use evidence that already exists: commits, files, recorded test results, CI status, issues, and the current conversation.
- Keep the map local. Do not publish or upload it unless the user explicitly asks.
- Check
git check-ignore -q .project-map. If the folder is not ignored, do not edit any ignore file. Report it and suggest adding.project-map/to the repository's.gitignore. - Parts belong to this repository. Other worktrees of the same repository are evidence for the matching parts. Work in another repository that a part depends on appears as that part's
blockedOnand evidence, not as a part of its own.
Running it
- If you are already running as a subagent, build the map inline. Otherwise, if the host supports background subagents, delegate the map to one at medium effort so the main session keeps working. If it does not, build it inline and keep it brief.
- Run it before a long autonomous stretch, after each milestone, and when the user asks where the project stands. When the user asks "where are we?", answer from a freshly updated map.
- There is no first-run style interview and no stored style preference. Use the visual rules below.
Files
.project-map/
state.json # source of truth for the agent; read before updating, write after
index.html # rendered map; opens by double-clickstate.json keeps what must survive between updates:
{
"version": 1,
"updatedAt": "2026-01-31T18:00:00Z",
"lastCommit": "<full SHA of HEAD at the last update>",
"parts": [
{
"id": "auth",
"name": "Authentication",
"status": "done | in-progress | not-started | blocked | unknown",
"summary": "One short sentence",
"evidence": ["commit abc1234", "tests/auth.test.ts passes in CI run 812"],
"blockedOn": "What it waits on, when blocked"
}
],
"milestones": [
{
"id": "m1",
"name": "Public beta",
"parts": ["auth", "billing"],
"status": "proposed | approved | reached"
}
],
"decisions": [
{
"id": "d1",
"question": "Which payment provider?",
"options": ["Stripe", "Paddle"],
"recommendation": "Stripe, because ...",
"blocks": ["billing"],
"status": "open | answered",
"answer": null
}
],
"nextStep": "One concrete action"
}Set blockedOn to null unless status is blocked. Preserve user edits. If the user has renamed parts, edited milestones, or answered decisions in state.json, keep those changes and build on them.
Building the map
- Read the existing
state.jsonif it exists. Collectgit log,git diff --stat <lastCommit>..HEAD,git status, branches, open issues and pull requests, and the README. - Split the project into a small number of main parts, usually 4 to 8, named the way the user would name them. Keep part IDs stable across updates.
- Give each part one status and cite evidence for it. Use
unknownwhen evidence is missing. Never guess a status. A part isblockedonly when it names what it waits on: another part, an external dependency, or an open decision. - Milestones belong to the map. If the user has not named any, propose a first version from the README, commit history, and issues and mark each one
proposed. Only the user can mark a milestoneapproved. Mark an approved milestonereachedwhen every part it lists isdone. - Record product decisions the agent may not make on its own as
opendecisions, with options and a recommendation. Do not pick a default and proceed. Work that depends on an open decision stays blocked, and only independent work continues. A pending merge, review, or release that the user owns is a dependency, not a decision. - Choose one concrete next step that does not depend on an open decision.
- Compare with the previous state to find what changed: new parts, status changes, reached milestones, answered decisions, and the commit range since
lastCommit. On the first run there is nothing to compare; say that this is the first map, name its baseline commit, and highlight parts with uncommitted changes instead. Uncommitted changes count as evidence for status, but list them separately from the commit range. - Write
state.json, then renderindex.htmlfrom it with/* project-map:fonts */inside its<style>element, and runembed-fonts. - Run
check. Fix every reported problem instate.jsonor the page, then runcheckagain. Report the map only after it passes.
Scripts
scripts/check-map.ps1 runs from the repository root and needs no installs on Windows. On macOS or Linux it needs PowerShell 7 (pwsh); if it is missing, ask the user before installing it (instructions).
- Windows:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "<skill-directory>/scripts/check-map.ps1" <command> - macOS and Linux:
pwsh -NoProfile -File "<skill-directory>/scripts/check-map.ps1" <command>
Resolve <skill-directory> to this skill's installed directory and keep it quoted.
Commands:
embed-fontsreplaces the font marker, or a previous embed, in.project-map/index.htmlwith the Heebo@font-facerules. Never write the base64 by hand.checkvalidatesstate.jsonandindex.htmlagainst the rules in this skill. It exits non-zero and lists each problem when something fails.
The page
Top of the page, always in this order:
- How many parts remain before the next milestone, and which milestone that is. The next milestone is the first approved one that is not reached. If none is approved, use the first proposed one and label it as proposed.
- The recommended next step.
- Open decisions waiting on the user, or a short line saying there are none.
- What changed since the last update, with changed parts highlighted in the part list.
Then the parts, each with its status, one-line summary, evidence, and what it waits on when blocked. Add other panels only when they help this specific project, for example a dependency view, a risk list, or recent activity. Do not use a fixed template.
Visual and technical rules
- Produce exactly one self-contained HTML file no larger than 512 KB. Embed all CSS, scripts, icons, and data. The page must work from
file://, so embed the state data in the page and do not fetchstate.jsonor anything else at runtime. - Write all visible prose in Hebrew. Use
<html lang="he" dir="rtl">and CSS logical properties. Isolate English names, code, paths, commit hashes, and numbers withdir="ltr"or<bdi>where needed. Evidence items such as commit references, paths, and tool output may stay in their original language. - Use Heebo for all text, including headings. Create hierarchy with size and weight only. Code, paths, and commit hashes may use a monospace font.
- Embed Heebo from this skill's
assets/fonts/withembed-fonts, which declares the family"Heebo Variable". Usefont-family: "Heebo Variable", Heebo, system-ui, sans-serif. The fonts are licensed underassets/fonts/OFL.txt. - Support light and dark themes through
prefers-color-scheme. Use large, confident typography and clear status colors that remain distinguishable without color through labels or icons. Avoid purple. - Make it readable on a laptop and on a phone.
- Do not use the dash characters U+2010 through U+2015 or U+2212 in visible prose. The Hebrew maqaf is allowed.
- If the
frontend-designskill is available, load it before rendering. Its guidance applies where it does not conflict with this section, and the map must be correct without it. - Write it as a working status page, not a marketing page.
Reporting back
After each update, reply briefly with: the path to index.html, whether check passed, the next milestone and how much remains, the recommended next step, any open decisions, and whether .project-map/ still needs to be ignored.
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.

