بنقرة واحدة
learning
Two-tier learning system — Tier 1 fast capture via LEARNINGS.md, Tier 2 validated promotion to expertise.yaml
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Two-tier learning system — Tier 1 fast capture via LEARNINGS.md, Tier 2 validated promotion to expertise.yaml
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Patterns learned and validated by Psi
Project scaffolding — template copy, Claude-powered placeholder filling, git init
Multi-phase loop that runs Claude Code sessions with signal detection and state management
Click-based CLI entry points — psi new and psi run commands
| name | learning |
| description | Two-tier learning system — Tier 1 fast capture via LEARNINGS.md, Tier 2 validated promotion to expertise.yaml |
Psi's self-improvement mechanism. Two speeds of learning, both injected into prompts.
Managed by src/psi/learning_tracker.py.
Format: --- delimited blocks in a markdown file.
# Learned Patterns
Rules extracted from experience. Apply relevant rules to avoid repeating mistakes.
---
Always use `type: "module"` in package.json when using ESM imports.
---
Filter all database queries by userId to prevent data leaks.
---
How it works:
---) and blocks < 10 charsKey implementation detail: get_all() splits on ---, skips blocks[0] (header), normalizes whitespace.
Managed by src/psi/skill_sync.py. Runs between phases, not during.
Flow:
.claude/skills/learned/resources/expertise.yamlConfidence thresholds:
expertise.yaml schema (written via yaml.safe_dump()):
version: "0.2.0"
patterns:
- pattern: "Always extend tsconfig from @tsconfig/node20"
confidence: high
occurrences: 7
evidence: "tsconfig.json, packages/*/tsconfig.json"
learned_from: skill_sync
promoted_at: "2026-01-31T14:23:00"
evolution_log:
- date: "2026-01-31"
change: "Promoted 3 patterns from Tier 1"
patterns_added: 3
All YAML operations use yaml.safe_load()/yaml.safe_dump() per PyYAML best practices — prevents arbitrary object construction on load and restricts serialization to safe Python types on dump.
In prompt_generator.py:augment_with_learnings():
--- from base prompt_extract_search_terms() output.src/psi/learning_tracker.py — Tier 1 read/writesrc/psi/skill_sync.py — Tier 2 validation + promotionsrc/psi/prompt_generator.py — Injection into prompts