/review
Interactively review and curate accumulated project lessons
> /plugin marketplace add jamditis/claude-skills-journalismHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/review
Context preview
What this command does when you run it.
Interactively review and curate accumulated project lessons
Command definition
review.mddescription: Interactively review and curate accumulated project lessons
Review accumulated lessons in `.autocontext/lessons.json`. Use AskUserQuestion to walk through lessons.
Initialization
The script first reads `.autocontext/lessons.json` and separates lessons into two groups:
- **Active lessons** — `deleted: false` or not marked deleted
- **Tombstoned lessons** — `deleted: true` (lessons that were intentionally removed)
If `.autocontext/cache/curated-pending.json` exists (from previous curation sessions with pending items), those are presented first for final approval.
Review order
Active lessons are sorted by **confidence score (lowest first)**. Low-confidence lessons need the most attention — these are either new, frequently contradicted, or validated by few developers.
Lesson presentation
Lessons are presented in batches of 3-4 using AskUserQuestion. For each lesson, the review shows:
- **Text** — the lesson content
- **Category** — lesson type (bug-fix, architecture, workflow, pattern, gotcha, etc.)
- **Confidence** — current score (0.0 to 1.0)
- **Validated count** — how many sessions/developers have confirmed it
- **Created by** — which developer/session discovered it
- **Age** — how long ago it was created
Example format:
Lesson: "Always run git pull before pushing to main"
Category: workflow
Confidence: 0.9 | Validated: 12 times | Created by: alice | Age: 45 days
Review actions
For each lesson, you choose one action:
**Options:**
- Approve — increase confidence by +0.2 (confirms lesson is valuable)
- Edit — modify lesson text, category, or tags
- Delete — tombstone the lesson (marks as `deleted: true`)
- Supersede — replace this lesson with a newer/better version
- Skip — leave unchanged and move to next
Approve
Bumps confidence by 0.2. Use this when you confirm a lesson is still valid and useful.
Edit
Opens the lesson for modification. You can update:
- Lesson text (the knowledge itself)
- Category (bug-fix, architecture, workflow, pattern, gotcha, integration, test-strategy)
- Tags (optional metadata)
Edited lessons are automatically marked as reviewed by you.
Delete
Marks the lesson as tombstoned (`deleted: true`). The original content is preserved in `.autocontext/archive/superseded.json` for historical reference, but the lesson won't load during future sessions.
Use this for lessons that are outdated, wrong, or no longer relevant.
Supersede
Replace the current lesson with a completely new version. You provide the new lesson text. The old lesson is tombstoned and the new one is added as a fresh, high-confidence lesson.
Use this when a lesson is correct in spirit but the specific guidance has changed (e.g., "Use React class components" → "Use React functional components with hooks").
Skip
Leaves the lesson unchanged and moves to the next one. Use this when you're not sure or want to review later.
Promote to global (skill-tagged lessons only)
When a lesson has a `skill` field (non-null) and `skill_learning.enabled` is true in config, a sixth action is available:
- **Promote to global** — Copy this lesson to the global skill lesson store using the store module. Update the original lesson's `scope` to `"skill"` in `lessons.json`. Report: "Promoted to global store for [skill name]."
The global store path comes from config: `skill_learning.global_store` (default `~/.claude/skill-lessons/`).
To perform the promotion, run:
python3 -c "
import sys
sys.path.insert(0, '${CLAUDE_PLUGIN_ROOT}/scripts/skill-evolution')
from store import promote_lesson, ensure_store
import json
ensure_store()
lesson = json.loads('''LESSON_JSON_HERE''')
result = promote_lesson(lesson, 'SKILL_NAME_HERE', 'PROJECT_NAME_HERE')
print('promoted' if result else 'already_exists')
"Only show this action when `skill_learning.enabled` is true in config and the lesson has a non-null `skill` field.
Tombstoned lessons
After reviewing all active lessons, you'll be asked about any tombstoned lessons:
**Question:** There are N tombstoned lessons. What would you like to do?
**Options:**
- Remove all tombstones permanently — deletes archived lessons (cannot be undone)
- Let me review them individually — presents each tombstone for potential restoration or permanent removal
- Keep them — preserves tombstones for historical reference
If you choose to review individually, each tombstoned lesson is presented with options to:
- Restore — mark as `deleted: false` and add back to active lessons
- Permanently remove — delete from archive (cannot be undone)
- Skip — leave in archive
Playbook regeneration
After all reviews are complete, the script automatically regenerates `.autocontext/playbook.md` using:
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/generate-playbook.py .autocontext/lessons.json .autocontext/playbook.mdThe playbook reflects your curated lessons and is the human-readable summary of project knowledge.
Review summary
At the end, you'll see a report:
Review complete:
- N lessons reviewed
- M lessons approved (confidence increased)
- K lessons deleted (tombstoned)
- J lessons edited
- Playbook regenerated with X active lessons
This summary confirms what changed and gives you confidence that the curation was applied.
Tips
- **Low-confidence lessons first** — the review order (lowest confidence first) helps you focus on lessons that need validation
- **Be liberal with approval** — if a lesson is still correct, approve it. This builds signal about what's truly useful.
- **Supersede instead of delete** — if a lesson is mostly right but needs an update, supersede it rather than deleting. This preserves the learning path.
- **Regular curation** — run `/autocontext:review` weekly or after major changes to keep lessons fresh and accurate
Read more
description: Interactively review and curate accumulated project lessons
Review accumulated lessons in `.autocontext/lessons.json`. Use AskUserQuestion to walk through lessons.
Initialization
The script first reads `.autocontext/lessons.json` and separates lessons into two groups:
- **Active lessons** — `deleted: false` or not marked deleted
- **Tombstoned lessons** — `deleted: true` (lessons that were intentionally removed)
If `.autocontext/cache/curated-pending.json` exists (from previous curation sessions with pending items), those are presented first for final approval.
Review order
Active lessons are sorted by **confidence score (lowest first)**. Low-confidence lessons need the most attention — these are either new, frequently contradicted, or validated by few developers.
Lesson presentation
Lessons are presented in batches of 3-4 using AskUserQuestion. For each lesson, the review shows:
- **Text** — the lesson content
- **Category** — lesson type (bug-fix, architecture, workflow, pattern, gotcha, etc.)
- **Confidence** — current score (0.0 to 1.0)
- **Validated count** — how many sessions/developers have confirmed it
- **Created by** — which developer/session discovered it
- **Age** — how long ago it was created
Example format:
Lesson: "Always run git pull before pushing to main" Category: workflow Confidence: 0.9 | Validated: 12 times | Created by: alice | Age: 45 days
Review actions
For each lesson, you choose one action:
**Options:**
- Approve — increase confidence by +0.2 (confirms lesson is valuable)
- Edit — modify lesson text, category, or tags
- Delete — tombstone the lesson (marks as `deleted: true`)
- Supersede — replace this lesson with a newer/better version
- Skip — leave unchanged and move to next
Approve
Bumps confidence by 0.2. Use this when you confirm a lesson is still valid and useful.
Edit
Opens the lesson for modification. You can update:
- Lesson text (the knowledge itself)
- Category (bug-fix, architecture, workflow, pattern, gotcha, integration, test-strategy)
- Tags (optional metadata)
Edited lessons are automatically marked as reviewed by you.
Delete
Marks the lesson as tombstoned (`deleted: true`). The original content is preserved in `.autocontext/archive/superseded.json` for historical reference, but the lesson won't load during future sessions.
Use this for lessons that are outdated, wrong, or no longer relevant.
Supersede
Replace the current lesson with a completely new version. You provide the new lesson text. The old lesson is tombstoned and the new one is added as a fresh, high-confidence lesson.
Use this when a lesson is correct in spirit but the specific guidance has changed (e.g., "Use React class components" → "Use React functional components with hooks").
Skip
Leaves the lesson unchanged and moves to the next one. Use this when you're not sure or want to review later.
Promote to global (skill-tagged lessons only)
When a lesson has a `skill` field (non-null) and `skill_learning.enabled` is true in config, a sixth action is available:
- **Promote to global** — Copy this lesson to the global skill lesson store using the store module. Update the original lesson's `scope` to `"skill"` in `lessons.json`. Report: "Promoted to global store for [skill name]."
The global store path comes from config: `skill_learning.global_store` (default `~/.claude/skill-lessons/`).
To perform the promotion, run:
python3 -c "
import sys
sys.path.insert(0, '${CLAUDE_PLUGIN_ROOT}/scripts/skill-evolution')
from store import promote_lesson, ensure_store
import json
ensure_store()
lesson = json.loads('''LESSON_JSON_HERE''')
result = promote_lesson(lesson, 'SKILL_NAME_HERE', 'PROJECT_NAME_HERE')
print('promoted' if result else 'already_exists')
"Only show this action when `skill_learning.enabled` is true in config and the lesson has a non-null `skill` field.
Tombstoned lessons
After reviewing all active lessons, you'll be asked about any tombstoned lessons:
**Question:** There are N tombstoned lessons. What would you like to do?
**Options:**
- Remove all tombstones permanently — deletes archived lessons (cannot be undone)
- Let me review them individually — presents each tombstone for potential restoration or permanent removal
- Keep them — preserves tombstones for historical reference
If you choose to review individually, each tombstoned lesson is presented with options to:
- Restore — mark as `deleted: false` and add back to active lessons
- Permanently remove — delete from archive (cannot be undone)
- Skip — leave in archive
Playbook regeneration
After all reviews are complete, the script automatically regenerates `.autocontext/playbook.md` using:
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/generate-playbook.py .autocontext/lessons.json .autocontext/playbook.mdThe playbook reflects your curated lessons and is the human-readable summary of project knowledge.
Review summary
At the end, you'll see a report:
Review complete: - N lessons reviewed - M lessons approved (confidence increased) - K lessons deleted (tombstoned) - J lessons edited - Playbook regenerated with X active lessons
This summary confirms what changed and gives you confidence that the curation was applied.
Tips
- **Low-confidence lessons first** — the review order (lowest confidence first) helps you focus on lessons that need validation
- **Be liberal with approval** — if a lesson is still correct, approve it. This builds signal about what's truly useful.
- **Supersede instead of delete** — if a lesson is mostly right but needs an update, supersede it rather than deleting. This preserves the learning path.
- **Regular curation** — run `/autocontext:review` weekly or after major changes to keep lessons fresh and accurate
A collection of Agent Skills for journalists, researchers, academics, media professionals, and communications practitioners. The same repository serves Claude Code and Codex while keeping Claude-only commands, agents, and hooks clearly labeled.
Repo: jamditis/claude-skills-journalism
Other commands on claude-skills-journalism.
- /evolve
Evolve skill files by integrating validated lessons from real usage
Open command - /init
Initialize .autocontext/ in the current project for knowledge persistence
Open command - /setup
First-run configuration for the autocontext plugin
Open command - /status
Show knowledge stats for the current project
Open command - /event
Create event materials (flyers, posters, signage) with your organization's branding
Open command - /newsletter
Create an HTML email newsletter with your organization's branding
Open command

