BayramAnnakov/claude-reflect/tree/main/mod

Claude Code mod としての claude-reflect。短いプロンプトごとにモデルチェックを行い、再利用できる修正(任意の言語)を見つけ、プロンプト上のバンドを 1 回押すだけで CLAUDE.md に保存します。
BayramAnnakov/claude-reflect/tree/main/mod

claude-reflect は Claude Code mod として動作する、function hooks を使ったインプロセス TypeScript plugin です。Python plugin と同じく、修正を CLAUDE.md のルールに変えることが目的です。ただしレビューは、後で /reflect を実行するキューの中ではなく、修正した瞬間にプロンプト上で行われます。
まず作者の README で marketplace とプラグイン名を確認してください。コマンドはリポジトリの構成によって変わる場合があります。
claude plugin marketplace add BayramAnnakov/claude-reflect claude plugin install reflect-mod
claude-reflect as a Claude Code mod: an in-process
TypeScript plugin of function hooks. Same goal as the Python plugin - turn your corrections into CLAUDE.md rules - but
the review happens above the prompt, at the moment you correct, instead of in a queue you run /reflect on later.

On one heavy user's machine the Python plugin's queue held 102 items across 37 projects, none ever cleared; about 16 were reusable rules (BACKLOG #1). Regex cannot tell a rule from a one-off redirect (BACKLOG #2), and a queue reviewed later mostly is not reviewed. The mod changes both:
| | Python plugin | reflect-mod |
|---|---|---|
| Detection | 63 regexes at capture, model check later in /reflect | model check on every short prompt, any language |
| Review | /reflect, when you remember to run it | a band above the prompt, right away |
| Repeats | each one queued again | merged into one row with a count |
| Applies | after CLAUDE.md is re-read | in the current session at once, and in CLAUDE.md |
| Runs on | Claude Code, Codex/Cursor via AGENTS.md | Claude Code 2.1.286+ with mods |
claude plugin marketplace add bayramannakov/claude-reflect
claude plugin install reflect-mod@claude-reflect-marketplace
Use either this or the Python plugin, not both (every correction would be captured twice).
prompt.submit - cheap checks only, so typing is never slowed: your own prompt (not one a plugin sent), not a
slash command, not an acknowledgement ("ok", "да", "continue"), 500 characters or less, nothing that looks like a
credential. Eligible prompts are queued; a timer does the rest outside the prompt's dispatch.
The check - one $.model.complete call (haiku) with the policy in
the system prompt and your message plus the assistant's previous reply passed as untrusted data. It answers
{is_rule, rule, scope, confidence}; anything malformed, below 0.7, multi-line, over 200 characters or
secret-shaped is dropped.
The band - each found rule, full text, with:
remember: <rule> in an empty prompt box to reword,Save re-reads the file just before writing and adds a bullet inside one marked section:
<!-- claude-reflect: learned rules (saved from the band; edit freely) -->
## Learned rules
- Use pnpm, not npm, in this repo
<!-- end claude-reflect -->
A rule already in the file (as any bullet) is not added twice. Broken markers stop the write instead of guessing. The saved rule also goes into this session's system prompt (only while you stay in the project it belongs to).
remember: <rule> skips the model and goes straight to the band. /reflect-queue lists what was found here and
globally; /reflect-pause stops and resumes checking.
One small model call per eligible prompt, on the session's own client - it counts toward your Claude usage like any request. The prompt text is not stored; found rules are kept in the plugin's own store (a JSON file under your Claude Code config directory) until you decide on them.
~/.claude.json, which turns mods off for new sessions too - restart old sessions if the band never
appears.claude plugin validate mod
claude plugin test mod # 10 tests, mocked model - free