repo-documenter
Provide repository-wide documentation guidelines under `docs/`. Use tool-based inspection first. Keep README.md updated with a brief project overview and links to detailed docs created under `docs/`.
What this skill does
# Repository Documenter Skill
## General Guidance
This skill defines and maintains documentation guidelines for the repository. Primary documentation lives under:
```text
docs/
```
Always use **tool-based inspection first** (MCP tools if configured). Only fall back to CLI when necessary.
Documentation must always reflect **current reality**, not assumptions.
When asked to update documentation:
1. Inspect existing docs (if any).
2. Inspect code/configs/infrastructure via tools.
3. Determine which documentation files make sense for this project.
4. Create/update only relevant files.
5. Never guess — ask for confirmation if unclear.
6. Use **Mermaid diagrams** where they add clarity.
---
## Documentation Structure
### Index File (MANDATORY)
**Always create** For repository-level docs, ensure `docs/` contains `index.md` as an entry point for the reader.
This file should:
- Provide a brief overview of the system
- Link to other documentation pages (if any exist)
- Explain the system or repository structure in a way that's readable on its own
- Include a high-level diagram of key components where helpful
### Per-Application/Service Documentation
For repositories containing multiple applications, services, or agents, create a dedicated documentation file for each:
- `{app-name}.md` - Documentation for each distinct app/service/agent
Use the `app.md` template as guidance. Each app document should include:
- Brief purpose and responsibilities
- Architecture/component diagram
- Technology stack
- Key dependencies and integrations
- Links to relevant detailed documentation
Example: A repository with `service-a` and `service-b` should have `docs/service-a.md` and `docs/service-b.md`.
### Optional Supporting Documentation Files
Only create additional files if the repository complexity warrants them. Use these templates when relevant (templates live in the skill directory):
- `system-overview.md`
- `cloud-architecture.md`
- `service-architecture.md`
- `cicd-architecture.md`
You can also create custom documents based on the project's specific needs (for example `data-architecture.md`, `security-architecture.md`, `api-architecture.md`, or `usage.md`).
---
## Templates
Template files are provided in this skill directory and may be adapted to fit the project. Remove sections that don't apply, add sections that are needed.
- `index.md` - Entry point template
- `system-overview.md` - Optional system-level template
- `cloud-architecture.md` - Optional cloud infrastructure template
- `service-architecture.md` - Optional service/API template
- `cicd-architecture.md` - Optional CI/CD pipeline template
## Behavioral Rules
- **MANDATORY**: Ensure architecture entry points exist under `docs/architecture/` when architecture content is required.
- **MANDATORY**: Clean up the `docs/` directory when updating documentation. Remove obsolete files, consolidate outdated docs, and eliminate temporary planning/analysis documents that are no longer relevant.
- Use tool-based introspection before CLI.
- Ask for files or context when uncertain.
- Only create additional documents if the repository complexity warrants them.
- Update diagrams to match reality.
- Keep diagrams readable and scoped.
- Maintain consistency across documents.
- Filenames: All filenames MUST be lowercase and use dashes (-) as word separators. Do not use spaces or underscores.
- README maintenance: Keep the repository `README.md` up to date with a brief project overview and prominent links to the detailed documentation created under `docs/`. The README should be concise and point readers to `docs/` for full details.
- Suggested (non-mandatory): Add `docs/usage.md` to provide detailed usage guidelines and examples for users.
- If a suggested template doesn't fit, adapt or skip it.
- When in doubt about which files to create, ask the user.
## Documentation Cleanup
When updating documentation, actively maintain the `docs/` directory by:
1. **Identify Obsolete Content**: Remove or consolidate:
- Draft/planning documents (e.g., `draft-*.md`, `planning-*.md`, `analysis-*.md`)
- Superseded documentation (old architecture designs, deprecated setup guides)
- Duplicate information that's now consolidated elsewhere
- Temporary spike/exploration notes that are no longer relevant
2. **Consolidate Related Content**:
- Move fragmented information into single authoritative documents
- Remove redundant explanations that exist in multiple places
- Ensure only current, active docs remain
3. **Maintain Directory Organization**:
- Ensure `docs/apps/`, `docs/services/`, and other directories are clean
- Remove empty or abandoned subdirectories
- Keep structure flat unless there's complex nested documentation
4. **Verify Documentation Accuracy**:
- Stale or outdated docs are actively removed, not left to decay
- If content cannot be verified or updated to reflect current reality, delete it
- Better to have gaps than misleading documentation
## Notes
- When adding `docs/usage.md`, include a `Recommended` section near the top with the preferred, simple way to run the app and an optional minimal example config if the app requires configuration.
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.