---
name: Review Router
slug: review-router
category: Automation
description: Review Router detects the current time and date context to launch the appropriate daily, weekly, or monthly review workflow in Obsidian. Use it whenever you want the right personal review at the right time, with explicit overrides available.
github: "https://github.com/ballred/obsidian-claude-pkm/tree/main/vault-template/.claude/skills/review"
language: Shell
stars: 1826
forks: 124
install: "npx degit https://github.com/ballred/obsidian-claude-pkm/tree/main/vault-template/.claude/skills/review ~/.claude/skills/review"
installs_to: ~/.claude/skills/review
source_path: vault-template/.claude/skills/review/SKILL.md
collection_size: 13
category_size: 1523
collection_url: "https://dirskills.com/collections/ballred/obsidian-claude-pkm"
added: 2026-08-18T06:59:36.104Z
last_synced: 2026-08-18T06:59:36.104Z
canonical_url: "https://dirskills.com/skills/review-router"
---

# Review Router

Review Router detects the current time and date context to launch the appropriate daily, weekly, or monthly review workflow in Obsidian. Use it whenever you want the right personal review at the right time, with explicit overrides available.

**Install:**

```bash
npx degit https://github.com/ballred/obsidian-claude-pkm/tree/main/vault-template/.claude/skills/review ~/.claude/skills/review
```

## README

# 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
```

- **Weekly review overdue (>7 days):** Suggest weekly review
  - "Your last weekly review was N days ago. Want to catch up?"
  - If user says no, fall through to time-of-day detection

## Routing Behavior

After detecting context:

1. Tell the user what was detected: "It's Sunday evening — launching your weekly review."
2. Delegate to the appropriate skill's workflow
3. The delegated skill handles everything from there

### Delegation

This skill does NOT duplicate the logic of `/daily`, `/weekly`, or `/monthly`. It:
1. Detects context
2. Informs the user
3. Follows the instructions from the target skill's SKILL.md

### Explicit Override

If the user specifies a type (`/review weekly`), skip auto-detection entirely and go directly to that review type.

## Output on Detection

```markdown
### Review Router

**Time:** 7:15 AM (Morning)
**Day:** Sunday
**Month day:** 15th

**Detected:** Weekly review (Sunday override)
**Last weekly review:** 3 days ago (not overdue)

Launching weekly review...
```

## Edge Cases

- **Multiple triggers** (e.g., last Sunday of month): Monthly takes priority over weekly
- **No daily note exists**: Create one first, then continue with review
- **User says "no" to suggestion**: Fall through to next detection level
- **Explicit argument overrides everything**: `/review monthly` runs monthly review even on a Tuesday morning

## Integration

Works with:
- `/daily` — Morning, midday, and evening routines
- `/weekly` — Full weekly review process
- `/monthly` — Monthly review and planning
- Session init hook — Staleness data already calculated
