# Review

Smart review router.

- Repository: https://github.com/ballred/obsidian-claude-pkm (1886 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-02-18
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add ballred/obsidian-claude-pkm --skill review -g -a claude-code -y`
Codex: `npx skills add ballred/obsidian-claude-pkm --skill review -g -a codex -y`
Cursor: `npx skills add ballred/obsidian-claude-pkm --skill review -g -a cursor -y`
Gemini CLI: `npx skills add ballred/obsidian-claude-pkm --skill review -g -a gemini-cli -y`

## Description

Smart review router. Detects context (morning, Sunday, end of month) and launches the appropriate review workflow. Use anytime for the right review at the right time.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Review Skill

Smart router that detects context and launches the appropriate review workflow.

## Usage

```
/review           # Auto-detect the right review based on time/context
/review daily     # Force daily review
/review weekly    # Force weekly review
/review monthly   # Force monthly review
```

Or simply: "Help me review", and the right workflow starts.

## Auto-Detection Logic

When invoked without arguments, detect context using these rules:

### 1. Check the Time of Day

```bash
HOUR=$(date +%H)
```

- **Before noon (< 12):** Morning routine, delegate to `/daily` morning workflow
- **After 5 PM (>= 17):** Evening shutdown, delegate to `/daily` evening workflow
- **Midday (12-17):** Midday check-in, delegate to `/daily` midday workflow

### 2. Check the Day of Week

```bash
DAY_OF_WEEK=$(date +%u)  # 1=Monday, 7=Sunday
```

- **Sunday (7) or Monday (1):** Weekly review, delegate to `/weekly`
  - Override time-of-day detection
  - Ask: "Ready for your weekly review?" before proceeding

### 3. Check the Day of Month

```bash
DAY_OF_MONTH=$(date +%d)
DAYS_IN_MONTH=$(date -v+1m -v1d -v-1d +%d 2>/dev/null || date -d "$(date +%Y-%m-01) +1 month -1 day" +%d)
```

- **Last 3 days of month (DAY_OF_MONTH >= DAYS_IN_MONTH - 2):** Monthly review, delegate to `/monthly`
  - Override both time-of-day and day-of-week detection
  - Ask: "End of month, ready for your monthly review?" before proceeding

- **First day of month (DAY_OF_MONTH == 1):** Also suggest monthly review
  - "It's the first of the month. Want to do your monthly review for last month?"

### 4. Check Staleness

Before routing, check for overdue reviews:

```bash
# Read weekly review file for last date
WEEKLY_REVIEW="Goals/3. Weekly Review.md"
# If last weekly review > 7 days ago, suggest weekly regardless of day
```

The rest: https://github.com/ballred/obsidian-claude-pkm/blob/HEAD/vault-template/.claude/skills/review/SKILL.md
