Skip to content
Back to skills

Work Tracker

ASecurity

Reads, files, claims and closes records in the ledger tracker. Use to plan work, check what is ready, file a bug, or claim an issue before work starts.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 5, 2026
developmentpythongit

Works with

  • cli

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned November 5, 2026

npx -y skills add niksavis/handily --skill work-tracker --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Work Tracker?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Work Tracker
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/niksavis-work-tracker/badge)](https://www.skillsdirectory.com/skills/niksavis-work-tracker)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: work-tracker
description: Reads, files, claims and closes records in the ledger tracker. Use to plan work, check what is ready, file a bug, or claim an issue before work starts.
---
<!-- Generated by `basicly skills-build` from skill.yaml. Do not edit; edit the source. -->

# Work Tracker

The tracker is an append-only event log in `.basicly/ledger/`, committed with the code.
A record is the fold of its events. The engine reads and writes the log directly.

## Rules

- **Prefer the installed engine for writes when `basicly` is on PATH.** Use `basicly tracker write --` before `create`, `update`, `review`, `confirm`, `close` or `comments add`; claim with `update <id> --status in_progress`. These narrow command rules survive Claude auto mode. The Python commands below remain available to standalone consumers, with their normal permission checks.

- **Name a record by its title, with the id as the address.** A person cannot read a bare id.
- **File or find the record before you do the work.** The `tracker-commit-msg` hook refuses
  a commit that names an id the ledger does not hold.
- **Run `create` alone, then read the id from its reply.** The id is random, so a commit
  chained after it with a guessed id is refused.
- **Many people share this tracker. Never take a story that someone holds.** `ready` names
  the holder of each reserved story, and the supervisor skips stories that another person
  holds. `--take` is for an agreed handover only.
- **Reserve a story before you plan it, and push at once.** Others see a reservation only
  after they pull:

  ```sh
  python3 .basicly/core/kit/tracker/cli.py assign .basicly/ledger <id>    # reserve it for you
  python3 .basicly/core/kit/tracker/cli.py claim .basicly/ledger <id>     # reserve it and start
  python3 .basicly/core/kit/tracker/cli.py unassign .basicly/ledger <id>  # give it back
  python3 .basicly/core/kit/tracker/cli.py ready .basicly/ledger --mine   # what you hold
  ```

  The holder name is `git config user.name`, or `--to`. `basicly loop` records the person
  who runs it as the holder, and it stops on a story that someone else holds.
- **Never edit, delete or reorder a line in an event file.** Every derived answer changes
  and nothing detects it. Append the write that supersedes the wrong one.
- **Count from the file, interpret through the engine.** Grants, gate results and phases
  derive from ordered events under rules that a regex cannot see.
- **Probe against a scratch ledger directory, never the live one.** The log has no undo,
  and the loop commits every probe event into project history.
- **Check the output shape before you parse it.** `show` on an absent record prints
  `{"found": false}`. `create` prints `created: <id>` unless the argv carries `--json`.
- **Use one ledger per repository, never one per worktree.** The git-ignored
  `.basicly/ledger/redirect` points every worktree at the same log. A per-worktree ledger
  loses the writes of a lane at teardown.

**Stage the claim with its code.** Commit hooks read the Git index. In a shared-ledger
worktree, publish the claim on the base and update the lane from that committed base
before committing its code.

## Read when needed

- For selective reads, standalone kit commands, historical state or the served page, read [read](references/read.md). Start with a summary or the existing record and latest handover; use a session summary only when useful.
- Before a write, review or close, read [write](references/write.md) for the exact grammar, Context/Acceptance/optional Requirements and evidence contracts. Existing approved scope needs no new refinement conversation.
- For imports, shard folding or bulk ledger queries, read [maintenance](references/maintenance.md).
- Completion means the actual change and evidence are recorded with attribution and shared history preserved; close only after the whole task is satisfied.

Files in this skill

  • SKILL.md3.8 KB
  • references/maintenance.md2.4 KB
  • references/read.md3.7 KB
  • references/write.md6.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.