claude-md-starter
Generates a fully structured, project-specific CLAUDE.md by scanning the repo for signal files (package.json, Makefile, .github/workflows/, .env.example, etc.), inferring stack, commands, architecture, and conventions, then asking at most 3 targeted questions for what cannot be inferred. Use whenever the user says 'create a CLAUDE.md', 'my CLAUDE.md is blank', 'generate project context', 'initialize CLAUDE.md', 'set up Claude context for this repo', 'fill in my CLAUDE.md', or any variation where someone needs their project context documented for Claude. If a CLAUDE.md already exists with content, runs a diff-and-merge flow before writing.
pinned to #02cfefbupdated 2 weeks ago
Ask your AI client: “install skills/claude-md-starter”.
Requires the metahub MCP server installed in your client. Set up MCP.
mh install skills/claude-md-startermetahub onboarded this repo on the author's behalf.
If you own github.com/Infrasity-Labs/dev-gtm-claude-skills on GitHub, claim the listing to take over publishing. Your claim preserves the existing eval history and badges; only the curator label is replaced with verified-publisher on your next publish.
Stars
87
Last commit
2 weeks ago
Latest release
published
- #ai-citation
- #ai-visibility
- #claude
- #claude-skills
- #dev-gtm
- #geo
- #skills
About this skill
Pulled from SKILL.md at publish time.
Scans the repo, infers the tech stack and conventions, asks at most 3 targeted questions, and writes a populated CLAUDE.md that gives Claude full project context from session one.
Evaluation report
WarningsAutomated checks the publisher passed at publish time — structure, docs, safety, and whether the artifact behaves as claimed.02cfefb· 2 weeks ago
Kind-specific
31Skill: SKILL.md present
found at .claude/skills/claude-md-starter/SKILL.md · frontmatter source: SKILL.md
Skill: body content present
1,141 words · 7,360 chars · 11 sections · 2 code blocks
Skill: triggers declaredwarn
No `trigger` phrases in SKILL.md frontmatter
Add `trigger:` lines so Claude knows when to activate this skill — e.g. `when building MCP servers` or `for diagram creation`.
Skill: allowed-tools scope
no allowed-tools restriction (Claude may use anything)
Release history
1- releasecurrent02cfefbwarn2 weeks ago
Contents
Scans the repo, infers the tech stack and conventions, asks at most 3 targeted questions, and writes a populated CLAUDE.md that gives Claude full project context from session one.
Invocation Triggers
Explicit:
- "create a CLAUDE.md"
- "my CLAUDE.md is blank"
- "generate project context"
- "initialize CLAUDE.md"
- "set up Claude context for this repo"
- "fill in my CLAUDE.md"
- "run the claude-md-starter skill"
Implicit:
- User pastes a near-empty CLAUDE.md and asks Claude to populate it
- User keeps re-explaining the same project context at the start of sessions
Run immediately when triggered — no upfront questions before scanning.
Workflow (6 Nodes)
| Node | Role |
|---|---|
| 1 — Detect | Check if CLAUDE.md exists and measure content length |
| 2 — Scan | Read signal files from the project root (see references/scan-signals.md) |
| 3 — Infer | Draft all sections that can be derived from scanned signals |
| 4 — Grill-me | Ask at most 3 questions for what cannot be inferred |
| 5 — Generate | Write the full CLAUDE.md using the template in references/claude-md-template.md |
| 6 — Validate | Confirm required sections are present and non-placeholder |
Node 1 — Detect
Check for CLAUDE.md at the project root.
If not found: Proceed directly to Node 2.
If found and has ≤ 200 characters: Treat as blank — proceed to Node 2.
If found and has > 200 characters: Run the diff-and-merge flow before writing:
-
Read the existing file
-
Complete Nodes 2–4 to produce the generated version
-
Compare section by section — for each of the 8 required sections, classify as:
- NEW — exists in generated, absent or empty in existing
- ENHANCED — both versions have content; generated version adds more
- SAME — both versions have equivalent content
- CONFLICT — both versions have different non-empty content
-
Present a diff summary table:
Section | Existing | Generated | Action
---------------------|----------|-----------|-------
Project Overview | present | enhanced | +additions available
Tech Stack | absent | new | will add
Commands | present | enhanced | +2 commands found
Architecture | absent | new | will add
Code Conventions | present | same | no change
Testing | absent | new | will add
What NOT To Do | absent | new | will add
Environment Setup | absent | new | will add
-
Offer three options:
- A (Recommended) — Keep existing content + add new and enhanced sections only (safe, additive)
- B — Full replace with generated version
- C — Review each conflicting section individually before writing
-
Write the chosen merge result.
Node 2 — Scan
Read signal files using the catalog in references/scan-signals.md. For each file found, extract the fields it reveals. Missing files are skipped silently.
Run all reads in parallel where possible:
package.json— framework, scripts, package manager, dependenciespyproject.toml/requirements.txt/setup.py— Python stackCargo.toml/go.mod/pom.xml/build.gradle— languageMakefile/justfile— named commands.github/workflows/*.yml— CI/CD steps, deploy targetsDockerfile/docker-compose.yml— runtime environment, services.eslintrc.*/.prettierrc.*/eslint.config.*— JS/TS code styleruff.toml/.flake8/mypy.ini— Python lint/type configjest.config.*/vitest.config.*/pytest.ini/conftest.py— test frameworktsconfig.json— TypeScript settings.env.example/.env.sample— required environment variablesREADME.md(first 40 lines only) — project description- Top-level directory listing — architecture pattern
.gitignore— build artifacts and generated files
Node 3 — Infer
Using scanned data, populate as many sections as possible before asking questions:
- Project Overview → from README.md first paragraph; fall back to
package.jsondescriptionfield - Tech Stack → from language files + framework dependencies
- Commands → from
package.jsonscripts, Makefile targets, workflow run steps - Architecture → from top-level directory structure
- Code Conventions → from eslint/prettier/ruff config values
- Testing → from test config files and test directory location
- What NOT To Do → from
.gitignorebuild outputs, workflow branch protection, lock files - Environment Setup → from
.env.examplevariable names and docker-compose services
Node 4 — Grill-Me Intake
Ask only for what cannot be inferred. Maximum 3 questions. Skip any question whose answer is already clear from scanned files.
Present all applicable questions together in one message — never ask them across multiple turns:
Quick questions to finish your CLAUDE.md (answer whichever apply):
- What does this project do in one sentence? (skip if README was found)
- Are there any files, directories, or systems that should never be touched or auto-modified by Claude?
- Any team conventions not captured in your lint config? (naming patterns, PR size, commit format, review process)
Node 5 — Generate
Produce the CLAUDE.md using the exact section structure from references/claude-md-template.md.
Critical rules:
- Every populated section must have real content — no
[TODO: add your X here]placeholders - If a section cannot be filled at all, omit it entirely rather than writing a placeholder
- Commands must be exact and runnable (
npm run dev, not "run the dev server") - What NOT To Do must have at least 2 entries
- Write in imperative, direct style ("Run tests with...", "Never edit files in...")
- No heading levels deeper than H2 within sections
Node 6 — Validate
Before writing, verify against references/validation-checklist.md:
- All populated sections have real content (no placeholders)
- Commands section has ≥ 2 runnable commands
- What NOT To Do has ≥ 2 entries
- No unreplaced placeholder text remains
- If existing CLAUDE.md had > 200 characters, diff-and-merge flow was completed
If Commands or What NOT To Do would fail: ask one final targeted question before writing.
Output
Write the file to CLAUDE.md at the project root. After writing, print a one-line confirmation:
✓ CLAUDE.md written — X sections populated from repo scan, Y from your answers.
If in diff-and-merge mode, also print which sections were added vs. left unchanged.
Anti-Patterns To Reject
- Generating CLAUDE.md without running the scan first
- Asking more than 3 intake questions
- Writing placeholder sections ("add your commands here")
- Overwriting an existing populated CLAUDE.md without running the diff-and-merge flow
- Writing generic boilerplate not specific to the scanned project
- Including commands that weren't found in signal files and weren't confirmed by the user
References
references/scan-signals.md— full catalog of signal files and what each revealsreferences/claude-md-template.md— canonical CLAUDE.md section structure and style rulesreferences/validation-checklist.md— required fields and quality gates before writing
Version: 1.0.0
Reviews
No reviews yet. Be the first.
Related
Planning With Files
Claude Code skill implementing Manus-style persistent markdown planning — the workflow pattern behind the $2B acquisition.
Frontend Slides
Create beautiful slides on the web using Claude's frontend skills
Guizang Ppt Skill
AI-agent Skill for generating polished HTML slide decks: editorial magazine and Swiss layouts, image prompts, social covers, and a WebGL/low-power presentation runtime.
mh install skills/claude-md-starter