name: learn
Extract reusable problem-solving patterns from development sessions and save them as auto-invoked Skills.
Capture "non-trivial problems" solved during GROWI development, converting them into reusable skills that will be automatically applied in future sessions.
Focus on four key areas:
Error Resolution — Document what went wrong, root causes, and fixes applicable to similar issues (e.g., Mongoose query pitfalls, Next.js hydration errors, TypeScript strict mode issues)
Debugging Techniques — Capture non-obvious diagnostic steps and tool combinations (e.g., MongoDB query profiling, React DevTools with Jotai, Vitest debugging patterns)
Workarounds — Record library quirks, API limitations, and version-specific solutions (e.g., @headless-tree edge cases, Socket.io reconnection handling, SWR cache invalidation)
GROWI Patterns — Note codebase conventions, architecture decisions, and integration approaches (e.g., feature-based structure, Jotai + Socket.io sync, API v3 design patterns)
Extracted patterns are saved in appropriate skill directories based on the scope of the pattern:
Workspace-specific patterns:
apps/{workspace}/.claude/skills/learned/{topic-name}/SKILL.mdpackages/{package}/.claude/skills/learned/{topic-name}/SKILL.mdGlobal patterns (monorepo-wide):
.claude/skills/learned/{topic-name}/SKILL.md---
name: descriptive-name
description: Brief description (auto-invoked when working on related code)
---
## Problem
[What was the issue]
## Solution
[How it was solved]
## Example
[Code snippet or scenario]
## When to Apply
[Specific conditions where this pattern is useful]
Topics commonly learned in GROWI development:
Apps/app-specific (apps/app/.claude/skills/learned/):
page-save-origin-semantics — Origin-based conflict detection for collaborative editingsocket-jotai-integration — Real-time state synchronization patternsapi-v3-error-handling — RESTful API error response patternsmongodb-query-optimization — Mongoose indexing and aggregation patternsGlobal monorepo patterns (.claude/skills/learned/):
virtualized-tree-patterns — @headless-tree + @tanstack/react-virtual optimizations (if used across apps)jotai-atom-composition — Derived atoms and state composition (if shared pattern)turborepo-cache-invalidation — Build cache debugging techniquespnpm-workspace-dependencies — Workspace dependency resolution issuesExtract:
Avoid:
/learn after solving a complex problemapps/* or packages/*:
{workspace}/.claude/skills/learned/{topic-name}/SKILL.md.claude/skills/learned/{topic-name}/SKILL.mdWorkspace-specific (save to {workspace}/.claude/skills/learned/):
apps/* or packages/* directoryapps/app → apps/app/.claude/skills/learned/Global (save to .claude/skills/learned/):
.claude/skills/learned/Learned skills are automatically invoked based on their description when working on related code.