claude-md-authoring
Write and optimize CLAUDE.md files. Use when creating, improving, or reviewing CLAUDE.md for best practices, or troubleshooting ignored instructions. Also applies to AGENTS.md.
What this skill does
# CLAUDE.md Authoring Guide ## Core Concept CLAUDE.md onboards Claude to your codebase at the start of every session. Claude Code injects it with a system reminder that tells Claude to ignore content if not highly relevant to the current task. **Implication**: Include only universally applicable content. Task-specific instructions belong in separate files. ## What to Include Cover three areas concisely: - **WHY**: Project purpose and goals - **WHAT**: Tech stack, project structure, key directories (especially for monorepos) - **HOW**: Commands to build, test, verify changes; preferred tools (e.g., `bun` vs `node`) ## Key Principles ### Less Instructions Is More Frontier thinking models reliably follow ~150-200 instructions. Claude Code's system prompt uses ~50. The CLAUDE.md should minimize instruction count to stay within this budget. **Target**: <300 lines total, ideally <100 lines for the root file. ### Universal Applicability Every line should apply to most tasks. Remove content that only matters for specific scenarios. **Bad**: "When creating database schemas, use snake_case for column names" **Good**: Move schema guidelines to `agent_docs/database_schema.md` ### Progressive Disclosure Store task-specific instructions in separate files. Reference them from CLAUDE.md: ``` agent_docs/ ├── building_the_project.md ├── running_tests.md ├── code_conventions.md └── database_schema.md ``` In CLAUDE.md, list these with brief descriptions so the operating Claude instance reads them only when relevant. **Prefer pointers to copies**: Reference `file:line` instead of embedding code snippets that become stale. ### Don't Replace Linters Never include code style guidelines in CLAUDE.md. Use actual linters and formatters instead: - LLMs are slow and expensive compared to deterministic tools - Style rules add irrelevant instructions, degrading performance - Claude learns patterns from existing code via in-context learning **Better approach**: Set up a Stop hook that runs formatters and presents errors to Claude. ### Deliberate Authoring CLAUDE.md affects every phase of every workflow—it's the highest leverage point in the harness. Each line should justify its inclusion. Before adding content, ask: "Does this apply universally? Is it worth the instruction cost?" ## Workflow **Creating new CLAUDE.md:** 1. Identify universally applicable information (WHY, WHAT, HOW) 2. Write concise descriptions for each area 3. Move task-specific content to `agent_docs/` files 4. List agent_docs files with brief descriptions in CLAUDE.md 5. Review: Does every line apply to most tasks? **Optimizing existing CLAUDE.md:** 1. Count lines and instructions (target <300 lines) 2. Identify task-specific content → move to separate files 3. Remove code style guidelines → use linters instead 4. Check for outdated code snippets → replace with file references 5. Verify universal applicability of remaining content ## References - **Detailed best practices**: See [references/best-practices.md](references/best-practices.md) - **Progressive disclosure examples**: See [references/progressive-disclosure.md](references/progressive-disclosure.md) - **Common anti-patterns**: See [references/anti-patterns.md](references/anti-patterns.md)
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.