Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.
The English summary is being prepared. Showing the original description.
Run the skill-improvement pipeline after a learning was detected — capture, classify, create, validate, apply; explicit request only.
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
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 | Record — write a model-noticed self-repair record naming the asset it is about; act on the 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 / Record / Update existing}
The Record branch writes a model-noticed defect record through
upsertFinding in src/scripts/_lib/self_repair_store.ts, carrying a target
drawn from the closed rule: | skill: | command: | hook: vocabulary and
resolved against the tree at write time.
It used to route to a host-native memory tool, and that destination could not
work for this branch by construction: it is not target-addressed, nothing in
this repository can read it, it appears in no corroboration counter, and it is
simply absent on hosts that do not ship it. So the ≥2-origin counter at
src/scripts/learning_sidecar.ts:39 restarted at one every time, and the second
occurrence could never be recognised AS the second — which is the whole
mechanism this branch exists to feed. A record is readable, joinable, and
counted per target, so a third manifestation against one asset is a fact the
tree can establish rather than one that depends on a human recalling it.
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 promotion: there is no auto-write and no
auto-promotion — that half is the live boundary and is unchanged. The other
two clauses this sentence used to carry are retired, because the tree
contradicts them: src/scripts/learning_sidecar.ts:37 sets
HALF_LIFE_DAYS = 30 and decays a signal's weight over a per-project intake
store, and ADR-249 permits a supervised resident process in core,
superseding the blanket no-daemon clause this sentence inherited. Decay and
runtime are therefore governed, not prohibited. The human still 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/No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.
The English summary is being prepared. Showing the original description.
Use when defining or auditing the activation event — aha-moment selection, retention correlation, falsifiable definition. Triggers on 'what is our aha moment', 'redefine activation'.
The English summary is being prepared. Showing the original description.
Use when capturing an architectural decision — file naming, next ADR number, Status / Context / Decision / Consequences, index regen; fires even without saying 'ADR'.
The English summary is being prepared. Showing the original description.
Adversarial critique — devil's advocate, stress-test, honest teardown ('poke holes', 'be brutal', 'was hältst du davon'); explicit request only. Routine code or design review → code-review.
The English summary is being prepared. Showing the original description.
Use when reading, creating, or updating agent documentation, module docs, roadmaps, or AGENTS.md. Understands the full .augment/, agents/, and copilot-instructions structure.
The English summary is being prepared. Showing the original description.
Use for an adversarial red-team / blue-team / auditor review of an AI agent's CONFIG + behaviour (rules, skills, MCP, hooks, permissions) — attack-chain → defensive-gap list, not a code audit.
The English summary is being prepared. Showing the original description.