Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Step-by-step explanation of a concept with progressive depth
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 24% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 53% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 27% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 50% | 0% |
| case-22 | ✓→✗ | ▼ Worse | 52% | 0% |
Step-by-step explanation of a concept with progressive depth.
/learn:teach React hooks # Learn about React hooks
/learn:teach async/await # Understand async patterns
/learn:teach SOLID principles # Learn design principles
/learn:teach --deep SQL joins # In-depth explanationmarkdown## [Concept Name] **In one sentence**: [Clear, simple definition] ### Why It Matters [1-2 sentences on the problem this solves] ### Minimal Example \`\`\`[language] // Simplest possible demonstration [code] \`\`\` **Line by line**: - Line 1: [explanation] - Line 2: [explanation] ... ### Practical Example \`\`\`[language] // Real-world scenario [code] \`\`\` ### Common Mistakes 1. **[Mistake]**: [Why it's wrong and what to do instead] 2. **[Mistake]**: [Why it's wrong and what to do instead] ### Key Takeaways - [Bullet point 1] - [Bullet point 2] - [Bullet point 3] ### Learn Next - [Related concept 1]: [why it connects] - [Related concept 2]: [why it connects] --- **Practice challenge**: [Small exercise to reinforce the concept]
--deep--quickUser: /learn:teach useEffect
Claude: ## useEffect
**In one sentence**: useEffect lets you run side effects (data fetching, subscriptions, DOM changes) after React renders a component.
### Why It Matters
React components are pure functions that render UI. But real apps need to interact with the outside world: APIs, browser events, timers. useEffect is the bridge between React's declarative world and imperative side effects.
### Minimal Example
\`\`\`jsx
import { useEffect, useState } from 'react';
function Timer() {
const [seconds, setSeconds] = useState(0);
useEffect(() => {
const id = setInterval(() => {
setSeconds(s => s + 1);
}, 1000);
return () => clearInterval(id); // Cleanup
}, []); // Empty array = run once
return <div>{seconds}s</div>;
}
\`\`\`
**Line by line**:
- `useEffect(() => {...}, [])`: Run this function after first render
- `setInterval(...)`: Start a timer (side effect)
- `return () => clearInterval(id)`: Cleanup when component unmounts
- `[]`: Empty dependency array = only run on mount
### Common Mistakes
1. **Missing dependency array**: Without `[]`, effect runs on EVERY render
2. **Forgetting cleanup**: Intervals/subscriptions leak without return function
3. **Stale closures**: Using old state values instead of functional updates
---
**Practice challenge**: Add a pause button that stops and resumes the timer.| Category | Examples | |----------|----------| | React | hooks, context, suspense, server components | | JavaScript | closures, promises, event loop, prototypes | | TypeScript | generics, mapped types, utility types | | Patterns | SOLID, DI, composition, factories | | Backend | REST, GraphQL, authentication, caching | | Database | indexes, joins, transactions, normalization | | DevOps | containers, CI/CD, infrastructure as code |
$ARGUMENTS
Other measured skills in the registry, with their headline benchmark lift.