Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add seungwee-choi/oh-my-personal-best/plugin install oh-my-personal-bestWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/seungwee-choi/oh-my-personal-best/pb-log)<a href="https://agentmods.dev/commands/seungwee-choi/oh-my-personal-best/pb-log"><img src="https://agentmods.dev/badge/commands/seungwee-choi/oh-my-personal-best/pb-log/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/seungwee-choi/oh-my-personal-best/pb-log"><img src="https://agentmods.dev/badge/commands/seungwee-choi/oh-my-personal-best/pb-log.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00017 | $0.00678 |
| Opus 5.5 | $0.00007 | $0.00271 |
| Sonnet 5.5 | $0.00003 | $0.00136 |
| Haiku 4.5 | $0.00002 | $0.00068 |
Grade A, and why
pb-log scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 50 lines — stays where its author put it; the contents beside it link to each section on GitHub.
pb-log
Dispatch
Delegate to oh-my-personal-best:data-logger to ingest the following input:
$ARGUMENTS
Input routing
If $ARGUMENTS is a .fit file, a .zip, or a directory (e.g., a COROS / Garmin export folder):
- data-logger calls
python3 "$CLAUDE_PLUGIN_ROOT/scripts/import_fit.py" "<path>" --tz <local> import_fit.pyreads each activity's session summary, types running as easy/long and other sports ascross, and emits normalized JSONL withsource: "fit"andsource_id- The script appends validated, deduped lines directly to
$OMPB_HOME/training-log.jsonl; re-imports are idempotent (no duplicatesource_ids) - Requires the
fitdecodepackage (see requirements.txt)
If $ARGUMENTS is a .csv file path:
- data-logger calls
python3 "$CLAUDE_PLUGIN_ROOT/scripts/import_csv.py" "<file.csv>" - The script validates, dedupes, and appends normalized lines directly to
$OMPB_HOME/training-log.jsonlwithsource: "csv"
If $ARGUMENTS is strava or sync strava:
- Requires a prior
/pb-connect-strava(credentials in$OMPB_HOME/strava.json) - data-logger calls
python3 "$CLAUDE_PLUGIN_ROOT/scripts/import_strava.py" - The script auto-refreshes the access token, pages
/athlete/activities, normalizes (running → easy/long, other sports → cross), and appends deduped lines to$OMPB_HOME/training-log.jsonlwithsource: "strava"andsource_id: "strava-<id>" - If
strava.jsonis missing, tell the runner to run/pb-connect-stravafirst
If $ARGUMENTS is a natural-language report (e.g., "ran 10K in 50:00", "오늘 12km
easy 5:45 뛰었어", "long run 32km done, HR avg 148"):
- data-logger parses the report directly: extract date, type, distance_km, pace, HR, RPE, and any notes
- Appends the normalized entry to
$OMPB_HOME/training-log.jsonlwithsource: "nl"
In both cases, data-logger:
- Detects new PBs in any race entries and updates
runner-profile.jsoncurrent_pb and$OMPB_HOME/pb-history.jsonif faster than current best - Confirms in one line:
Logged: YYYY-MM-DD · [type] · [distance_km]km · [pace]/km(orImported N sessions from [filename]. [K new PBs detected.]for CSV) - Does not comment on training quality — analysis is race-analyst's domain
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 50 lines · 17 tokens per session scan A 1c4f2c2d5fcc
pb-log is a command published in the GitHub repository seungwee-choi/oh-my-personal-best (3 stars, last pushed 2mo ago), licensed MIT. It adds 17 tokens to every session and 678 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
scan
Populate the world model — the project's directories and files, stored as tables in the trajectory DB — by walking the project root for git repos and pulling each dir's README.md into a summary. Single phase — no background fill required for the primary navigation surface.
guide
Interactive guide to fellowship. Walks you through a real task using the structured research-plan-implement flow, then shows you what's next.
ui-audit
Run comprehensive UI/UX design validation against design principles, accessibility standards, and usability laws.
chronicle
One-time codebase onboarding — interactively extracts your team's conventions, identifies reference files, and generates CLAUDE.md sections so Claude codes the way your team does. Run once per project.
board-review
Quick board review - get expert opinions from 5 directors without full deliberation.
loop-plan-evaluator
Validate execution plan against spec. Evaluate-Loop Step 2.