Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/dikamilo/dx-workflow/dx-lessonnpx skills add dikamilo/dx-workflow --skill dx-lessongit clone --depth 1 https://github.com/dikamilo/dx-workflowWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/dikamilo/dx-workflow/dx-lesson)<a href="https://agentmods.dev/skills/dikamilo/dx-workflow/dx-lesson"><img src="https://agentmods.dev/badge/skills/dikamilo/dx-workflow/dx-lesson.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00029 | $0.00589 |
| Opus 5 | $0.00015 | $0.00295 |
| Sonnet 5 | $0.00006 | $0.00118 |
| Haiku 4.5 | $0.00003 | $0.00059 |
Grade A, and why
dx-lesson scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 46 lines — stays where its author put it; the contents beside it link to each section on GitHub.
dx-lesson
Capture one finding so a future change re-reads it instead of relitigating it. A lesson is scar tissue or a load-bearing decision — a rule, not a story. Two flavors, both belong here: cautionary ("this broke because…") and decisional ("we chose X over Y because Z", including a rejected refactor: "don't re-deepen X — it's shallow on purpose because Y"). This is the anteroom to a standard, not an ADR — the framework has no separate decision register.
Guard. foundation/lessons.md must exist (it does after /dx-init). If it is missing, tell the user to run /dx-init first. Read foundation/glossary.md for naming — a one-line habit, no section.
1 — Get the finding
Take the finding from the argument. If nothing was passed, ask what broke or what was decided, and why it matters — one question, then proceed. Don't turn a capture into an interview.
2 — Load the entry shape (invoke dx-references with knowledge-layer)
Use it for the lesson entry shape and to judge whether this is a lesson at all (a one-off finding is fine here; a recurring one is a promotion candidate — see step 4).
3 — Append (never rewrite)
Append to the end of foundation/lessons.md. Never edit, reorder, dedupe, or reformat existing entries — the file is append-only; that friction is the point. One entry, this shape:
## <short title> — <YYYY-MM-DD>
<what happened / what was decided>. **Why:** <the reason it matters>. **How to apply:** <the rule going forward>.
Keep it tight — the title is what future skills scan first.
4 — Flag for promotion if it will recur
If the finding looks like it will keep coming up across changes, note it — that is the trigger for graduating it into a standard via /dx-standards-update. Don't promote here; lessons are the append-only home.
Done when
The entry is the last section of foundation/lessons.md and existing entries are untouched. Then print and stop:
Lesson recorded: foundation/lessons.md — ## <short title>
Next: /dx-standards-update — only if this will recur across changes (promote it to a standard)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today Changed · -1 lines 2d7876cd5e40
- 5d ago First seen · 47 lines · 29 tokens per session scan A 3f2f85ec8ee3
dx-lesson is a skill published in the GitHub repository dikamilo/dx-workflow (5 stars, last pushed 4d ago), licensed MIT. It adds 29 tokens to every session and 589 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
context-engineering
Optimizes agent context setup. Use when starting a new session, when agent output quality degrades, when switching between tasks, or when you need to configure rules files and context for a project.
comet-memory
使用于 Comet 需要根据有界语义评审包判断是否值得保存个人记忆、候选、更新、遗忘或跳过时。.
recall-memory
Recall relevant long-term memories on demand. Given a topic or question, judges relevance from pre-loaded metadata, loads only relevant files, and returns a concise summary to the main agent.
agent-expert-creation
Create specialized agent experts with pre-loaded domain knowledge using the Act-Learn-Reuse pattern. Use when building domain-specific agents that maintain mental models via expertise files and self-improve prompts.
relevance-coarse-filter
Cheap, high-recall first-pass filter that removes obvious junk from a detector candidate pool before expensive story-origin research and PR judgment. Decides keep, monitoronly, or reject — never ranks, writes angles, verifies dates, or decides whether to pitch.
self-improve
Extract lessons from the current session, or sweep the project's past sessions when asked, and route them to the appropriate knowledge layer (project AGENTS.md, auto memory, existing skills, or new skills). Use when the user asks to "self-improve", "distill this session", "distill past sessions", "sweep past…