一键导入
g-skl-learn
File-only continual learning — agents self-report insights to project and vault memory notes. No JSONL scanning, no schedulers, no SentinelOne risk.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
File-only continual learning — agents self-report insights to project and vault memory notes. No JSONL scanning, no schedulers, no SentinelOne risk.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Triage non-code defects (spec_defect, policy_incongruity, design_gap): assess risk, auto-fix bounded safe issues, and log the rest as tracked bugs.
Compress the NON-gald3r sections of AGENTS.md/CLAUDE.md (and *memory*.md) to cut token overhead, while strictly preserving the install-managed gald3r SECTION ranges, code blocks, and URLs. Dry-run by default; apply only after confirmation.
Own and manage all feature data — FEATURES.md index, features/ individual files, staging lifecycle (staging→specced→committed→shipped), harvest source collection, and feature promotion. Single source of truth for everything feature-related.
Create well-structured git commits following gald3r conventions, with proper type prefixes, task references, and clean trailers (no AI co-author footers per C-021).
Tiered .gald3r/ health and intervention system. L1=triage (structural), L2=diagnosis (plan coherence), L3=surgery (cross-subsystem interface audit), L4=ecosystem (linked project negotiation). Replaces g-skl-medic.
gald3r_muninn MCP — query the local codebase knowledge graph for impact analysis, caller chains, dependencies, and symbol search. Clean-room rewrite (T1147 epic, T1153-T1158) of the GitNexus integration; auto-loaded by the example_app MCP server from docker/gald3r/tools/plugins/muninn/. Wire into g-go-code Step b0 Impact Scan before any implementation.
| name | g-skl-learn |
| description | File-only continual learning — agents self-report insights to project and vault memory notes. No JSONL scanning, no schedulers, no SentinelOne risk. |
| token_budget | high |
| subsystem_memberships | ["MEMORY_AND_KNOWLEDGE"] |
/g-learn at the end of any chat or agent sessionThe logging for Cursor Agent mode is handled by g-hk-agent-complete.py (hook-based).
This skill covers chat-mode sessions where hooks don't fire.
| Scope | File | Use for |
|---|---|---|
| Project | .gald3r/learned-facts.md | Project-specific facts, decisions, gotchas |
| Global | {vault_location}/projects/{project_name}/memory.md | Cross-project user prefs, patterns, style |
| Agent role | {platform}/agents/{slug}/journal/YYYY-MM-DD-{task-ref}-{slug}.md | Durable learning specific to ONE agent role (T1010) |
When an insight is specific to a single agent role (e.g. "the code reviewer should always check X first"), write it to that agent's journal in addition to learned-facts.md — see the CAPTURE_JOURNAL operation. Project-wide facts go to learned-facts.md only.
Triggered by /g-learn (no args). Write a 3–5 item summary of the current session.
.gald3r/.identity to get project_name and vault_location.gald3r/learned-facts.md{vault_location}/projects/{project_name}/memory.md (ask user)Format:
- [YYYY-MM-DD] {fact} (context: {task/session reference})
Sections (append to the most appropriate one):
## Architecture & Conventions## Recurring Preferences## Watch-Outs & GotchasTriggered by /g-learn insight or user saying "remember this" / "make a note".
Write ONE specific fact immediately. Same dedup check. Same format. Do not wait for end of session — write now.
If the insight is agent-role-specific (it changes how one role should
work, not the project at large), ALSO run CAPTURE_JOURNAL for that role.
Triggered when an insight is durable but specific to ONE agent role rather
than the whole project — e.g. a reviewer anti-pattern, a task-manager
decision rule. Writes a per-agent journal entry in addition to the
learned-facts.md bullet (the journal is the role-specific store; it does
not replace project facts).
g-agnt-code-reviewer).{platform}/agents/{slug}/journal/YYYY-MM-DD-{task-ref}-{slug}.md
with the frontmatter and 3–10 line body documented in
{platform}/agents/JOURNAL_FORMAT.md
(date, agent, task_ref, category, tags).category: anti-pattern for mistakes-to-avoid — these are surfaced
prominently at session start by g-rl-25.Journal entries are plain markdown: git-tracked, Obsidian-readable, no DB.
When the user defines a personal abbreviation/acronym/alias — explicitly (--vocab, "remember
the abbreviation…", "ABBR means…") or by intent (a line shaped ABBR = expansion — context) —
route it to .gald3r/vocab.md (the vocabulary source of truth), not learned-facts.md:
ABBR = expansion — context (context optional).@g-vocab-add (append/update the ## Active Vocabulary table; UPPERCASE the abbr).📖 Added: ABBR → expansion and use the expansion silently for the rest of the session.Vocab is loaded at session start by g-rl-25 (the 📖 Vocab: line) and recognized whole-word,
case-insensitively. @g-vocab-list / @g-vocab-search read it back. Keep vocab (compact shorthand)
distinct from learned-facts.md (project knowledge) and journals (per-agent-role learning).
Triggered by /g-learn review.
.gald3r/learned-facts.md{vault_location}/projects/{project_name}/memory.md if it exists## Superseded Facts section (append-only — never delete)Triggered by /g-learn global.
.gald3r/learned-facts.md{vault_location}/projects/{project_name}/memory.md
(create the file with a header if it doesn't exist)Triggered by /g-learn evolve.
Purpose: Mine task failure trajectories from Status History FAIL rows, cluster recurring patterns, and propose new micro-rules or skill amendments for human review.
No changes are made without explicit human approval. This operation is analysis + proposal only.
Steps:
Collect failure data — scan all .gald3r/tasks/task*.md files:
## Status History tableTo column is pending or failed AND Message starts with FAIL: or PARTIAL_PASS{task_id, task_type, subsystems, failure_message, timestamp}Extract failure signal — for each failure record:
failure_type — classify: selector_stale, scope_blocked, ac_missing, file_not_found, parity_missing, test_fail, review_rejection, othererror_pattern — extract the core error phrase (strip task-specific details: file paths, IDs)subsystem — from task frontmatter subsystems: fieldtask_type — from task frontmatter type: field (feature/bug_fix/refactor)Cluster similar failures — group by (failure_type, error_pattern_fingerprint):
Synthesize proposals — for each cluster with ≥2 members, generate a proposed patch:
type: rule — if the pattern is an enforcement issue (e.g., "parity_missing 3× in skill tasks")type: skill_amendment — if the pattern is a missing step in a skill (e.g., "scope_blocked before checking workspace_repos")type: preflight_check — if the failure is consistently caught at review (e.g., "add pre-review check for X")Write proposals to report file — append to .gald3r/reports/evolve_proposals.md:
## EVOLVE Report — {YYYY-MM-DD}
### Cluster: {failure_type}/{pattern_name} ({N} tasks: T{id1}, T{id2}, ...)
- **Pattern**: {error_pattern}
- **Proposed type**: {rule|skill_amendment|preflight_check}
- **Proposed patch**:
> {2-5 line proposal text}
- **Originating tasks**: T{id1}, T{id2}
- **Status**: ⏳ awaiting human review
---
Present summary to user — list clusters found, proposal types, and ask: "Review proposals? Type @g-learn evolve --apply CLUSTER-N to promote a proposal to the relevant skill/rule file."
Apply an approved proposal (/g-learn evolve --apply CLUSTER-N):
evolve_proposals.md.cursor/rules/) or skill file (.cursor/skills/)<!-- EVOLVE[T{id1},T{id2}] 2026-05-09: {proposal text} -->
evolve_proposals.md entry: Status: ✅ applied to {file} on {date}DECISIONS.md (if it exists): one-liner record with originating task IDsConstraints:
--apply CLUSTER-N invocation[🚨] (requires-user-attention) tasks are high-value candidates — surface them firstAt end of g-go-code and g-go-review sessions, add this to the handoff block:
> Run /g-learn to capture session insights for the next agent.
{vault_location}/
└── projects/
└── {project_name}/
└── memory.md ← global memory note
Create the directory structure if it doesn't exist.
When creating memory.md for the first time, write it with YAML frontmatter:
---
date: {YYYY-MM-DD}
type: session
ingestion_type: manual
title: "{project_name} — Project Memory"
project: {project_name}
tags: [session, memory]
---
Then append fact entries under section headings below the frontmatter. Subsequent writes append to the body without modifying the frontmatter.
Obsidian Compatibility: memory.md in the vault is indexed by Obsidian. Required frontmatter:
type: session,tags: [session, memory],title:,date:. See VAULT_OBSIDIAN_STANDARD.md for full spec.
When promoting a standalone decision / ADR into the vault (not the bullet list in learned-facts.md), create {vault_location}/projects/{project_name}/decisions/{slug}.md with:
---
date: {YYYY-MM-DD}
type: decision
ingestion_type: continual_learning
title: "ADR-NNN: Short title"
tags: [decision, architecture]
---
# {title}
## Context
{why the decision was needed}
## Decision
{what was chosen}
## Consequences
{tradeoffs, follow-ups}
Required: type: decision and category tag decision in tags: per VAULT_OBSIDIAN_STANDARD.md. Plain .gald3r/learned-facts.md bullets stay file-only (no YAML).