claude-md
Initialize or update the project CLAUDE.md file.
What this skill does
The project `CLAUDE.md` file is located at `CLAUDE.md` in the project root. This file provides context and instructions for Agents when working with the project.
Check if this file exists:
- **If it does not exist:** Proceed to **Initialization Mode**
- **If it exists:** Proceed to **Reconciliation Mode**
---
## Shared Guidelines
When drafting or updating this documentation, you
- **MUST** focus on high-level aspects of the project, ensuring it provides clear insights into architecture, conventions, and development workflows.
- **MUST NOT** include low-level implementation details or exhaustive technical specifications that may change frequently during development.
- **MUST** ensure that the documentation is accurate and reflects the current state of the project as understood from your analysis of the codebase.
- **MUST** strike a balance between being comprehensive and concise, providing enough information to be useful without overwhelming the reader with unnecessary details.
- **MUST** include actionable development commands that can be executed directly.
- **MUST** validate that the subsystem documentation links are accurate and point to existing files.
**Section Description Syntax:** `**<section-identifier>: <section-level>** { - section-title} - <section-description> { - section-example} {, section-example}...`
**Section Description Examples:**
- `**Project Overview: H2** - A high-level description of the project's purpose and goals.`
- `**Development Commands: H2** - Common commands for building, testing, and running the application.`
- `**Building & Testing: H3** - Commands for building and testing the project.`
The structure of the `CLAUDE.md` file **MUST** include **ONLY** the following sections, in order:
1. **CLAUDE.md: H1** - The literal title "CLAUDE.md".
2. **ToC: H2** - Table of Contents - A markdown table of contents that links to the subsequent header sections.
3. **Project Overview: H2** - Project Overview - A high-level description of the project's purpose, goals, and key features.
4. **Project Principles: H2** - Project Principles - Guiding principles and philosophies that inform development decisions for this project.
5. **High-Level Architecture: H2** - High-Level Architecture - An overview of the system architecture, major components, and how they interact.
6. **Subsystems Reference: H2** - Subsystems - Links and brief descriptions of subsystem documentation located in `docs/subsystems/*/README.md`.
7. **Conventions & Patterns: H2** - Conventions & Patterns - Code conventions, naming patterns, and stylistic choices used throughout the project.
8. **Code Organization Principles: H2** - Code Organization Principles - How code is organized within the project, including directory structure rationale.
9. **Testing Approach: H2** - Testing Approach - Testing philosophy, frameworks used, and how tests are organized.
10. **Development Commands: H2** - Development Commands - Common development commands.
- **Building & Testing: H3** - Building & Testing - Commands for building the project and running tests. Investigate package.json, Makefile, or similar build configuration files to extract these commands.
- **Running the Application: H3** - Running the Application - Commands for running the application locally and/or remotely.
---
## Initialization Mode
Immerse yourself in this codebase, gaining a deep understanding of its goals, its technical features and mechanisms, specific conventions and patterns it follows, the various subsystems that comprise it, any existing project build, test, or configuration orchestration files (`package.json`, `Makefile`, etc.), and any existing test suites or testing frameworks.
Before writing the `CLAUDE.md` file, use the `AskUserQuestion` tool to ask if the user would like to establish any **Project Principles** to include. These are guiding principles and philosophies that inform development decisions for this project (e.g., "prefer composition over inheritance", "optimize for readability", "follow Unix philosophy").
Once you have a comprehensive understanding and gathered any user-provided principles, proceed to create a `CLAUDE.md` file at the project root.
- For **Subsystems Reference**, scan `docs/subsystems/` for existing subsystem documentation and link to each.
- For **Development Commands**, investigate package.json, Makefile, or similar build configuration files to extract common commands.
---
## Reconciliation Mode
Evaluate the current `CLAUDE.md` against the codebase. Evaluate it for:
- **Comprehensiveness:** Does the `CLAUDE.md` sufficiently cover all aspects needed for Claude Code to understand the project?
- **Accuracy:** Are the claims made in the `CLAUDE.md` accurate and based in the truth as represented by this codebase?
- **Conciseness:** Are there subsections or content that are unnecessary, redundant, or out-of-date?
- **Actionability:** Are the development commands accurate and executable?
Be comprehensive in your evaluation. Use a subagent for each major section to focus on that section specifically and validate its content against the codebase.
After evaluating each section, compile a summary of changes, additions, and deletions needed to bring the `CLAUDE.md` up to date with the current codebase.
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.