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
Run the skill-improvement pipeline after a learning was detected — capture, classify, create, validate, apply; explicit request only.
Decision brief
Run the skill-improvement pipeline after a learning was detected — capture, classify, create, validate, apply; explicit request only.
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/6a5670b7881a676c0da90d2afb950298087c4ccb/src/skills/skill-improvement-pipeline/SKILL.md at commit 6a5670b7881a676c0da90d2afb950298087c4ccb. 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 | 92/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 9 | 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.
src/rules/, follow rule conventionsskill-writing skill, create in src/skills/skill-management skillAfter creation:
./scripts-run src/scripts/skill_linter {path} — must pass (0 fail).augment/./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 mainsrc/ AND .augment/improve(agent): {short description}ON A FAILURE, NAME WHICH COMPONENT WAS ABSENT. THE CLASS PICKS THE ARTIFACT.
THE DEFAULT ANSWER TODAY IS "ANOTHER RULE". IT IS USUALLY THE WRONG ONE.
A failure means something was missing. Which something decides what to build, and the pipeline's own bias is to answer "a rule" regardless — which is how a tree accumulates prose for problems prose cannot solve.
| Absent component | What it becomes |
|---|---|
| Instruction — nothing said to do it | a rule or a skill section |
| Source of truth — the fact was not written down anywhere | a context or contract |
| Tool — the step was manual and got skipped | a script |
| Validator — nothing checked the result | a gate |
| Permission rule — authority was ambiguous | an authority-band edit |
| Sandbox signal — the environment did not say what it allowed | a capability probe |
| Evaluation — nothing would have caught the regression | a fixture |
| Recovery path — the failure had no exit | a runbook step |
Run this before the promotion gate, not after: a validator gap that reaches the gate as a proposed rule is judged on whether the rule is worth adding, which is the wrong question asked well.
The escalation threshold applies here too. A third recurrence of the same
violation class converts an observation into a deterministic gate — and a review
finding never silently becomes a hard gate. Both halves, specified in
decision-review § Removal is a disposition.
src/Frequently asked questions
Run the skill-improvement pipeline after a learning was detected — capture, classify, create, validate, apply; explicit request only.
The source record exposes this install command: npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/skill-improvement-pipeline". Inspect the command and pinned source before running it.