Learn
VexJoy AI Agent with Intelligent Routing - /do routes plain-English requests to the right specialist agent and gates the work with reviews, tests, and a learning loop.
npx -y skills add notque/vexjoy-agent --skill learnAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Manually teach error pattern and solution to learning database.
SKILL.md
4.2 KB, as published. Nobody here has run it
Learn Error Pattern Skill
Parse a user-provided "error -> solution" pair, classify it, store it in the cross-session learning database at high confidence, and confirm back. One pattern per invocation. All database operations go through the learning-db.py CLI.
Instructions
Step 1: Parse Input
Extract two fields from the user's input:
error_pattern: The error message or symptom textsolution: The fix or resolution text
Accepted input formats:
/learn "error pattern" -> "solution"/learn "error pattern" => "solution"- Freeform: "teach that X means Y" or "remember: when X, do Y"
Both fields must be non-empty. If either is missing, ask the user for the missing part before proceeding. If the error pattern is vague (e.g., "it broke") or the solution is non-actionable (e.g., "fix it"), ask the user to provide the specific error message and concrete fix steps — vague patterns fail to match future errors and waste database space.
Step 2: Classify Fix Type
Determine fix_type and fix_action from the solution text by applying these rules in order:
- Solution contains an install command (
pip install,npm install,apt install) ->fix_type=auto,fix_action=install_dependency - Solution contains
replace_all->fix_type=auto,fix_action=use_replace_all - Solution references a skill name ->
fix_type=skill,fix_action=<skill-name> - Solution references an agent name ->
fix_type=agent,fix_action=<agent-name> - Otherwise ->
fix_type=manual,fix_action=apply_suggestion
Step 3: Store Pattern
Execute the learning-db.py CLI to persist the pattern. Always pass user-provided strings as CLI arguments exactly as shown — never inline them into Python code via f-strings or string concatenation, because quotes or special characters in error text will break the script and create injection risk.
python3 ~/.claude/scripts/learning-db.py record \
"<error_type>" \
"<error_signature>" \
"<error_pattern> → <solution>" \
--category error \
--confidence 0.9
<error_type>: The classified type (e.g., "missing_file", "multiple_matches")<error_signature>: A kebab-case key derived from the error pattern- Confidence is always 0.9 for manually taught patterns. If the pattern already exists, this updates its confidence to 0.9.
Example:
python3 ~/.claude/scripts/learning-db.py record \
"multiple_matches" \
"edit-tool-multiple-matches" \
"Edit tool fails with 'found N matches' → Use replace_all=True parameter" \
--category error \
--confidence 0.9
The script must exit 0 and print confirmation. If it fails, see Error Handling below.
Step 4: Confirm to User
Always display what was stored so the user can verify correctness — silently storing without confirmation hides typos and misclassifications:
Learned pattern:
Error: "<error_pattern>"
Solution: "<solution>"
Type: <fix_type> (<fix_action>)
Confidence: 0.9
Error Handling
Error: "Script fails with ImportError or FileNotFoundError"
Cause: scripts/learning-db.py not found or not synced to ~/.claude/scripts/
Solution: Verify working directory is the repo root, or use ~/.claude/scripts/learning-db.py for cross-repo access.
Error: "Database locked"
Cause: Another process holds the SQLite lock
Solution: Retry after 2 seconds. If persistent, check for hung processes with lsof ~/.claude/learning/learning.db.
Error: "User provides only error, no solution"
Cause: Incomplete input Solution: Ask the user explicitly for the solution text. Do not guess or fabricate solutions.
References
hooks/lib/learning_db_v2.py: Unified learning database modulescripts/learning-db.py: CLI for recording, querying, and managing learningshooks/error-learner.py: Automatic error learning hook (complementary system)