--- name: folder-specific-claude-and-agents-md description: "Create folder-scoped CLAUDE.md and AGENTS.md guidance for future agents working in that area." category: development risk: critical source: community source_repo: davidondrej/skills source_type: community date_added: "2026-07-07" author: davidondrej tags: [agents-md, claude-md, documentation] tools: [claude, codex] license: "MIT" license_source: "https://github.com/davidondrej/skills/blob/main/LICENSE" user-invocable: true --- # Folder CLAUDE.md Creation ## When to Use - Use when the user asks for folder-specific agent instructions or local context files. - Use when a subdirectory needs a CLAUDE.md and AGENTS.md handoff for future agents. Generate a focused `CLAUDE.md` inside a target folder, plus an `AGENTS.md` symlink pointing at it. The file gives any future agent (Claude Code, Codex, etc.) the folder-specific context the global `CLAUDE.md` doesn't cover. Background reference: `library/claude-code/claude-and-agents-md.md`. ## Process ### Step 1: Confirm the target folder + sanity-check it deserves a file Ask the user which folder. Use absolute path under `~/Documents/code/workspace/`. **Only create a file if the folder has context needed across multiple sessions** — active evolving work, specific conventions, ongoing decisions. A folder of static reference files does NOT need one (agents can read on demand). If unsure, ask the user. ### Step 2: Read every file in the folder IN FULL - Use `ls -la` first to enumerate files and subfolders. - Read every markdown, config, and key source file. - For large tldraw/Vite subprojects: read `package.json`, `src/App.tsx`, one representative module file, and the folder's own `module-details.md`-style files. - Do NOT skim. Do NOT skip. The user's later edits depend on you having full context. ### Step 3: Draft a bullet list of candidate content Before writing the file, give the user a bullet list grouped by section — let them react first. Candidate sections (skip any that don't apply): - **Product / Purpose** — what this folder/project is, current state, key metrics - **Avatar / Audience** — who it's for (if applicable) - **Essential Files** — one-line role for each important file, including cross-folder references (use `@path/file.md` import syntax) - **Constraints (MUST NOT)** — explicit hard negatives. Highest-ROI content in the file. - **Conventions** — the user's lingo, status emojis (✅ 🟡), naming patterns, "usually do" patterns - **Locked Decisions** — things agreed + dated, must not re-litigate - **Context** — history, authority, credibility that frames the work - **How to work with the user** — collaboration style for this specific folder - **Marketing Angles / Positioning** — if public-facing - **Top Insights** — 3-5 most glaring signals from research (if research exists) ### Step 4: Iterate with the user - Keep answers short. The user will edit directly in the IDE. - When they edit the file, RE-READ it and flag: contradictions, typos, missing rules, wrong categorization. - Do not revert their edits unless asked. ### Step 5: Write the file - Path: `/CLAUDE.md` - Start with a one-line header explaining the file's purpose. - **Subdir file marker:** if this is a subdirectory file (parent folder already has its own CLAUDE.md), open with `Apply root CLAUDE.md first, then this file.` - Use `##` section headers matching the sections the user approved. - Bullets over prose. Short bullets. - **Cross-folder references:** use `@relative/path/file.md` import syntax, not prose mentions. - **Heavy reference docs:** annotate with `**Read when:**` triggers (e.g. "Read when: writing offer copy"). Prevents loading every session. ### Step 6: Create the AGENTS.md symlink ``` cd && ln -s CLAUDE.md AGENTS.md ``` Verify with `ls -la CLAUDE.md AGENTS.md`. ### Step 7: Commit only when asked Do NOT stage or push unless the user says to. When they do: `git add -A`, commit with a `Day N:` style message, push. ## Rules - **Never invent content.** Every bullet must trace back to something you read in the folder or something the user said. No generic boilerplate. - **Brevity wins.** The user edits aggressively to make things shorter. Start tight. - **Folder-scoped only.** Don't duplicate the global `CLAUDE.md` (personality, dates, ports, etc.). Only include what's specific to this folder. - **No file trees, no directory dumps, no stack details the code already shows.** Anything an agent can derive from `ls` or `grep` rots fast and wastes tokens. Pin decisions, rules, and context — not structure. - **Constraints vs Conventions.** Hard "MUST NOT" rules go in Constraints (explicit negatives). "Usually do X" patterns go in Conventions. Splitting these improves adherence. - **No absolute ALWAYS/NEVER without explicit exceptions.** Edge cases make absolute rules get ignored. "Never commit secrets EXCEPT `.env.example`" beats "never commit secrets." - **Never summarize or auto-shorten the file.** Context collapse degrades it. Grow deliberately, prune manually. If the user asks to trim, do it by hand. - **Maintenance loop.** When the user corrects the agent on something this file should have prevented, add the rule to the file immediately. Don't wait. - **No emojis unless the user uses them** (status markers ✅ 🟡 are the exception — they're already conventions). - **Symlink, not copy.** `AGENTS.md` must be a symlink so edits stay in sync. - **Flag gaps honestly.** If the user's edits introduce contradictions (e.g. "sell X" in one section and "never sell X" in another), call it out before they ask. ## Limitations - Adapted from `davidondrej/skills`; verify local paths, tools, credentials, and agent features before acting. - For commands, remote access, scheduling, browser automation, or file-changing workflows, get explicit user approval and confirm the target environment first.