A PowerShell CLI tool for tracking unplanned work interruptions, with a terminal dashboard and Obsidian-compatible Markdown reports featuring Mermaid charts.
# Install (adds 'up' to your PowerShell profile)
.\Install-Up.ps1
# Restart terminal, then:
up -m "Recommended outlook encryption to business" -t 15m -c security
up dashOption A — Automatic (recommended):
.\Install-Up.ps1This copies Up.ps1 to ~/.unplanned-work/ and adds a dot-source line to your PowerShell profile.
Option B — Manual:
Add this line to your $PROFILE:
. "C:\path\to\Up.ps1"up -m "Fixed broken deployment pipeline" -t 45m -c infrastructure
up -m "Password reset escalation for CEO" -t 10m -c support
up -m "Emergency hotfix deploy" -t 1h30m -c deployment
up -m "Unplanned vendor call" -t 1h -c meetingsParameters:
| Flag | Description | Required |
|---|---|---|
-m |
Description of the unplanned work | Yes |
-t |
Time spent (see formats below) | Yes |
-c |
Category tag (default: general) |
No |
Time formats: 15m, 1h, 1h30m, 1.5h, 90 (bare number = minutes)
up dashDisplays a color-coded dashboard with:
- Today / This Week / This Month time summaries with progress bars
- Category breakdown with proportional bar charts
- Recent entries list
up report week # Weekly report (current week)
up report month # Monthly report (current month)Reports are generated as Markdown files with:
- YAML frontmatter (compatible with Obsidian Dataview)
- Summary statistics table
- Mermaid pie charts (category breakdown)
- Mermaid bar charts (weekly trend in monthly reports)
- Daily entry logs
- Obsidian callout blocks with observations
up list # Show last 10 entries
up list 25 # Show last 25 entries
up undo # Remove the most recent entry
up config # Show current configuration
up # Show helpPoint reports at your Obsidian vault:
up config vault "C:\Users\you\Obsidian Vault\Unplanned Work"Reports will now generate directly into your vault. The Mermaid charts render natively in Obsidian, and the YAML frontmatter works with Dataview queries like:
TABLE total_minutes as "Minutes", period
FROM #unplanned-work
SORT file.name DESC
Built-in categories with color coding:
| Category | Terminal Color |
|---|---|
security |
Red |
infrastructure |
Blue |
support |
Yellow |
meetings |
Magenta |
bugs |
Dark Red |
deployment |
Cyan |
compliance |
Dark Yellow |
general |
Gray |
Any custom string works too — just pass whatever tag you want with -c.
All data lives in ~/.unplanned-work/:
~/.unplanned-work/
├── data.json # All entries
├── config.json # Settings (vault path, etc.)
└── reports/
├── weekly/
│ └── 2026-W16.md
└── monthly/
└── 2026-04.md
Override with the UP_HOME environment variable:
$env:UP_HOME = "D:\my-data\unplanned-work"The weekly report in Obsidian will render with interactive pie charts, formatted tables, and callout blocks — no plugins required beyond Obsidian's built-in Mermaid support.