- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
精選文章
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
My last post was about the dispatch ledger. This one is about a harder ledger to keep straight: the rules.
MyR2D2 has grown from 5 skills in its first version at the end of July to 13 today, and my own CLAUDE.md, project memory, and hooks have kept growing along with it. The problem isn't how many there are. It's that they fight each other, and they don't tell you when they do… For example, one rule says "Never send notifications via webhook," and later some memory says "Always use webhooks; they're fastest." Each makes sense on its own; put them together, and it comes down to which one the model happens to read first that day. Then there are skills nobody has used in ages whose descriptions still take up context at every session start, and the same error showing up in the logs every day, unhandled, because nobody is looking.
What systems-check scans
So I turned the routine check into MyR2D2's 13th skill, systems-check, and shipped it with v0.8.0. It scans the current project for five things:
- Conflicting and duplicated rules: CLAUDE.md, project memory, skill descriptions, and files injected by hooks are first sorted into buckets by topic, then the model reads the rules within each bucket and decides whether they conflict. If one says always do it and another says never, that's a conflict, and both are cited with file name and line number.
- Likely unused: skills, hooks, and memory with zero references in the last thirty days of conversation logs.
- Content that takes up room at every session start: files loaded at every session start, which ones could be compressed and which could be read only when needed. Listed only when the savings can be quantified.
- Unhandled errors in logs: the same kind of error showing up in different logs is counted together, and only errors that keep recurring with no sign of a notification are listed.
- Security smells: nine credential formats, file permissions, overly broad allow lists. Raw values never appear in any output.

It finds problems; it doesn't fix them. It never changes any file it scans. It only writes a report plus a set of handoff cards in the same format as MyR2D2's dropoff, so whoever picks one up can trace it back from the evidence on the card. Every finding gets an ID, so the next run won't open a new card for the same problem.
Its limits
It has limits, and the report lists them itself:
- Conflicts are compared within topic buckets, so rules that clash across buckets can slip through.
- "Unused" only looks at the last thirty days of conversation logs. Skills that trigger automatically from their descriptions leave no trace, so they're only marked as likely.
- Credentials are matched against nine common formats only. Finding nothing doesn't mean there's nothing.
- Scheduled jobs are only detected through macOS launchd; other platforms are skipped.
- It scans Claude Code's own ~/.claude. Other tools can install this skill, but they don't have that data to scan.
I scratch my own itch.
How to install and upgrade
New install (installs at the project level by default; add -g for a global install):
npx skills add tingyulu/MyR2D2
Already on an older version (one line updates every installed skill):
npx skills update
Installed as a plugin: update the marketplace from the /plugin menu.
The scanner uses only Python's standard library, so there are no extra packages to install. Once it's installed, say "systems check" (or "系統自檢" in Chinese) in the project and it runs. The first time, tell it to write the report only (--report-only), check whether what it flags is really a problem, then decide whether to open cards.
Repo: https://github.com/tingyulu/MyR2D2
This release: https://github.com/tingyulu/MyR2D2/releases/tag/v0.8.0
What MyR2D2 is, from the start: https://www.uncleric.com/2026/09/myr2d2-open-source-claude-skills.html
When did you last reread your CLAUDE.md? Do you know how many of its rules are fighting each other?
I'm Eric Lu ("Uncle Eric"), a product consultant, headhunter, and career coach. These skills are my actual daily workflow.
留言
張貼留言