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/romerma/mstack/reflectnpx skills add romerma/mstack --skill reflectgit clone --depth 1 https://github.com/romerma/mstackWhat 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 | $0.00050 | $0.00611 |
| Opus 5 | $0.00025 | $0.00305 |
| Sonnet 5 | $0.00010 | $0.00122 |
| Haiku 4.5 | $0.00005 | $0.00061 |
Grade A, and why
reflect 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 yesterday.
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 — 59 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Reflect
The output is not a list of observations. It is a decision, per lesson, about where that lesson now lives.
1. Gather what actually happened
.mstack/progress/*_<slug>.md, decisions.tsv, the commit history, the review verdicts, and
the CI runs. Look for the gap between what the record says and what the diff shows.
2. Three lenses, in parallel
- Judgment. Where did a call turn out wrong, and what was knowable at the time?
- Tooling. What was slow, repetitive, or done by hand three times?
- Divergent. What would someone who disagreed with the whole approach say?
3. Sort every finding
| Verdict | Meaning |
|---|---|
| Accepted | Worth acting on now |
| Backlog | Real, but not now. Say what would make it now. |
| Rejected | Considered and declined, with the reason |
4. Then the question that matters
For each accepted finding, name the document or check that absorbs it. This is the step that separates a retro from a diary.
| If the lesson is | It belongs in |
|---|---|
| A rule an agent must follow every time | A hook, or the gate. Not prose. |
| A constraint specific to one directory | That directory's CLAUDE.md |
| A decision with lasting consequences | An ADR, or decisions.tsv |
| A procedure someone will repeat | A skill or a playbook |
| A gap in what gets verified | A new check in the gate, or a new test |
Anything better enforced by a lint, a type or a test goes to Backlog as a code change, not to
Accepted as a documentation change. A rule that lives only in prose drifts, and the drift is
invisible until it costs something. That is the whole reason this plugin has a hooks/
directory.
5. Do not edit the workflow unilaterally
Changes to skills, agents or hooks are proposed and shown, then applied once the human agrees. A workflow that rewrites itself mid-session is a workflow nobody can reason about.
6. Append, never edit
The session summary goes at the end of .mstack/progress/history.md. If an earlier entry
turned out to be wrong, say so in a later one. The record of what you believed at the time is
part of what makes the retro possible at all.
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.
- yesterday First seen · 59 lines · 50 tokens per session scan A 0577bf7970df
reflect is a skill published in the GitHub repository romerma/mstack (1 stars, last pushed 8d ago), licensed MIT. It adds 50 tokens to every session and 611 once invoked, about $0.0003 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
cangjie-skill
Distill a book, long-video transcript, podcast, course, or interview into a coherent set of executable skills. Use when the user asks to "拆书" / "蒸馏一本书" / "把 XX 书做成 skill" / "把这个视频/播客/课程蒸馏成 skill" / "turn a book or video into skills" — i.e. wants the frameworks, principles, and methodologies in long-form content…
docs-planner
Identify documentation gaps and prioritize the docs backlog. Use when planning a docs improvement sprint, after signals surface repeated friction, when new SDK features ship without docs, or for periodic health assessment. Also triggers on "plan docs work", "what docs need writing", "prioritize the backlog", "docs…
wayfinder
把单个 agent session 装不下的一大块工作规划成 issue tracker 上的 decision tickets shared map,并逐一解决,直到通往 destination 的路清晰。.
productize-yourself
当用户在纠结职业/副业/自由职业方向、问「我该做什么才能赚钱/不被替代」、或想找到自己的独特优势时调用。 核心理念: 特殊知识(不可培训、对你像玩对别人像工作) × 产品化(杠杆规模化) = 无可替代的致富定位。 不适用于: 纯求职投递、写简历、已有明确方向的执行细节。 Triggers: 找方向/独特优势/副业/不可替代/productize/special knowledge/moat.
gsd-capture
Capture ideas, tasks, notes, and seeds to their destination.
gsd-extract-learnings
Extract decisions, lessons, patterns, and surprises from completed phase artifacts.