create-note
Create a new experiment, decision, troubleshooting, or meeting note using templates
What this skill does
You are helping the user create a properly formatted note.
## Template Resolution
All templates are stored in `.claude/templates/` in the user's project.
1. **Determine template name:**
- User says "experiment" or type == 'experiment' → look for "experiment-template.md"
- User says "decision" or type == 'decision' → look for "decision-template.md"
- User says "custom-type" → look for "custom-type-template.md"
2. **Load template:**
- Read from `.claude/templates/{type}-template.md`
- If not found, show error: "Template '{type}-template.md' not found in .claude/templates/"
- List available templates by reading all files matching `.claude/templates/*-template.md`
3. **Built-in templates:**
- `/setup-notes` copies built-in templates to `.claude/templates/` during initialization
- Users can customize these templates directly
- Users can create new templates with `/create-note-type`
## Task
Guide the user through creating a note using the appropriate template.
## Arguments
If the user provided a type argument (e.g., `/create-note experiment`), use that type directly instead of asking.
Valid types: `experiment`, `decision`, `troubleshooting`, `meeting`, `research`, or any custom template name.
## Steps
1. **Determine note type**
- If type was provided as argument: Use it directly
- Otherwise ask: "What type of note would you like to create?"
- experiment: For documenting what you tried
- decision: For recording why you made a choice
- troubleshooting: For capturing how you fixed an error
- meeting: For recording meeting notes and action items
- research: For external references
2. **Get note details**
**For experiment:**
- Ask for brief description
- Suggest filename: `notes/experiments/YYYY-MM-DD-{description}.md`
**For decision:**
- Ask for topic name
- Suggest filename: `notes/decisions/YYYY-MM-{topic}.md`
**For troubleshooting:**
- Ask for error/issue name
- Suggest filename: `notes/troubleshooting/{issue}-errors.md`
**For meeting:**
- Ask for meeting topic/name
- Suggest filename: `notes/meetings/YYYY-MM-DD-{topic}.md`
- **IMPORTANT:** Meeting notes are snapshots in time - each meeting gets its own note
- Do not edit previous meeting notes unless absolutely necessary
- Link to previous meetings in the References section
**For research:**
- Ask for topic
- Suggest filename: `notes/research/{topic}.md`
3. **Load appropriate template**
**Read the template:**
- Use Read tool to load `.claude/templates/{type}-template.md`
- If file doesn't exist, list available templates with Glob: `.claude/templates/*-template.md`
- Show error: "Template not found. Run `/setup-notes` to initialize templates or `/create-note-type {type}` to create a custom template."
**Pre-fill template:**
- Fill in today's date automatically (YYYY-MM-DD format)
- Pre-fill what you can from conversation context
- Keep placeholder text for sections you don't have info for
4. **Create the note**
- Use `create_file` to write the note
- Place in correct directory
- Use proper filename format
5. **Gather INDEX metadata**
Every note MUST be added to INDEX.md. Ask the user:
a. "What tags describe this? (comma-separated, e.g., 'optimizer, adamw, training')"
b. "One-line key finding or summary?"
These make the INDEX searchable without opening individual notes.
6. **Update INDEX.md (always)**
Add entry to the appropriate section with this format:
```markdown
**YYYY-MM-DD: [Note Title]**
- Tags: tag1, tag2, tag3
- Finding: One-line summary of key insight
- File: [relative/path/to/note.md](relative/path/to/note.md)
```
**Section mapping:**
- experiment → "## All Experiments"
- decision → "## All Decisions"
- troubleshooting → "## All Troubleshooting Guides"
- meeting → "## All Meetings"
- research → "## All Research"
Also add to "## Recent Activity" with today's date and title.
7. **Optionally update quick-reference.md**
Ask: "Did this change current best practices? Should I update quick-reference.md?"
If yes:
- Add to "What Works" if successful approach
- Add to "Don't Do These" if failed approach
- Update "Last Updated" section
## Template References
### Experiment Template Structure
```markdown
# YYYY-MM-DD: Title
## Goal
## What I Tried
## Key Findings
## Failed Approaches (table)
## Configuration Used
## Next Steps
## References
```
### Decision Template Structure
```markdown
# Decision: Title
Date: YYYY-MM-DD
## Context
## Options Considered
## Decision
## Rationale
## Trade-offs
## When to Revisit
## References
```
### Troubleshooting Template Structure
```markdown
# Troubleshooting: Error Name
Last updated: YYYY-MM-DD
## Symptom
## Cause
## Solution
## Prevention
## Related Issues
## Example Occurrences
```
### Meeting Template Structure
```markdown
# Meeting: Title
Date: YYYY-MM-DD
Attendees: [Names]
## Agenda
## Discussion
## Decisions Made (table)
## Action Items
## Key Takeaways
## Follow-up
## References
```
## Smart Pre-filling
Based on the conversation history:
- Extract what the user was trying to do (→ Goal)
- Extract what they tried (→ What I Tried)
- Extract any errors mentioned (→ Failed Approaches)
- Extract successful config (→ Configuration Used)
- Note any related past experiments
- **CRITICAL:** When referencing related notes or files, always use clickable markdown links: `[Display text](relative/path)`
- Search INDEX.md to find related notes and add them as clickable links in References section
## Figure Embedding
**IMPORTANT**: When adding figures to notes, always use inline markdown image syntax to
make them viewable:
✅ **Correct** - Embeds image inline:
```markdown

❌ Incorrect - Just a text link:
[Figure description](figures/filename.png)
Guidelines:
- Use  syntax so images render directly in markdown viewers
- Alt text should briefly describe what the figure shows
- Relative paths from the note location (e.g., figures/ subdirectory)
- After the embedded image, add a bullet list with key observations from the figure
Example:
## Figures
**Performance Comparison**

- Metrics improved after configuration change
- Need further investigation on edge cases
## References and Backlinks
**IMPORTANT**: All references to other notes, files, or documentation should be
clickable backlinks:
✅ **Correct** - Clickable backlink:
```markdown
- Related experiment: [2026-01-22-linear-decoder.md](../experiments/2026-01-22-linear-decoder.md)
❌ Incorrect - Plain text or code blocks:
- Related experiment: experiments/2026-01-22-linear-decoder.md
- Dataset implementation: `path/to/example/dataset.py`
Guidelines:
- Use [display text](relative/path) syntax for all file and note references
- Use relative paths from the current note location
- Link display text should be descriptive (filename or human-readable description)
- Code files, config files, notebooks, and other notes should all be backlinks
- This makes notes navigable and allows clicking through to related content
Example References Section:
## References
- Related experiment: [2026-01-15-initial-approach.md](../experiments/2026-01-15-initial-approach.md)
- Implementation: [data_processor.py](../../src/data_processor.py)
- Configuration: [config.yaml](../../config/config.yaml)
- Documentation: [API Design](../research/api-design.md)
## Filename Formatting
Always use:
- Lowercase
- Hyphens instead of spaces
- YYYY-MM-DD format for dates
- Brief but descriptive
Good: `2025-01-13-learning-rate-sweep.md`
Bad: `Learning Rate Sweep.md`
## After Creation
Confirm to user:
"✅ Created {filename}
📝 Note type: {type}
📍 Location: notes/{subdirectory}/{filename}
🏷️ Tags: {tags}
📋 Finding: {one-line finding}
✅ Added to INDEX.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.