work-cli
Skill0 starsChanged 6 months agoMITView on GitHub
Use when operating a repo-local `.work/` tracker with the `work` CLI: initialize or migrate a store, capture inbox entries, triage them into work items, claim work with leases, create/show/view work items, inspect type policies, or use typed work items. Do not use for changing the work CLI implementation or redesigning the `.work/` convention.
- Installs packages
In this repository11 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- attack-architectureSkill
- convention-engineeringSkill
- go-scriptingSkill
- harness-routerSkill
- paper-vettingSkill
- skill-builderSkill
- skill-cli-authoringSkill
- slock-epic-protocolSkill
- taskfile-authoringSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
19 rules. About 0 are common, 8 are distinctive, and 11 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
11
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
Use this skill when the task is to:
- Very specific: line 20
Create a direct work item with work new.
- Very specific: line 22
Use a typed work item with --type, including scaffolded item spaces and optional type policy via work show --policy.
- Distinctive: line 25
Do not use this skill for:
- Very specific: line 33
Use convention-engineering for convention design and go-scripting for CLI implementation work.
- Very specific: line 38
When the gh-xj/work-cli implementation changes, update this skill in the same work session if the changed command, output, storage layout, …
- Distinctive: line 51
Check the installed binary when a command is missing or behavior looks stale:
- Very specific: line 58
If work version --check reports an older release, rerun go install github.com/gh-xj/work-cli/cmd/work@latest.
- Distinctive: line 71
Prefer the repo wrapper when present:
- Very specific: line 83
Use --json whenever another tool or agent will parse the result.
- Very specific: line 84
If multiple agents or sessions may see the same ready work, claim it before starting.
- Distinctive: line 94
If a store may predate record schema versions, inspect migration first:
- Very specific: line 102
Read references/operator-workflow.md before making changes to .work/.
- Very specific: line 109
Put item-owned notes and small supporting artifacts under .work/spaces/<W-ID>/ when a work item needs a directory.
- Distinctive: line 111
Use views as derived read models, not as storage.
- Distinctive: line 112
Run the repo's verification gate before marking completion.
- Very specific: line 113
Use work done with a short summary and evidence after verification passes.
- Very specific: line 114
Before work done, write the closeout packet (state, evidence, failure accounting, dirty tree, privacy, risks, next prompt).
- Distinctive: line 163
Do not create legacy compatibility paths unless the user explicitly asks for migration documentation.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Work CLI
Operate the local-first .work/ tracker as an agent-facing work ledger.
When To Use
Use this skill when the task is to:
- Inspect or operate a repo's
.work/state. - Migrate older
.workrecords withwork migrate. - Capture an untriaged request with
work inbox add. - Promote accepted work with
work triage accept. - Claim or renew a time-bounded work item lease with
work claim. - Mark verified work complete with
work done. - Create a direct work item with
work new. - Show work records or scan views with
work showandwork view. - Use a typed work item with
--type, including scaffolded item spaces and optional type policy viawork show --policy.
Do not use this skill for:
- Changing
cmd/work,internal/work, orinternal/workcli. Those live in the externalgh-xj/work-clirepo; edit them there. - Redesigning the
.work/filesystem contract. - Adding verification gates or repo convention docs.
Use convention-engineering for convention design and go-scripting for CLI
implementation work.
Maintenance Rule
When the gh-xj/work-cli implementation changes, update this skill in the same
work session if the changed command, output, storage layout, or operator
workflow affects agents. Keep SKILL.md, references/operator-workflow.md,
and generated adapter copies in sync before calling the work complete.
Install
work is an external dependency. Install once per machine:
go install github.com/gh-xj/work-cli/cmd/work@latestCheck the installed binary when a command is missing or behavior looks stale:
work version
work version --checkIf work version --check reports an older release, rerun go install
github.com/gh-xj/work-cli/cmd/work@latest. There is intentionally no work
update command; future Homebrew or package-manager installs should be updated
through that package manager.
Or grab a tarball release from
https://github.com/gh-xj/work-cli/releases. The repo's
.conventions.yaml may declare a min_work_version that
scripts/verify.sh enforces.
First Actions
- Find the repo root and check whether the work store config exists.
- Prefer the repo wrapper when present:
task work -- view ready- Otherwise call the binary directly:
work --store .work view ready- Use
--jsonwhenever another tool or agent will parse the result. - If multiple agents or sessions may see the same ready work, claim it before
starting. Set
WORK_ACTORto a stable, unique ID for this agent, for exampleexport WORK_ACTOR="agent:run42:review-1". Each sibling needs a different value; reuse your own for renewals. A shared default actor can renew another session's lease: session provenance is not the ownership boundary.
task work -- claim W-0001 --actor "$WORK_ACTOR" --ttl 1h- If a store may predate record schema versions, inspect migration first:
task work -- migrate --dry-runOperating Loop
Read references/operator-workflow.md before making changes to .work/.
Default flow:
- Capture uncertain requests in the inbox.
- Triage only when the repo should track the work.
- Work from canonical records under
.work/items/*.yaml. - Put item-owned notes and small supporting artifacts under
.work/spaces/<W-ID>/when a work item needs a directory. - Use views as derived read models, not as storage.
- Run the repo's verification gate before marking completion.
- Use
work donewith a short summary and evidence after verification passes. - Before
work done, write the closeout packet (state, evidence, failure accounting, dirty tree, privacy, risks, next prompt); seereferences/operator-workflow.mdCloseout Packet.
Storage Model
- Inbox entry: unaccepted demand signal under
.work/inbox/IN-NNNN.yaml, currentlyschema_version: 1. - Work item: accepted canonical record under
.work/items/W-NNNN.yaml, currentlyschema_version: 1. - Work space: optional item-owned directory under
.work/spaces/W-NNNN/for notes, research captures, plans, completion summaries, and other supporting files. - Work lease: optional time-bounded claim under
.work/leases/W-NNNN.yaml. - Work type: optional scaffold/template under
.work/types/<type>/that can create an initial work space for typed items and expose type policy from.work/types/<type>/policy.md.
Core Commands
work init
work inbox
work inbox add "Title" --body "Context" --source "user"
work triage accept IN-0001 --area cli --priority P1
work new "Title" --area docs --priority P2
work claim W-0001 --actor "$WORK_ACTOR" --ttl 1h
work done W-0001 --summary "Completed" --evidence "task verify passed"
work migrate --dry-run
work migrate
work view ready
work show W-0001
work show W-0001 --policyBoundaries
- Say "work item" in user-facing text; avoid bare "item" when clarity matters.
- Inbox entries are demand signals, not accepted work.
- Work items are the durable source of truth.
- Claims are coordination leases, not lifecycle status. Claiming a work item
does not change
status. work donesetsstatus: done, recordscompleted_at, releases an active lease when present, and writes optional completion notes under the work space.- Work spaces support a work item, but do not replace the canonical item YAML.
- Type policies are agent-facing instructions for a work type; they complement the work item and workspace but do not replace either.
- Large logs, browser captures, and bulky evidence payloads belong outside
.work/; store only pointers in the work item or its space. - Do not create legacy compatibility paths unless the user explicitly asks for migration documentation.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

