con un clic
claude-md-init
[Documentation] Use when you need initialize, update, or refactor CLAUDE markdown from project-config JSON and codebase scan results.
Menú
[Documentation] Use when you need initialize, update, or refactor CLAUDE markdown from project-config JSON and codebase scan results.
[Codex] Use when you need to run full Codex mirror sync (migrate → hooks → context → verify) standalone, no npm/package JSON needed.
[Git] Use when asked to "commit", "stage and commit", "save changes", or after completing implementation tasks.
[Fix & Debug] Use when bugfix workflow reaches debug step.
[Documentation] Use when you need orchestrate all reference doc scans in parallel.
[Documentation] Use when scanning backend code to refresh repository, CQRS, validation, entity, event, and migration guidance.
[Documentation] Use when scanning code conventions, anti-patterns, architecture rules, and review checklists.
| name | claude-md-init |
| description | [Documentation] Use when you need initialize, update, or refactor CLAUDE markdown from project-config JSON and codebase scan results. |
Codex compatibility note:
- Invoke repository skills with
$skill-namein Codex; this mirrored copy rewrites legacy Claude/skill-namereferences.- Task tracker mandate: BEFORE executing any workflow or skill step, create/update task tracking for all steps and keep it synchronized as progress changes.
- User-question prompts mean to ask the user directly in Codex.
- Ignore Claude-specific mode-switch instructions when they appear.
- Strict execution contract: when a user explicitly invokes a skill, execute that skill protocol as written.
- Subagent authorization: when a skill is user-invoked or AI-detected and its protocol requires subagents, that skill activation authorizes use of the required
spawn_agentsubagent(s) for that task.- Do not skip, reorder, or merge protocol steps unless the user explicitly approves the deviation first.
- For workflow skills, execute each listed child-skill step explicitly and report step-by-step evidence.
- If a required step/tool cannot run in this environment, stop and ask the user before adapting.
Codex does not receive Claude hook-based doc injection. When coding, planning, debugging, testing, or reviewing, open project docs explicitly using this routing.
Always read:
docs/project-config.json (project-specific paths, commands, modules, and workflow/test settings)docs/project-reference/docs-index-reference.md (routes to the full docs/project-reference/* catalog)docs/project-reference/lessons.md (always-on guardrails and anti-patterns)Missing-file hard stop: If docs/project-config.json, the docs index, lessons.md, or any task-required reference doc is missing, stop immediately and ask the user to run $project-config and $scan-all.
Situation-based docs:
backend-patterns-reference.md, domain-entities-reference.md, project-structure-reference.mdfrontend-patterns-reference.md, scss-styling-guide.md, design-system/README.mdfeature-docs-reference.mdintegration-test-reference.mde2e-test-reference.mdcode-review-rules.md plus domain docs above based on changed filesDo not read all docs blindly. Start from docs-index-reference.md, then open only relevant files for the task.
Goal: Automate CLAUDE.md lifecycle — generate from project-config.json + template, incrementally update marked sections, or refactor for token efficiency.
Workflow:
--mode init), update (--mode update), refactor (--mode refactor)node .claude/skills/claude-md-init/scripts/generate-claude-md.cjs --mode <mode>Key Rules:
docs/project-config.json<!-- SECTION:key -->) enable incremental updates without overwriting user contentThis skill is the AI-runnable route the agent-files bootstrap gate offers when a portable
.claude install lands in a project without a root CLAUDE.md — or with one that carries only
project-specific knowledge and is missing the universal portable guides. Two hooks detect the gap
and route here (shared detection lib: .claude/hooks/lib/agent-files-state.cjs):
init-prompt-gate.cjs (UserPromptSubmit) — blocks the first prompt once project-config.json
is populated but CLAUDE.md / AGENTS.md is missing or incomplete.agent-files-skill-gate.cjs (PreToolUse: Skill) — blocks non-meta skills under the same condition.Three-state detection per root file: missing → routes to --mode init (fresh from template);
incomplete → routes to --mode update (smart-merge — preserves your project content, injects the
guides); ok → no block. Completeness is decided by hasUniversalGuides(): a current-or-newer
sentinel (<!-- CK:UNIVERSAL-GUIDES v1 -->) → complete; an older sentinel → flag for update; no
sentinel → fall back to scanning required anchors (First Action Decision, Task Planning Rules, Code
Responsibility Hierarchy, Evidence-Based Reasoning) so legacy/hand-written complete files still pass.
Run $claude-md-init (or the generator directly) to produce CLAUDE.md from
docs/project-config.json + template. The generated file ships the universal session-start guides
(workflow ask-confirm gate, task-planning rules, code hierarchy, naming, evidence/confidence rules)
and stamps the sentinel at the top so the gate recognizes it as complete.
Opt-out — to keep a project-only CLAUDE.md/AGENTS.md (your custom knowledge, none of the
universal guides), set portability.requireUniversalGuides: false in docs/project-config.json
(persistent; default true). The gate then checks only existence, never completeness. The transient
skip init escape still dismisses both hooks for 24h. The gate is dormant in empty/greenfield folders
and before config is populated. AGENTS.md is generated separately by $codex-sync (user-invoke-only).
| Mode | When | Behavior |
|---|---|---|
init | No CLAUDE.md exists, or first-time setup | Generate fresh CLAUDE.md from template + config. Populates all markers. |
update | CLAUDE.md exists with markers | Replace only content between markers. Preserve everything else. |
refactor | CLAUDE.md exists, needs optimization | AI reads entire CLAUDE.md, optimizes for token efficiency, removes redundancy, improves structure. No script — pure AI. |
docs/project-config.json — primary data source (run $project-config first if missing)# Check CLAUDE.md state
node .claude/skills/claude-md-init/scripts/generate-claude-md.cjs --detect
Decision logic:
initupdatesmart-merge (see below)--mode flag → override detection# Init mode: generate fresh CLAUDE.md
node .claude/skills/claude-md-init/scripts/generate-claude-md.cjs --mode init
# Update mode: sync marked sections only
node .claude/skills/claude-md-init/scripts/generate-claude-md.cjs --mode update
Script behavior:
docs/project-config.jsonreferences/claude-md-template.md) for init, or existing CLAUDE.md for updateCLAUDE.md (creates backup .claude-md.backup first)When running update on an existing CLAUDE.md that has NO section markers:
## heading text against known section keys (see references/section-registry.md)After the script generates the mechanical parts, AI reviews and fills:
contextGroups[].rules in config, but rewrite as human-readable rulesmodules[] + framework config, add project-specific patterns{project-name}, TODO).claude/skills/claude-md-init/ references leak into output (self-reference)When --mode refactor or user asks to optimize CLAUDE.md:
<!-- SECTION:tldr -->
Auto-generated content here...
<!-- /SECTION:tldr -->
Rules:
See references/section-registry.md for full mapping. Summary:
| Key | Source | Conditional? |
|---|---|---|
tldr | project.*, modules[], framework.* | No — always generated |
golden-rules | contextGroups[].rules | Yes — skip if no rules |
decision-quick-ref | modules[], framework.* | Yes — skip if no modules |
key-locations | modules[].pathRegex | Yes — skip if no modules |
dev-commands | testing.commands, infrastructure.* | Yes — skip if no commands |
infra-ports | modules[].meta.port (infra) | Yes — skip if no ports |
api-ports | modules[].meta.port (services) | Yes — skip if no ports |
integration-testing | framework.integrationTestDoc | Yes — skip if no doc |
e2e-testing | framework.e2eTestDoc or scan | Yes — skip if no tests |
doc-index | Scan docs/ directory | Yes — skip if no docs/ |
doc-lookup | modules[] + business features | Yes — skip if no modules |
Generator + bootstrap-gate coverage lives in the hooks test suite:
node .claude/hooks/tests/run-all-tests.cjs --filter=agent-files
[IMPORTANT] Use task tracking to break ALL work into small tasks BEFORE starting — including tasks for each file read. This prevents context loss from long files. For simple tasks, AI MUST ATTENTION ask user whether to skip.
Critical Thinking Mindset — Apply critical thinking, sequential thinking. Every claim needs traced proof, confidence >80% to act. Anti-hallucination: Never present guess as fact — cite sources for every claim, admit uncertainty freely, self-check output for errors, cross-reference independently, stay skeptical of own confidence — certainty without evidence root of all hallucination.
Output Quality — Token efficiency without sacrificing quality.
- No inventories/counts — AI can
grep | wc -l. Counts go stale instantly- No directory trees — AI can
glob/ls. Use 1-line path conventions- No TOCs — AI reads linearly. TOC wastes tokens
- No examples that repeat what rules say — one example only if non-obvious
- Lead with answer, not reasoning. Skip filler words and preamble
- Sacrifice grammar for concision in reports
- Unresolved questions at end, if any
AI Mistake Prevention — Failure modes to avoid on every task:
Check downstream references before deleting. Deleting components causes documentation and code staleness cascades. Map all referencing files before removal. Verify AI-generated content against actual code. AI hallucinates APIs, class names, and method signatures. Always grep to confirm existence before documenting or referencing. Trace full dependency chain after edits. Changing a definition misses downstream variables and consumers derived from it. Always trace the full chain. Trace ALL code paths when verifying correctness. Confirming code exists is not confirming it executes. Always trace early exits, error branches, and conditional skips — not just happy path. When debugging, ask "whose responsibility?" before fixing. Trace whether bug is in caller (wrong data) or callee (wrong handling). Fix at responsible layer — never patch symptom site. Assume existing values are intentional — ask WHY before changing. Before changing any constant, limit, flag, or pattern: read comments, check git blame, examine surrounding code. Verify ALL affected outputs, not just the first. Changes touching multiple stacks require verifying EVERY output. One green check is not all green checks. Holistic-first debugging — resist nearest-attention trap. When investigating any failure, list EVERY precondition first (config, env vars, DB names, endpoints, DI registrations, data preconditions), then verify each against evidence before forming any code-layer hypothesis. Surgical changes — apply the diff test. Bug fix: every changed line must trace directly to the bug. Don't restyle or improve adjacent code. Enhancement task: implement improvements AND announce them explicitly. Surface ambiguity before coding — don't pick silently. If request has multiple interpretations, present each with effort estimate and ask. Never assume all-records, file-based, or more complex path. Keep domain concepts out of generic/shared/infrastructure layers. A reusable layer (shared library, framework, infra module) must reference NO consumer-specific domain concept — tenant/customer/product IDs, business entities, feature rules. The leak compiles and runs, so it passes review silently while coupling the "reusable" layer to one consumer. Push domain fields/logic down into the consumer via subclass or composition.
IMPORTANT MUST ATTENTION maintain >=8 rules per 100 lines. Critical rules in first+last 5 lines. Tables over prose.
MUST ATTENTION apply critical thinking — every claim needs traced proof, confidence >80% to act. Anti-hallucination: never present guess as fact.
MUST ATTENTION apply AI mistake prevention — holistic-first debugging, fix at responsible layer, surface ambiguity before coding, re-read files after compaction.
IMPORTANT MUST ATTENTION break work into small todo tasks using task tracking BEFORE starting
IMPORTANT MUST ATTENTION search codebase for 3+ similar patterns before creating new code
IMPORTANT MUST ATTENTION cite file:line evidence for every claim (confidence >80% to act)
IMPORTANT MUST ATTENTION add a final review todo task to verify work quality
[TASK-PLANNING] Before acting, analyze task scope and systematically break it into small todo tasks and sub-tasks using task tracking.
Source: .claude/hooks/lib/prompt-injections.cjs + .claude/.ck.json
Generic portability boundary: Reusable skills and protocol text stay project-neutral; project-specific conventions are discovered from docs/project-config.json and docs/project-reference/. Apply shared AI-SDD from shared/sdd-artifact-contract.md. Read docs/project-config.json and docs/project-reference/docs-index-reference.md, then open the project reference docs named there. If either file or a required reference doc is missing, stop immediately and ask the user to run the project-config and scan-all skills. Any supported AI tool may execute when this shared context and local docs are available.
$workflow-start <workflowId> for standard; sequence custom steps manuallyBreak work into small tasks (task tracking) before starting. Add final task: "Analyze AI mistakes & lessons learned".
Extract lessons — ROOT CAUSE ONLY, not symptom fixes:
$learn.$code-review/$code-simplifier/$security/$lint catch this?" — Yes → improve review skill instead.$learn.
[TASK-PLANNING] [MANDATORY] BEFORE executing any workflow or skill step, create/update task tracking for all planned steps, then keep it synchronized as each step starts/completes.