notes
Create a NOTES file capturing discoveries and decisions from the current session. Suggest this when an unexpected issue was discovered and resolved, a technical decision was made that wasn't in the plan, the approach deviated from the original plan, significant debugging or investigation was performed, or the session is about to end with important context.
What this skill does
# /pdd:notes
Create a NOTES file capturing discoveries and decisions from the current session.
## Usage
```
/pdd:notes [focus]
```
## Arguments
- `focus` (optional): Specific aspect to focus on (e.g., "debugging session", "design decision")
## Environment Variables
- `PDD_WORKSPACE_DIR`: Base directory for PLAN/NOTES (default: `.claude/pdd`)
- `PDD_LOCALE`: Output language - `en` or `ja` (default: `en`)
## Behavior
1. Get current branch name via `git branch --show-current`
2. Generate timestamp via `date +%Y%m%d_%H%M%S`
3. Create: `{PDD_WORKSPACE_DIR}/{branch}/NOTES_{timestamp}.md`
## Purpose
NOTES capture what was discovered during implementation that wasn't anticipated in PLAN:
- Unexpected issues and how they were resolved
- Technical decisions made during implementation
- Insights that should be preserved for future sessions
- Deviations from the original plan and why
## Instructions
1. Review the current conversation for significant discoveries
2. Extract key findings, decisions, and solutions
3. Write using the structured format below
4. Focus on information that would be lost when the conversation ends
## Structure
Always start with `# NOTES - {brief description}`. Choose and adapt sections based on the session's nature:
- Implementation: Accomplishments, Key Files Modified, Next Steps
- Debugging: Problem, Root Cause, Solution, Pitfalls
- Investigation/Research: Findings, Implications, Open Questions
- Design Decision: Context, Options Considered, Decision, Rationale
### Examples
**Implementation session:**
```markdown
# NOTES - Add user authentication flow
## Accomplishments
- Implemented JWT-based auth middleware
- Chose bcrypt over argon2 for password hashing (simpler dependency, sufficient for our scale)
## Key Files Modified
- `src/middleware/auth.ts` - JWT verification middleware
- `src/routes/login.ts` - login endpoint
## Next Steps
- [ ] Add refresh token rotation
- [ ] Rate limiting on login endpoint
```
**Debugging session:**
```markdown
# NOTES - Fix intermittent timeout on /api/export
## Problem
- Export endpoint times out on datasets > 10k rows
## Root Cause
- N+1 query in `buildExportRows()` — each row triggered a separate lookup
## Solution
- Batched lookups with `WHERE id IN (...)`, reduced queries from O(n) to O(1)
## Pitfalls
- Initial fix with `Promise.all` hit connection pool limit — sequential batching was needed
```
**Design decision session:**
```markdown
# NOTES - Migration strategy for auth middleware
## Context
- Current middleware stores session tokens in cookies, non-compliant with new policy
## Options Considered
1. Patch existing middleware — fast but fragile
2. Full rewrite with new token store — clean but risky during freeze
3. Adapter layer over existing code — incremental, testable
## Decision
- Option 3: adapter layer
## Rationale
- Allows incremental rollout behind feature flag during merge freeze
```
Sections can be omitted or combined freely. Keep each section concise and factual.
NOTES are meant to bridge sessions. They should enable resuming work without re-explaining context.
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.