autoskill
Analyze coding sessions to detect corrections and preferences, then propose targeted improvements to Skills used in the session. Use this skill when the user asks to "learn from this session", "update skills", or "remember this pattern". Extracts durable preferences and codifies them into the appropriate skill files.
What this skill does
This skill analyzes coding sessions to extract durable preferences from corrections and approvals, then proposes targeted updates to Skills that were active during the session. It acts as a learning mechanism across sessions, ensuring Claude improves based on feedback.
The user triggers autoskill after a session where Skills were used. The skill detects signals, filters for quality, maps them to the relevant Skill files, and proposes minimal, reversible edits for review.
## Session scope
By default, analyze only the **current session** (from SessionStart to now). This ensures fresh, relevant feedback without noise from old sessions.
To analyze patterns across multiple sessions, user must explicitly request: "analyze my last 5 sessions" or "look for patterns across this week".
## When to activate
Trigger on explicit requests:
- "autoskill", "learn from this session", "update skills from these corrections"
- "remember this pattern", "make sure you do X next time"
Do NOT activate for one-off corrections or when the user declines skill modifications.
## Where to apply changes
Distinguish between skill-specific behavior and project-wide conventions:
**Update Skills when:**
- Signal relates to how a specific skill should behave
- Preference affects skill trigger conditions or outputs
- Pattern is about the skill's decision-making process
**Update CLAUDE.md when:**
- Project-wide conventions (naming, file structure, architecture)
- Tool/library preferences that span multiple skills
- Team style preferences (spacing, comments, error handling)
- Domain-specific terminology used across the codebase
**Example:**
- "Don't add error handling for internal functions" → code-simplifier skill (how to simplify)
- "We use `cn()` utility for className merging" → CLAUDE.md (project convention)
- "Auth logic lives in middleware, not components" → CLAUDE.md (architecture decision)
## Signal detection
Scan the session for:
**Corrections** (highest value)
- "No, use X instead of Y"
- "We always do it this way"
- "Don't do X in this codebase"
**Repeated patterns** (high value)
- Same feedback given 2+ times
- Consistent naming/structure choices across multiple files
**Approvals** (supporting evidence)
- "Yes, that's right"
- "Perfect, keep doing it this way"
**Ignore:**
- Context-specific one-offs ("use X here" without "always")
- Ambiguous feedback
### Conflict resolution
When signals contradict each other, resolve using this priority order:
1. **Recency**: More recent signals override older ones (current session > past sessions)
2. **Explicitness**: Direct corrections ("No, do X instead") outweigh approvals ("looks good")
3. **Repetition**: Patterns repeated 3+ times outweigh single corrections
4. **Confidence scoring**:
- Explicit correction with "always/never": 5 points
- Repeated pattern (2+ occurrences): 3 points
- Single correction: 2 points
- Approval/confirmation: 1 point
If contradictory signals have equal scores, ask user for clarification before proposing changes.
**Example conflict:**
- Session 1: "Add error handling everywhere" (2 points)
- Session 3 (current): "Don't add error handling for internal functions" (5 points - explicit + "don't")
- Resolution: Use current session's explicit rule
## Signal quality filter
Before proposing any change, ask:
1. Was this correction repeated, or stated as a general rule?
2. Would this apply to future sessions, or just this task?
3. Is it specific enough to be actionable?
4. Is this **new information** I wouldn't already know?
Only propose changes that pass all four.
### What counts as "new information"
**Worth capturing:**
- Project-specific conventions ("we use `cn()` not `clsx()` here")
- Custom component/utility locations ("buttons are in `@/components/ui`")
- Team preferences that differ from defaults ("we prefer explicit returns")
- Domain-specific terminology or patterns
- Non-obvious architectural decisions ("auth logic lives in middleware, not components")
- Integrations and API quirks specific to this stack
**NOT worth capturing (I already know this):**
- General best practices (DRY, separation of concerns)
- Language/framework conventions (React hooks rules, TypeScript basics)
- Common library usage (standard Tailwind classes, typical Next.js patterns)
- Universal security practices (input validation, SQL injection prevention)
- Standard accessibility guidelines
If I'd give the same advice to any project, it doesn't belong in a skill.
## Mapping signals to Skills
Match each signal to the Skill that was active and relevant during the session:
**Update existing Skill when:**
- Signal relates to a Skill that was used in the session
- Total confidence score for that Skill ≥ 3 points
- Signal affects how the skill should behave or trigger
**Propose new Skill when:**
- Multiple related signals (total score ≥ 5 points) don't fit any active Skill
- Pattern spans multiple sessions with consistent behavior
- Signals describe a reusable, well-defined capability
**Update CLAUDE.md instead when:**
- Signals describe project conventions, not skill behavior
- Total score < 5 points for new skill creation
- Pattern is too specific to one context
**Ignore signals when:**
- Don't map to any Skill used in the session
- Total confidence score < 2 points
- Contradict existing, well-established patterns without strong justification
**Scoring example:**
- 2 explicit corrections about error handling (2×2=4 points) → Update code-simplifier
- 1 approval + 1 pattern about naming (1+3=4 points) → Needs one more signal or higher confidence
- 3 corrections about auth flow (3×2=6 points) → Could propose new auth-specialist skill
## Proposing changes
For each proposed edit, provide:
```
File: path/to/SKILL.md
Section: [existing section or "new section: X"]
Confidence: HIGH | MEDIUM
Score: [confidence points]
Signal: "[exact user quote or paraphrase]"
Current text (if modifying):
> existing content
Proposed text:
> updated content
Rationale: [one sentence]
```
Group proposals by file. Present HIGH confidence changes first.
### Concrete example
**Session context:** User corrected error handling twice during code-simplifier usage
**Detected signals:**
1. "Don't add try-catch blocks for internal functions" (explicit correction: 5 points)
2. Removed error handling from internal utility functions (pattern: 3 points)
3. Total: 8 points → HIGH confidence
**Proposed change:**
```
File: plugins/essentials/skills/code-simplifier/SKILL.md
Section: ## When NOT to simplify
Confidence: HIGH
Score: 8 points (5 + 3)
Signal: "Don't add try-catch blocks for internal functions" + pattern of removing such blocks
Current text:
> - Don't add error handling, fallbacks, or validation for scenarios that can't happen
Proposed text:
> - Don't add error handling, fallbacks, or validation for scenarios that can't happen
> - Don't add try-catch blocks for internal functions that are called by trusted code
Rationale: User explicitly corrected this twice; it's a specific, actionable rule for this project
```
## Review flow
Always present changes for review before applying. Format:
```
## autoskill summary
Detected [N] durable preferences from this session.
### HIGH confidence (recommended to apply)
- [change 1] - Score: X points
- [change 2] - Score: X points
### MEDIUM confidence (review carefully)
- [change 3] - Score: X points
Apply high confidence changes? [y/n/selective]
```
Wait for explicit approval before editing any file.
### Processing order when multiple updates needed
When proposing changes to multiple files:
1. **Process HIGH confidence first** (score ≥ 7 points)
2. **Group by file** to minimize context switches
3. **Flag potential conflicts** between proposed changes
4. **CLAUDE.md updates before Skill updates** (project context first)
5. **Skill updates in order of usage frequency** (most-used skills first)
**Example order:**
1. CLAUDE.md: Add `cn()` utility convenRelated 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.