journallisted
Install: claude install-skill kensongan-prog/trading-advisor
# Journal Lifecycle CLI
## When to use
Trigger this skill when the user says:
- "AUPH triggered, fill at $X"
- "Mark the AUPH trade live"
- "Close the AUPH trade — TP1 hit at $17.65"
- "AUPH stopped out at $14.26"
- "AUPH trigger never fired, mark it dead"
- "Add a note to the AUPH journal"
Do NOT trigger this skill for:
- Creating a new journal entry from scratch (that's still manual — the file structure is too rich for a CLI template; write the prospectus in editor)
- Reading the full journal entry contents (use Read tool directly)
## Why this exists
Journal `**Status:**` fields drive the dashboard's Active Prospectuses panel. Hand-editing them risks formatting drift (the parser keys on the bold marker + first sentence-ish chunk) and missed Exit-section fills on close. This CLI:
- Updates Status field atomically with a backup
- Appends a timestamped `## Updates` bullet with one consistent format
- On close, auto-fills `## Exit` with date, exit price, realized R-multiple, and TODO prompts for the post-mortem fields
- Validates the file exists, the result is valid, the R is a number
## Subcommands
### `live` — flip Status to LIVE (paper or real)
```bash
python3 .claude/skills/journal/j.py live <id> [--paper | --real] \
[--fill PRICE] [--shares N] [--time "YYYY-MM-DD HH:MM ET"] [--notes "..."] [--yes]
```
Status becomes `LIVE — paper` or `LIVE — real`. An Updates bullet is appended with the fill details.
### `update` — append a timestamped Updates note (no stat