Best for
- Triggered by the skill-improvement-trigger rule when user picks "Capture & improve"
- Manually when user says "run the improvement pipeline" or "capture this learning"
- Regular skill creation (use skill-writing)
event4u-app/agent-config/src/skills/skill-improvement-pipeline/SKILL.md
ONLY when user explicitly requests: run the skill improvement pipeline after a learning was detected. Orchestrates capture, classify, create, validate, and apply.
Decision brief
ONLY when user explicitly requests: run the skill improvement pipeline after a learning was detected. Orchestrates capture, classify, create, validate, and apply.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/skill-improvement-pipeline"Inspect the Agent Skill "skill-improvement-pipeline" from https://github.com/event4u-app/agent-config/blob/0adf49a8ae84b0ff6e2de8759eea43257e020eff/src/skills/skill-improvement-pipeline/SKILL.md at commit 0adf49a8ae84b0ff6e2de8759eea43257e020eff. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Use the learning-to-rule-or-skill skill to extract 1–3 concrete learnings from the completed task.
Use the learning-to-rule-or-skill skill to extract 1–3 concrete learnings from the completed task.
For each learning, apply ALL of these checks. ALL must be YES to promote:
Tag each learning with one category for tracking:
Anchor exact commands to the transcript, not the journal. A session journal is a lossy summary; a command, path, or flag reconstructed from it can be subtly wrong. Before writing a concrete step (a command, a file path, a config key) into a rule or skill, confirm it against the…
Permission review
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 93/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 7 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
skill-improvement-trigger rule when user picks "Capture & improve"Do NOT use for:
skill-writing)skill-management)Use the learning-to-rule-or-skill skill to extract 1–3 concrete learnings from the completed task.
Each learning must be:
For each learning, apply ALL of these checks. ALL must be YES to promote:
| Check | Question |
|---|---|
| Repeated? | Has this pattern occurred 2+ times, or is it clearly generalizable? |
| Prevents failure? | Does it prevent a real observed failure or mistake? |
| Not covered? | Is there NO existing rule or skill that already covers this? |
| Actionable? | Is it a concrete constraint or workflow step (not vague advice)? |
| Result | Action |
|---|---|
| All YES | Promote — continue to Step 3 |
| One-off, never seen before | Reject — do nothing |
| Seen once, but generalizable | Note — use remember tool, act on second occurrence |
| Already covered | Update existing — skip to Step 4 with the existing skill/rule |
| Vague | Reject — not actionable |
Show the user:
> Learning: "{summary}"
> Category: {category-tag}
> Repeated: {yes/no} | Prevents failure: {yes/no} | Not covered: {yes/no} | Actionable: {yes/no}
>
> → {Promote / Reject / Note / Update existing}
If the same learning has now been observed in ≥ 2 distinct projects, it
is a strong promotion candidate for a shared surface (a global rule/skill or a
src/patterns/ recipe) rather than a project-local note. Surface that signal
to the user — do not auto-write it:
> Cross-project: this learning was also seen in {other-project}.
> ≥2 projects ⇒ candidate for a shared surface (global rule / skill / pattern).
> → surface for promotion (human decides; no auto-write)
This is a signal, not a store: there is no auto-write, no decay, no runtime (the writable per-project learning store stays rejected — [[council-agent-memory-sunset]]). The human decides whether the cross-project recurrence justifies promotion.
Tag each learning with one category for tracking:
| Category | When |
|---|---|
skill-weakness | Skill gave wrong or incomplete guidance |
rule-weakness | Rule was too vague or missed a case |
routing-issue | Wrong skill was selected for the task |
assumption-issue | Agent made bad assumptions instead of asking |
verification-gap | Verification step was missing or weak |
optimization-overreach | Optimize command suggested harmful change |
Decide what to create:
| Learning type | Create |
|---|---|
| Behavioral constraint ("always do X", "never do Y") | Rule (auto-type) |
| Workflow/procedure ("when X happens, do Y then Z") | Skill |
| Existing rule/skill needs update | Update (use skill-management) |
Anchor exact commands to the transcript, not the journal. A session journal is a lossy summary; a command, path, or flag reconstructed from it can be subtly wrong. Before writing a concrete step (a command, a file path, a config key) into a rule or skill, confirm it against the anchored source transcript — carry a
transcript:/ session anchor on the mined learning so the exact wording is recoverable, and verify against it rather than trusting the summary.
.agent-src.uncondensed/rules/, follow rule conventionsskill-writing skill, create in .agent-src.uncondensed/skills/skill-management skillAfter creation:
./scripts-run src/scripts/skill_linter {path} — must pass (0 fail).augment/./scripts-run src/scripts/condense --mark-done "{relative_path}"./scripts-run src/scripts/condense --generate-toolsagents/knowledge/procedures/skill-candidates.md
or any agents/knowledge/ page) — degrade the source to a pointer;
promotion is not complete otherwise (double-maintenance risk):
./scripts-run src/scripts/degrade_to_pointer --source "<knowledge-path>[#<anchor>]" --artifact "{relative_path}" --date "<YYYY-MM-DD>"Ask the user:
> 📦 Improvement ready: {description}
>
> 1. Universal — apply locally + PR to upstream package
> 2. Project-specific — apply locally only (agents/overrides/)
> 3. Review first — show me the changes before deciding
If project-specific (option 2):
agents/overrides/{type}/{name}.mdIf universal (option 1):
project.upstream_repo and project.improvement_pr_branch_prefix from .agent-settings.ymlproject.upstream_repo is empty → ask user for the target repo{prefix}{learning-slug} from main.agent-src.uncondensed/ AND .augment/improve(agent): {short description}.agent-src.uncondensed/