Mandatory post-development guidance updating — after functionality is added or changed, rewrite the project skills the work touched as current rules (never as change notes), record external-doc findings (URL + gist) in the governing skill, or add skills for new subsystems and technologies. Required before the completion report whenever development started from a plan agreed with the agent.
Scanned 9/22/2026
Install to Claude Code
npx -y skills add owlmeans/common --skill self-education --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Self Education?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/owlmeans-self-education-common)More formats (shields.io, HTML) on the badges page.
---
name: self-education
description: Mandatory post-development guidance updating — after functionality is added or changed, rewrite the project skills the work touched as current rules (never as change notes), record external-doc findings (URL + gist) in the governing skill, or add skills for new subsystems and technologies. Required before the completion report whenever development started from a plan agreed with the agent.
user-invocable: true
metadata:
scope: general
---
<!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
# Self-education
After functionality is added or changed, the guidance that describes it must catch up — the agent
teaches itself for next time. This pass runs after implementation and verification, **before**
the completion report.
## When (mandatory)
Development "started from planning" when the session produced a plan the operator approved before
implementation — a plan-mode approval, an agreed written plan/spec, or an explicit "go ahead" on
a proposed approach. **Approval of a plan is simultaneously approval of its implicit final step:
this self-education pass.** A planned task is not finishable without it. If guidance files cannot
be edited (read-only run), list the required updates in the report instead.
Also recommended after any unplanned change that made an existing skill inaccurate.
## Review checklist
For each area the work touched:
1. Which existing skill covers it? Check `.agents/skills/`, and — where the project has one —
`.agents/linked-skills/`, for ground a skill this project does not own already covers.
2. Do its commands, paths, APIs, and behavior claims still hold after the change?
3. Fix in place — rewrite the affected lines so they describe current behavior; never append a
note about what this change did.
4. Never record what the work taught in `AGENTS.md`: the rule goes to the governing skill, the
incident to `.agents/memory/`. `AGENTS.md` gains at most a new skill's one index line or a new
repo-wide mandatory rule in one line (`create-skill` → What may enter AGENTS.md).
## Shape of an update
A skill states **current rules, not what changed**. Every edit is a rewrite in
place of the affected lines.
Never write into a skill: dated bulletins ("2026-07-05 — …"), phase or migration
status ("Phase 3 complete", "migration done", "landed"), "formerly X, now Y", incident
narratives, fixed-bug logs, or point-in-time inventories. If a line only makes sense to someone
who watched the change happen, it does not belong in guidance — the rule it taught does, stated
timelessly. Facts too specific to generalize go to `.agents/memory/` (`agent-memory`); the
rewrite recipe is `memory-promotion` → Distillation.
Test: a finished skill reads as though the feature was always this way.
## Skills this project does not own
A skill that came from somewhere else is not edited here, and the two kinds fail differently:
- An entry under `.agents/linked-skills/<name>` is a symlink into the repo or installed package
that owns the skill. Writing through it edits the owner's own file — an unrequested change in
another project, which nothing here undoes: the link script only creates and prunes symlinks.
- A skill placed by the `@owlmeans/agent-skills` installer is a real file at
`.agents/skills/<name>/SKILL.md` carrying
`<!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->`. The next install
overwrites every file still carrying that banner, so an edit made under it is lost; strip the
banner and the file instead becomes a conflict the installer skips and reports.
When such a skill gained an important usage pattern during the work, capture the pattern in a
local skill under `.agents/skills/`, named after the pattern — a local skill named after the
upstream one shadows it for the whole project — and list the upstream skill in the report as an
upstream candidate. Changing the skill at its source is a separate change in the owning project,
made only on explicit operator request.
## External docs
If the work required reading internet documentation for an external API, library, or service,
the governing skill must record it under an `## External docs` heading:
```
- <URL> — <one-line gist of what it settled> (<version/date if load-bearing>)
```
Governing skill = the project skill covering the touched area; else the skill covering that
library; if none exists and the technology will recur, create one (update-vs-create rule in
`memory-promotion`). Never leave doc findings only in memory or the conversation.
## New subsystems / technologies
When new technology or a new subsystem entered the repo: create the skill for its procedures,
and/or the `.agents/memory/` node for its facts — split along the
memory-vs-skill boundary (`agent-memory` / `memory-promotion`).
## Completion gate
Before reporting, run `sh .agents/scripts/agents-size.sh`; if `AGENTS.md` is over budget, move
lines out to their skills first.
The completion report must contain a Self-education table:
| Item | Action | Path |
|---|---|---|
| <area/skill> | updated / created / none-needed | <path> |
"none-needed" requires a one-phrase reason. A post-plan completion report without this table is
a protocol violation.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!