Agent Skills: Prompt Review

Batch-review the prompts you sent Claude on a given day (via claude-mem), pull out the ones that are your own original self-reflection (self-model, decision patterns, relationships, emotional processing — not task instructions), and log them into that day's journal under a "# Prompt Review" section. Use when the user wants to "回顾一下今天/昨天给AI的自我反思prompt", "把有价值的反思记进journal", or asks to run this on a schedule.

UncategorizedID: goodluckz/claude-code-config/prompt-review

Install this agent skill to your local

pnpm dlx add-skill https://github.com/goodluckz/claude-code-config/tree/HEAD/skills/prompt-review

Skill Files

Browse the full folder contents for prompt-review.

Download Skill

Loading file tree…

skills/prompt-review/SKILL.md

Skill Metadata

Name
prompt-review
Description
Batch-review the prompts you sent Claude on a given day (via claude-mem), pull out the ones that are your own original self-reflection (self-model, decision patterns, relationships, emotional processing — not task instructions), and log them into that day's journal under a "# Prompt Review" section. Use when the user wants to "回顾一下今天/昨天给AI的自我反思prompt", "把有价值的反思记进journal", or asks to run this on a schedule.

Prompt Review

Surface the self-reflection you type into prompts but never copy into the journal. This is deliberately narrow — it is not a general "what did I do today" log (weekly-review already owns that, pulling from claude-mem's tool-use/observation history into # Work). Engineering-project chatter and SP/task-logistics chatter were tried here and dropped: they duplicated weekly-review, and on review turned out low-value on their own. The one thing worth resurfacing is prompts that are your own original thinking about yourself — everything else in this skill exists only to filter down to those.

Why write these to the journal at all when claude-mem is already searchable: the journal and self-model serve different jobs than claude-mem's search index. claude-mem is query-first — you find something only if you think to search for it. The journal is what actually gets browsed (for periodic self-review, for mining into self-model), and self-model itself is deliberately curated down to the most important distilled statements, not a record of every prompt. This skill is the missing middle layer: a scannable, plain-text, unfiltered-but-topically-narrow record of the raw reflective material, sitting between "searchable but easy to forget to search" (claude-mem) and "important but heavily distilled" (self-model).

Vault root: /Users/zhaoliang/LocalDocuments/vaults/vault. Daily files: journals/YYYY-MM-DD.md.

1. Resolve the date(s) to review

  • Explicit date/range from the user → use it verbatim.
  • No args (e.g. triggered by /loop or /schedule) → default to yesterday (today is usually incomplete when this runs).
  • Skip a day if it's already been reviewed: Read that day's journal file first — if a # Prompt Review heading already exists with content under it, skip the day (don't re-process) unless the user explicitly asked to redo it. This is the only idempotency mechanism; there is no separate state file to keep in sync.

2. Pull that day's prompts from claude-mem — two passes

Use mcp__plugin_claude-mem_mem-search__search with type: "prompts", dateStart/dateEnd set to the day (format YYYY-MM-DD), and a high limit (e.g. 100). Two quirks discovered empirically (not documented in the tool's own help text):

  • type alone is rejected ("Either query or filters required for search") — it must be paired with dateStart/dateEnd (or a query).
  • If the result count equals your limit, page with offset until a page comes back short — busy days can exceed 50-100 prompts.

Run this as two passes with different bars, since one project is dedicated to reflection and the rest aren't:

Pass A — project: "self-analysis-vault". This project is where the user's self-analysis work happens, so most of what lands there is already reflection by construction. Use a low bar: include everything except purely mechanical no-content prompts (see the drop-list below) and prompts that are unambiguously pure task/logistics with zero reflective content (e.g. "查一下 SP 里那个任务勾了没"). A little non-reflective bleed-through here is fine and expected — don't spend effort being strict on this project.

Pass B — no project filter (all other projects, i.e. everything not already caught by Pass A). Search results are not scoped to one project by default, so this pass naturally spans every other project interleaved together. Use the strict bar from step 3 — this is where genuine reflections get typed into an engineering or task-focused session and would otherwise be lost.

Each result row gives an ID (#P####), timestamp, and a truncated preview (~100-150 chars) — usually enough to judge. Only call get_prompt(id) for full text when the preview is truncated mid-thought and the prompt looks like a keeper. Don't fetch full text for every prompt.

3. Filter for genuine self-reflection (strict bar — Pass B, and the drop-list for Pass A)

Keep a prompt only if it's the user's own original thinking about themselves: self-model entries, decision-making patterns, cognitive biases, relationship/trust dynamics, emotional processing, values, "why do I keep doing X" style introspection.

Drop everything else, including:

  • Task instructions and requests to Claude ("把这个写成技能", "查一下 SP", "先存起来吧") — these are commands, not reflection, regardless of topic.
  • Engineering/technical discussion — even if substantive, it belongs to weekly-review's # Work, not here.
  • SP task tracking, visa/logistics, scheduling, shopping research — task/life admin, not reflection.
  • Pure daily-life reporting (health data, appointments, purchases) with no analytical content — already covered by # Happenings / # Quick Notes.
  • Mechanical continuations ("继续。", "好的", bare slash commands) — no content at all.

When in doubt on Pass B, the test is: would this sentence make sense as an entry in a self-model / self-analysis note, independent of any task Claude was asked to do? If not, drop it. On Pass A, only the mechanical/pure-logistics items get dropped — everything with any reflective content stays.

4. Write the section

Read the day's journal file first (should already be read from step 1's skip-check). Append a new top-level section # Prompt Review — not part of the shared daily template (don't add it there; it's a vault convention going forward, same as weekly-review's ## Work addition to the weekly template). Place it right after # Work and before # Content.

# Prompt Review

- <verbatim or lightly-trimmed quote of the reflection, in the user's own words> (#P7461)
- ...

Rules:

  • Preserve the user's actual wording — quote or lightly trim, don't paraphrase. The value is specifically in their own articulation.
  • Group only when multiple prompts in the same thread are clearly one continuous reflection; otherwise one bullet per prompt.
  • Tag each bullet with its source prompt ID(s) in parenthesis (#P7461) so the user can trace back via get_prompt later.
  • If a reflection is already quoted verbatim elsewhere in that day's journal (e.g. # Quick Notes), still list it here with a short cross-reference instead of dropping it — this section is meant to be the complete index of the day's reflective prompts, findable in one place.
  • If nothing on a given day qualifies, skip writing the section entirely rather than adding an empty heading.

5. Report back

Give a compact summary: which day(s) were processed, how many prompts were found vs. how many qualified as self-reflection, and point to the file(s) edited.

Running this on a schedule

This skill doesn't schedule itself. For "定时批量回顾", wrap it with the loop skill (e.g. /loop 1d /prompt-review) or the schedule skill for a cron-based daily/weekly run. Mention this if the user asks for automation but hasn't set up the recurring trigger yet.

Prompt Review Skill | Agent Skills