Skip to content
Back to skills

Review

ASecurity

Goal review for quarterly full reviews and monthly light pulses.

  • 4 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 9, 2026
ai-agentsgobash

Works with

  • cli

Security analysis

A100/100

Scanned October 9, 2026

npx -y skills add mhxie/Atelier --skill review --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Review?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Review
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mhxie-review-atelier/badge)](https://www.skillsdirectory.com/skills/mhxie-review-atelier)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: review
description: Goal review for quarterly full reviews and monthly light pulses.
---
# Goal Review

> Also reachable via `/hi <natural language>` (e.g., `/hi review my goals`,
> `/hi goal pulse`, `/hi check directions`). See `harness/intents.toml`
> `[intents.review]` for the row's example phrases. Both paths execute this same procedure.

Review progress on near/mid/long-term goals. Surface what's progressing, what's neglected, and what has shifted.

## Cadence

| Type | Frequency | What |
|---|---|---|
| **Full review** | Quarterly (start of Q1 / Q2 / Q3 / Q4, i.e., early Jan / Apr / Jul / Oct) | Walk every goal in `directions.md`, decide keep / shift / drop. Retire >1y stale goals. Trend table vs. prior reviews. |
| **Light pulse** | Monthly | 5-min check inside `/weekly` or standalone: any goal materially advanced? Any neglected? Any newly born? No file write required if nothing surfaced. |
| **Annual reset** | Yearly (Jan or birthday) | Full rebuild anchored to `<year>小目标`. Touches `directions.md` directly. Often paired with `/introspect`. |

Inspect the last full review and the last pulse-equivalent so the monthly cadence does not produce duplicate pulses within 30 days. A pulse-equivalent is either a standalone `*-review-pulse.md` or a `*-weekly.md`, whose goal and commitment check supplies the monthly pulse. Take whichever is most recent:

```
Bash: last_full=$(find "$OV/reflections" -name '*-review.md' ! -name '*-review-pulse.md' 2>/dev/null | sort | tail -1)
Bash: last_pulse=$(find "$OV/reflections" \( -name '*-review-pulse.md' -o -name '*-weekly.md' \) 2>/dev/null | sort | tail -1)
```

Note: a no-change pulse intentionally skips writing a file (per Output → Pulse write gate), so `last_pulse` may understate by up to 30 days. That's tolerable: the cost of suggesting one extra pulse during the gap is far lower than the cost of a missed pulse.

Decision rules align with the cadence table above (full = quarterly = 90 days, light pulse = monthly = 30 days). Branch on `last_full` first, then refine with `last_pulse`:

- **No prior full review** → run the **full quarterly form** to establish the baseline. Lookback = 90 days for Context Loading. First-run case.
- **<30 days since last full review** → no review needed; tell user "last full review was N days ago, full quarterly cadence not due yet, no monthly pulse needed yet either". Offer full only if user explicitly asks.
- **30-89 days since last full review** → check `last_pulse`:
  - If **<30 days since last pulse** → no pulse needed yet ("monthly pulse already done N days ago"). Offer full only if user explicitly asks.
  - Otherwise (no pulse or ≥30 days) → **light pulse default**. The full quarterly cadence has not yet rolled over; offer full only if user explicitly asks.
- **90-120 days since last full review (on cadence)** → full quarterly form. The canonical quarterly review.
- **>120 days since last full review (overdue)** → full quarterly form with an honest gap note ("last full review was N days ago, X days past the quarterly cadence").

Stale-goal floor: every full review must explicitly resolve each item under `## Goals requiring an explicit decision` in `directions.md` (retire, redefine, or re-commit) and any goal older than 1 year with no progress evidence. Do not let stale goals roll over silently.

## Prerequisites

The routed context helper below stops toward `/introspect` for a missing
declared profile and reports staleness for selected profiles.

## Context Loading

1. Reuse the current `review` Repomix context artifact from `$hi`; for direct
   invocation, run `uv run scripts/context_bundle.py --intent review`.

2. Use the artifact's latest session sections as the continuity seed. Search the
   selected lookback window, 90 days for a full review or 30 days for a pulse,
   and triage QMD candidates before reading 3 to 5 relevant source sections. Do
   not preload every reflection in the window.

3. **Pull goal-related updates from the local vault, bounded to the lookback window.** Do NOT issue an unbounded `Grep(path: "$OV/")` — an unbounded grep will pull stale historical matches that skew the review. Use `find -print0 | xargs -0 grep` so recency actually binds. Substitute `<N>` with the lookback (90 for full, 30 for pulse):
   - `Bash: find "$OV"/daily "$OV"/reflections "$OV"/gtd "$OV"/wiki -type f -name "*.md" -mtime -<N> -print0 2>/dev/null | xargs -0 grep -HnE "目标|goal|progress|进展|milestone" 2>/dev/null`: recency-bounded goal and progress mentions across both languages in one pass. Safe with an empty working set (xargs does nothing if stdin is empty).
   - Add today's daily note only if current capture is necessary for a disputed
     or missing goal state.

4. Read key goal-note sections directly. Read a complete file only when the
   full goal record is required. If a referenced note is genuinely missing
   from the local vault, report the gap.

## Analysis

Walk `directions.md` in its current shape: one pass per H3 under `## Mid-term
direction`, then every row of the commitments table (full review) or the rows
due since the last pulse (monthly), then `## Long-term direction` on full
reviews only: does each mid-term heading still ladder into a long-term line,
and does any long-term line have no mid-term carrier? The category names come
from the file at runtime, never from this page.

### Progressing
Which goals have evidence of recent activity? Look for:
- Goal notes edited recently
- Daily notes mentioning goal-related topics
- Reflections that referenced these goals

### Neglected
Which goals appear in directions.md but have NO recent activity? Look for:
- Goals not mentioned in any recent reflection
- Goal notes not edited in 30+ days
- Topics absent from daily notes

### Shifted
Have the user's priorities changed? Look for:
- New topics appearing frequently in recent notes that aren't in directions.md
- Goals that were active 3 months ago but have gone quiet
- Contradictions between stated goals and recent behavior

## Review Output

Present the review interactively, category by category. For each finding, cite the specific source note.

After discussing, present the draft and obtain approval before writing:

**File:** `<paths.reflections>/YYYY-MM-DD-review.md` for **full** reviews; `<paths.reflections>/YYYY-MM-DD-review-pulse.md` for **monthly light pulse** runs. The distinct suffix lets the Cadence Bash check (above) tell them apart so a pulse does not silently defer the next quarterly review.

**Pulse write gate:** no material change means no pulse file. Full reviews
still produce a draft when goals are unchanged, so an approved save can anchor
the quarterly cadence. A declined save must not be reported as a completed
cadence anchor. Neither branch changes `directions.md` without separate approval.

Keep a short summary, progressing/neglected/shifted findings under the actual
direction headings, commitment evidence and state, and source links. Full reviews
also show the long-term ladder and explicit resolutions of stale goals. Include
new interests, experiments, or a trend comparison only when supported; do not
fill fixed category templates or manufacture a quota of actions.

## Session Log

Run `uv run scripts/session_log.py --type review --duration <minutes>` and fill
the compact Continuity, Anomalies, and Operations sections per
`protocols/session-log.md`. Record the next review trigger and actual save/update
outcomes, including a no-change pulse or declined write. Logs never block the session.

## Wrap Up

The approved review file is the durable output. Daily notes remain read-only.
Report the actual saved location, no-change pulse, or declined write; never
announce a save that did not happen.

Suggest follow-ups:
- `/hi` for daily check-ins between reviews
- `/weekly` for lighter weekly check-ins
- `/decision` if any goal needs a decision about continuing or stopping

## Trend Analysis (if prior reviews exist)

If previous review files exist in `<paths.reflections>/`, compare:
- Which goals were "Neglected" last time — are they still neglected? (Chronic neglect signal)
- Which goals were "Progressing" — have they continued? (Momentum signal)
- Which "Suggested Experiments" from last review were actually done? (Follow-through signal)

Present trend as:
| Goal | Last Review | This Review | Trend |
|------|------------|-------------|-------|
| [goal] | Progressing | Progressing | Sustained momentum |
| [goal] | Neglected | Neglected | Chronic neglect — needs decision |
| [goal] | Progressing | Neglected | Lost momentum — investigate |

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.