tracklisted
Install: claude install-skill mvdmakesthings/skills
# track skill
This skill is the safe-invocation wrapper around `bin/track.sh`. Its sole job is to translate one of the `/track:*` slash commands into a `Bash` tool invocation that runs the dispatcher correctly. All ledger logic, locking, atomic writes, git commits, jq math, and error messages live in `bin/track.sh` — do not reimplement any of that here.
## Locating the dispatcher
The dispatcher lives at `${CLAUDE_PLUGIN_ROOT}/bin/track.sh`. If `$CLAUDE_PLUGIN_ROOT` is unset, fall back to the absolute path inferred from the SKILL.md location: `<plugin root>/bin/track.sh` where the plugin root is the parent of `skills/track/`. Either path resolves to the same script.
## Invocation patterns
For each subcommand, run the Bash tool with the exact command shape below. Do NOT add extra flags, do NOT pre-process arguments, do NOT interpret the output — print whatever the dispatcher prints, verbatim.
### /track:start
User invocation: `/track:start <client> [--at HH:MM | --ago <duration>]` (with `$ARGUMENTS` containing the client name and optional backdating flag)
Bash invocation:
```
bash "${CLAUDE_PLUGIN_ROOT}/bin/track.sh" start $ARGUMENTS
```
The `<client>` argument is constrained by the dispatcher to alphanumeric + dash + underscore characters. The optional flags are also dispatcher-validated (`--at` requires `HH:MM`, `--ago` requires `<Nh><Nm><Ns>` like `30m`, `1h30m`, `90s`). Both are safe to pass positionally.
**Backdating flag-parsing rule:** if `$ARGUMENTS` contains