Agent skill

Claude Md Generator

by Varnan-Tech in Varnan-Tech/opendirectory

A skill your agent uses when the user asks to generate or update a project's CLAUDE or AGENTS context file from a codebase scan.

MITAuto-check passedAgent Workflows

Install Claude Md Generator

skills CLI
$ npx skills add Varnan-Tech/opendirectory --skill claude-md-generator -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Varnan-Tech/opendirectory claude-md-generator --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Varnan-Tech/opendirectory.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/claude-md-generator .claude/skills/claude-md-generator && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
claude-md-generator
GitHub stars
674
Token cost
~2.1k tokens
SKILL.md length
603 words
Files
5 (incl. references)
Skills in repo
61
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when the user asks to generate or update a project's CLAUDE or AGENTS context file from a codebase scan.

  • Works in 8 steps: Detect Mode → Audit Mode (skip to Step 3 if… → Scan Project Structure → …
  • The user asks to generate
  • SKILL.md covers Step 1: Detect Mode, Step 2: Audit Mode (skip to…, Step 3: Scan Project Structure and Step 4: Extract Build and Test…, plus 5 more sections
  • Calls python3 and curl; reaches generativelanguage.googleapis.com; needs GEMINI_API_KEY

What it does

Claude Md Generator is an agent skill from Varnan-Tech/opendirectory. Use when the user asks to generate or update a project's CLAUDE or AGENTS context file from a codebase scan. Writes a focused file under 100 lines containing only the non-obvious build commands, conventions, and gotchas Claude Code needs.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `README.md`, `evals/evals.json` and `references/section-guide.md`). Compatibility notes: ["claude-code","gemini-cli","github-copilot"]

It sits in Agent Workflows, covering Agent instruction files. The repository describes itself as: AI Agent Skills built for Founders who hate Marketing. The licence is MIT.

When your agent uses it

  • The user asks to generate
  • Update a projects CLAUDE
  • AGENTS context file from a codebase scan

Example prompts

  • “/claude-md-generator”

Requirements

  • Python 3
  • A credential in GEMINI_API_KEY
  • Compatibility (from SKILL.md): ["claude-code","gemini-cli","github-copilot"]

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Detect Mode
  2. Audit Mode (skip to Step 3 if create/update)
  3. Scan Project Structure
  4. Extract Build and Test Commands
  5. Find Code Style and Gotchas
  6. Generate CLAUDE.md Draft with Gemini
  7. Self-QA
  8. Present Draft and Wait for Approval

What it can do on your machine

Read from SKILL.md and the folder at commit 62e437a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python3
    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • generativelanguage.googleapis.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • GEMINI_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    ["claude-code","gemini-cli","github-copilot"]

    From compatibility in the SKILL.md frontmatter.

Context cost

Claude Md Generator loads about 2.1k tokens when it runs, and up to ~3.6k if it reads all its reference files. Until then it costs about 65 tokens; SKILL.md has 603 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~65
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Varnan-Tech/opendirectory at commit 62e437a, republished under its MIT licence (© Varnan-Tech). 603 words, ~2,111 tokens.

Download SKILL.mdSave it as .claude/skills/claude-md-generator/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
claude-md-generator
description
Use when the user asks to generate or update a project's CLAUDE or AGENTS context file from a codebase scan. Writes a focused file under 100 lines containing only the non-obvious build commands, conventions, and gotchas Claude Code needs.
compatibility
["claude-code","gemini-cli","github-copilot"]
author
OpenDirectory
version
1.0.0

CLAUDE.md Generator

Read the codebase. Write a CLAUDE.md that tells Claude exactly what it needs: no more, no less.


Critical rule: A good CLAUDE.md is under 100 lines. It contains only information Claude cannot derive from reading the code itself. Do not auto-write the file: always show the draft and wait for user approval first.

Code snippet rule: Never include inline code examples in CLAUDE.md. Instead use file.ts:42 references. Code in CLAUDE.md wastes tokens and goes stale.


Step 1: Detect Mode

Determine which of three modes to run:

create: No CLAUDE.md exists. Write one from scratch. update: A CLAUDE.md exists. Improve it without discarding custom content. audit: Score all CLAUDE.md files in the project A-F and output a quality report. If the user says "audit", "check", "review", or "grade" my CLAUDE.md, run audit mode.

bash
# Discover ALL CLAUDE.md locations
find . -name "CLAUDE.md" -not -path "*/node_modules/*" -not -path "*/.git/*" 2>/dev/null
ls ~/.claude/CLAUDE.md 2>/dev/null && echo "Global CLAUDE.md found"
ls .claude.local.md 2>/dev/null && echo ".claude.local.md found"

If multiple CLAUDE.md files are found: list them. Ask: "Found CLAUDE.md in [locations]. Should I update all of them or just [root]?"


Step 2: Audit Mode (skip to Step 3 if create/update)

For each CLAUDE.md found, score it A-F using this rubric:

CriterionWhat to check
CommandsBuild/test/lint commands present and runnable?
ArchitectureNon-obvious structure explained?
Non-obvious patternsGotchas, generated files, env var order documented?
ConcisenessUnder 100 lines? No obvious filler?
CurrencyCommands still match current package.json/Makefile?
ActionabilityCan a new contributor follow this without asking questions?

Score: 90-100 = A, 70-89 = B, 50-69 = C, 30-49 = D, 0-29 = F

Present as a table:

## CLAUDE.md Audit Report

| File | Score | Grade | Top Issues |
|------|-------|-------|-----------|
| ./CLAUDE.md | 72 | B | Missing gotchas section, test command outdated |
| ./packages/api/CLAUDE.md | 45 | D | No commands, 340 lines (too long), stale arch notes |

**Overall: B (72/100)**

Issues found:
- ./packages/api/CLAUDE.md: 340 lines: well over the 100-line target
- ./packages/api/CLAUDE.md: Test command references `jest` but package.json uses `vitest`
- ./CLAUDE.md: No Gotchas section: most valuable section is missing

After the report, ask: "Want me to fix any of these? (all / just root / specify)"

If user says yes, continue to Step 3 for each file they want fixed.


Step 3: Scan Project Structure

bash
# Project type and package manager
ls package.json yarn.lock pnpm-lock.yaml bun.lockb requirements.txt pyproject.toml Cargo.toml go.mod 2>/dev/null

# Top-level directory structure
find . -maxdepth 2 -type d \
  | grep -v node_modules | grep -v .git | grep -v __pycache__ \
  | grep -v ".next" | grep -v dist | grep -v build | sort

Step 4: Extract Build and Test Commands

bash
# npm/yarn/pnpm/bun scripts
cat package.json 2>/dev/null \
  | python3 -c "
import sys, json
d = json.load(sys.stdin)
for name, cmd in d.get('scripts', {}).items():
    print(f'{name}: {cmd}')
"

# Python, Go, Rust Makefiles
cat Makefile 2>/dev/null | grep -E "^[a-z].*:" | head -20

# Go
cat go.mod 2>/dev/null | head -5

# Rust
cat Cargo.toml 2>/dev/null | grep -E "^\[" | head -10

Identify the exact commands for: build, test (all), test (single file/name), dev server, lint/typecheck. Note any env vars required to run them.


Step 5: Find Code Style and Gotchas

bash
# Import aliases (most commonly missed)
python3 -c "
import json, sys
try:
    d = json.load(open('tsconfig.json'))
    paths = d.get('compilerOptions', {}).get('paths', {})
    if paths: print('Import aliases:', json.dumps(paths, indent=2))
except: pass
" 2>/dev/null

# Environment variables required
cat .env.example 2>/dev/null | grep -v "^#" | grep -v "^$" | head -20

# Auto-generated files (must not be edited)
find . -path "*/node_modules" -prune -o -name "*.ts" -print \
  | xargs grep -l "DO NOT EDIT\|@generated\|Generated by" 2>/dev/null | head -5

# Test setup requirements
cat jest.config.js jest.config.ts vitest.config.ts 2>/dev/null | head -30

# Database/migration setup
ls migrations/ prisma/ drizzle/ db/ 2>/dev/null

What counts as a Gotcha (include these, skip everything else):

  • Files that are auto-generated (must not edit)
  • Env vars required BEFORE tests run
  • Non-default import alias mappings
  • Test commands that require a running service
  • Known intentional quirks (workarounds, not bugs)

Show full SKILL.md (256 more words)Show less

Step 6: Generate CLAUDE.md Draft with Gemini

Compile all findings and generate the draft:

bash
cat > /tmp/claude-md-request.json << 'ENDJSON'
{
  "system_instruction": {
    "parts": [{
      "text": "Write a CLAUDE.md file for a software project. Rules: (1) Under 100 lines total. (2) Only include what Claude cannot derive from reading the code. (3) No inline code examples: use file.ts:42 references instead. (4) Sections: Commands, Code Style (only non-defaults), Testing (only if setup needed), Gotchas (required: what trips people up). Skip any section that has nothing non-obvious to say. (5) All commands in code blocks. (6) Preferred order: short Project Overview (1-2 sentences, only if non-obvious), Commands, Architecture (only non-obvious structure), Code Style, Testing, Gotchas. (7) Do not use em dashes. (8) Output only the CLAUDE.md content, no commentary."
    }]
  },
  "contents": [{
    "parts": [{
      "text": "PROJECT_ANALYSIS_HERE"
    }]
  }],
  "generationConfig": {
    "temperature": 0.3,
    "maxOutputTokens": 2048
  }
}
ENDJSON

curl -s -X POST \
  "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d @/tmp/claude-md-request.json \
  | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['candidates'][0]['content']['parts'][0]['text'])"

Replace PROJECT_ANALYSIS_HERE with findings from Steps 3-5.

For large projects (50+ files): Add a @path pointer at the bottom of CLAUDE.md instead of inline detail:

markdown
## Extended Reference
See @docs/ai-context/architecture.md for full module map.
See @docs/ai-context/testing.md for integration test setup details.

Write the referenced files to docs/ai-context/ with the detail that would not fit in 100 lines.


Step 7: Self-QA

Before presenting the draft, check:

  • Under 100 lines (count: echo "$CONTENT" | wc -l)
  • No inline code examples (only file.ts:42 references or shell commands)
  • All commands in code blocks and runnable as-is
  • Gotchas section present with at least one real entry
  • No section that says only things obvious from the files
  • No em dashes
  • No marketing words or filler phrases ("This project uses React to...")
  • Import aliases documented if they exist
  • Auto-generated files marked "do not edit" if they exist

If any check fails, revise before presenting.


Step 8: Present Draft and Wait for Approval

Never write the file without user approval.

Present the draft in a code block:

## Draft CLAUDE.md ([N] lines)

[full draft content here]

---
Write this to CLAUDE.md? (yes / edit first / cancel)

If user says yes: write the file, then confirm: "CLAUDE.md written ([N] lines). Sections: [list of ## headers]."

If user says edit first: apply their edits, re-show the draft.

If user says cancel: stop.


What NOT to Include

  • Language/framework version ("This is a TypeScript project")
  • How the framework works (Claude already knows React, FastAPI, etc.)
  • List of all dependencies
  • Style rules the linter already enforces (indent size, quote style)
  • Content that duplicates README.md
  • Inline code examples or multi-line snippets
  • Anything that would be identical for any project using the same stack

© Varnan-Tech, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (references) in skills/claude-md-generator of Varnan-Tech/opendirectory.

  • SKILL.md
  • .env.example
  • README.md
  • evals/evals.json
  • references/section-guide.md

Open the folder on GitHubat commit 62e437a

Compare with similar skills

Claude Md Generator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Claude Md Generator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Claude Md Generator this skillVarnan-Tech/opendirectory674—~2.1kAutomated safety check: PassMIT
Using Agent Skillsaddyosmani/agent-skills103k4 repos~2.4kAutomated safety check: PassMIT
Claude ReflectBayramAnnakov/claude-reflect1.7k2 repos~627Automated safety check: PassMIT
Neat-Freak Knowledge CloseoutKKKKhazix/khazix-skills21k—~1.9kAutomated safety check: PassMIT
Writing For Agentsbestofjs/bestofjs3.1k18 repos~2.7kAutomated safety check: PassMIT
Task Observerrebelytics/one-skill-to-rule-them-all3.2k1 repos~12kAutomated safety check: PassCC-BY-4.0

Similar skills

  • Using Agent Skills

    addyosmani/agent-skills

    Meta-skill for choosing which workflow skill fits the task at hand, plus always-on habits: surface assumptions, stop on confusion, push back, keep it simple and stay in scope.

    103k GitHub starsUsed in 4 repos~2.4k tokens
    Agent WorkflowsAuto-check passed
  • Claude Reflect

    BayramAnnakov/claude-reflect

    Self-learning system that captures corrections during sessions and reminds users to run /reflect to update CLAUDE.md.

    1.7k GitHub starsUsed in 2 repos~627 tokens
    Agent WorkflowsAuto-check passed
  • Neat-Freak Knowledge Closeout

    KKKKhazix/khazix-skills

    Brings project docs, agent rule files, authorized memory and leftover workspace files back in line with what the code and runtime actually do at the end of a work session.

    21k GitHub stars~1.9k tokensUpdated 7 days ago
    Agent WorkflowsAuto-check passed
  • Writing For Agents

    bestofjs/bestofjs

    Writing documents for agents. An agent skill from bestofjs/bestofjs.

    3.1k GitHub starsUsed in 18 repos~2.7k tokens
    Agent WorkflowsAuto-check passed
  • Task Observer

    rebelytics/one-skill-to-rule-them-all

    Monitors task execution for skill improvement opportunities.

    3.2k GitHub starsUsed in 1 repo~12k tokens
    Agent WorkflowsAuto-check passed
  • SkillOpt Sleep Cycle

    microsoft/SkillOpt

    Official

    Runs an on-demand or nightly sleep cycle that reviews past Claude Code sessions and proposes validated updates to CLAUDE.md and skills.

    18k GitHub stars~2.3k tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed

More from Varnan-Tech/opendirectory

All 61 skills in this repo
  • Graphic Ebook

    Varnan-Tech/opendirectory

    Creates professionally designed B2B SaaS e-books in HTML + CSS, exported as print-ready PDF.

    674 GitHub stars~5k tokensUpdated 1 mo ago
    Auto-check passed
  • Docs From Code

    Varnan-Tech/opendirectory

    Generates and updates README.md and API reference docs by reading your codebase's functions, routes, types, schemas, and architecture.

    674 GitHub stars~1.8k tokensUpdated 1 mo ago
    Auto-check passed
  • Graphic Chart

    Varnan-Tech/opendirectory

    Generates data visualization charts (bar, line, area, pie, doughnut, scatter, radar, treemap) as PNG using Apache ECharts v6.

    674 GitHub stars~2.9k tokensUpdated 1 mo ago
    Auto-check passed
  • Graphic Gif

    Varnan-Tech/opendirectory

    Creates animated looping GIFs from CSS animations (default) or AI image-to-video.

    674 GitHub stars~3k tokensUpdated 1 mo ago
    Auto-check passed
  • Map Your Market

    Varnan-Tech/opendirectory

    Given a product description, category keywords, or competitor names (any combination), searches Reddit, Hacker News, GitHub Issues, G2, and Google Trends for the real pains your market experiences…

    674 GitHub stars~4.3k tokensUpdated 1 mo ago
    Auto-check passed
  • Newsletter Digest

    Varnan-Tech/opendirectory

    Aggregates RSS feeds from the past week, synthesizes the top stories using Gemini, and publishes a newsletter digest to Ghost CMS.

    674 GitHub stars~1.9k tokensUpdated 1 mo ago
    Auto-check passed

Categories

Questions about Claude Md Generator

What does Claude Md Generator do?

A skill your agent uses when the user asks to generate or update a project's CLAUDE or AGENTS context file from a codebase scan. Claude Md Generator is an agent skill from Varnan-Tech/opendirectory. Use when the user asks to generate or update a project's CLAUDE or AGENTS context file from a codebase scan.

When should I use Claude Md Generator?

Claude Md Generator fits situations like: the user asks to generate; update a projects CLAUDE; AGENTS context file from a codebase scan.

How do I install Claude Md Generator in Claude Code?

Run `npx skills add Varnan-Tech/opendirectory --skill claude-md-generator -a claude-code`. Or copy the skill folder (skills/claude-md-generator in Varnan-Tech/opendirectory) into .claude/skills/claude-md-generator in your project. Claude Code loads it when a task matches its description.

How do I install Claude Md Generator in Codex?

Run `npx skills add Varnan-Tech/opendirectory --skill claude-md-generator -a codex`. Or copy the skill folder (skills/claude-md-generator in Varnan-Tech/opendirectory) into .agents/skills/claude-md-generator in your project. Codex loads it when a task matches its description.

Can I use Claude Md Generator in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Varnan-Tech/opendirectory --skill claude-md-generator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/claude-md-generator, .gemini/skills/claude-md-generator, .github/skills/claude-md-generator and .opencode/skills/claude-md-generator in your project.

What does Claude Md Generator need to run?

Going by SKILL.md and its folder, Claude Md Generator needs the command-line tools its instructions call (python3 and curl) and credentials named GEMINI_API_KEY. Our summary lists: Python 3; A credential in GEMINI_API_KEY. Compatibility (from SKILL.md): ["claude-code","gemini-cli","github-copilot"].

Does Claude Md Generator access the network?

SKILL.md names 1 domain. In commands or code: generativelanguage.googleapis.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Claude Md Generator safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Claude Md Generator use?

Claude Md Generator is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Claude Md Generator use?

About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.4k tokens, read only when the agent opens those files.

What are the alternatives to Claude Md Generator?

Skills that share tags, products or a category with Claude Md Generator: Using Agent Skills (addyosmani/agent-skills, 103k stars), Claude Reflect (BayramAnnakov/claude-reflect, 1.7k stars), Neat-Freak Knowledge Closeout (KKKKhazix/khazix-skills, 21k stars) and Writing For Agents (bestofjs/bestofjs, 3.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Claude Md Generator?

Varnan-Tech (a GitHub organization) maintains it in Varnan-Tech/opendirectory, which has 674 GitHub stars. The repository holds 61 skills in this directory. The repository was last updated on August 16, 2026.

Source: Varnan-Tech/opendirectory on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.