Manually teach error pattern and solution to learning database.
npx skills add https://github.com/notque/vexjoy-agent --skill learn
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.
Extract two fields from the user's input:
error_pattern: The error message or symptom textsolution: The fix or resolution textAccepted input formats:
/learn "error pattern" -> "solution"/learn "error pattern" => "solution"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.
Determine fix_type and fix_action from the solution text by applying these rules in order:
pip install, npm install, apt install) -> fix_type=auto, fix_action=install_dependencyreplace_all -> fix_type=auto, fix_action=use_replace_allfix_type=skill, fix_action=<skill-name>fix_type=agent, fix_action=<agent-name>fix_type=manual, fix_action=apply_suggestionExecute 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 patternExample:
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.
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
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.
Cause: Another process holds the SQLite lock
Solution: Retry after 2 seconds. If persistent, check for hung processes with lsof ~/.claude/learning/learning.db.
Cause: Incomplete input
Solution: Ask the user explicitly for the solution text. Do not guess or fabricate solutions.
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)Efficient database search tool for bioRxiv preprint server. Use this skill when searching for life sciences preprints by keywords, authors, date ranges, or categories, retrieving paper metadata, downloading PDFs, or conducting literature reviews.
Access BRENDA enzyme database via SOAP API. Retrieve kinetic parameters (Km, kcat), reaction equations, organism data, and substrate-specific enzyme information for biochemical research and metabolic pathway analysis.
Access ClinPGx pharmacogenomics data (successor to PharmGKB). Query gene-drug interactions, CPIC guidelines, allele functions, for precision medicine and genotype-guided dosing decisions.
Query NCBI ClinVar for variant clinical significance. Search by gene/position, interpret pathogenicity classifications, access via E-utilities API or FTP, annotate VCFs, for genomic medicine.
Access COSMIC cancer mutation database. Query somatic mutations, Cancer Gene Census, mutational signatures, gene fusions, for cancer research and precision oncology. Requires authentication.
Query Ensembl genome database REST API for 250+ species. Gene lookups, sequence retrieval, variant analysis, comparative genomics, orthologs, VEP predictions, for genomic research.
Query openFDA API for drugs, devices, adverse events, recalls, regulatory submissions (510k, PMA), substance identification (UNII), for FDA regulatory data analysis and safety research.
Query NCBI Gene via E-utilities/Datasets API. Search by symbol/ID, retrieve gene info (RefSeqs, GO, locations, phenotypes), batch lookups, for gene annotation and functional analysis.
Take notque/learn from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference pip, npm.
Without those the skill loads but fails at the first command.