meridianaudit-milestonelisted
Install: claude install-skill mattjaikaran/meridian
# /meridian:audit-milestone — Audit Milestone Readiness
Check whether the active milestone is ready to complete.
Verifies:
- All phases are in `complete` status
- No plans are `failed` or `skipped`
- No outstanding UAT verification debt in `.planning/phases/`
- No stub/placeholder code in `scripts/`
## Prerequisites
- `MERIDIAN_HOME` set to the repo root (default: current directory)
- `uv` installed and project dependencies synced
## Arguments
- `--no-uat` — Skip UAT debt check
- `--no-stubs` — Skip stub detection
- `--json` — Output raw JSON
## Procedure
### Step 1: Identify active milestone
```bash
MERIDIAN_HOME="${MERIDIAN_HOME:-.}"
PYTHONPATH="$MERIDIAN_HOME" uv run --project "$MERIDIAN_HOME" python -c "
import json
from scripts.db import connect, get_db_path
from scripts.state import get_status
conn = connect(get_db_path('.'))
status = get_status(conn)
ms = status.get('active_milestone')
if not ms:
print('ERROR: no active milestone')
else:
print(json.dumps({'id': ms['id'], 'name': ms['name']}, indent=2))
conn.close()
"
```
Save the milestone `id` as `MILESTONE_ID`.
### Step 2: Run audit
```bash
PYTHONPATH="$MERIDIAN_HOME" uv run --project "$MERIDIAN_HOME" python -c "
import json
from pathlib import Path
from scripts.db import connect, get_db_path
from scripts.milestone_lifecycle import audit_milestone
conn = connect(get_db_path('.'))
result = audit_milestone(
conn,
'$MILESTONE_ID',
repo_path=Path('.'),
planning_dir=Path('.planning'),
)