By rhanka
Record-only spec / realization / acceptance system of record. Bundles the read-only track-mcp server (report / query / validate / branch-provenance / freshness) over a project's .track/ event log. Writes stay on the `track` CLI (record-only, append-only, integrity-chained).
Use when an agent must present a complex, irreversible, cross-owner, security/contract-affecting, costly, or genuinely balanced decision to a human owner — or must choose between decide-and-trace, a quick ask, and a full decision dossier. The agent presents at the level of the stakes, never sells its preferred option, and records the decision in track. This is agent→human; it is NOT h2a (h2a ATTENTION is the inter-agent presenter).
Use when a flat track backlog has grown past a handful of items and needs structuring into a small set of perennial workpackages (WPs) — durable themes by owning concern, not milestones — so a conductor can pilot %-by-WP. The skill reads the backlog, clusters by durable concern, and EMITS A PROPOSAL (the WP set + a per-item reparent plan) the human ratifies before anything is written. It never auto-restructures; for a consequential restructuring it composes present-decision. This is agent→human structuring of one repo's own backlog.
Use when an agent needs to read, update, import, or verify track state in a repo; when a BRANCH.md or plan/NN-BRANCH_*.md file changed; when a session reports that track write/import is not exposed; or when deciding whether to use track MCP versus the track CLI. The skill enforces the contract: MCP is read-only, writes/imports use the track CLI from the target repo root, and .track is append-only/single-writer.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Typed product-backlog and spec / realization / acceptance tracking for the sentropic ecosystem — a record-only system of record with an append-only, integrity-checked event log.
Status: MVP implemented (Lots 0–7).
docs-gitbackend · single-writer · CLI. h2a coordination, external backends, MCP, multi-writer merge and UI are v2+ (seeINTENTION.md, SPEC §9).
An Item carries three orthogonal axes — specification (to-specify → specified), realization (to-do → in-progress → done | cancelled | rejected), acceptance (computed pass/fail/unknown/stale/waived) — plus blockers (relations), prioritization (versioned, WSJF), and first-class linked Decisions (orientation/commitment, with a typed dossier + go/no-go outcome). report projects done / to-do / awaited / dropped. See docs/spec/SPEC.md.
npm install
npm run build # tsc → dist/ ; bin: `track` → dist/cli/index.js
npm test # vitest
State lives in .track/events.jsonl (append-only) in the current directory.
track init
# items
track item new --kind feature --title "Login" --workspace web [--body <md-path>] [--parent <id>]
track item spec <itemId> specified
track item realize <itemId> in-progress|done|cancelled
track item show <itemId>
track item ls [--workspace <w>] [--kind <k>] [--format json|text|md]
# decisions (orientation / commitment) — open a decision blocker per target until it settles
track decision new --kind orientation --title "DB?" --workspace web --targets <id,id> [--context <c>]
track decision outcome <decisionId> go|no-go|deferred # no-go drops non-terminal targets
track decision dossier <decisionId> --context <c>
track decision disposition <itemId> orientation|commitment required|skipped|not-applicable
# blockers
track blocker raise --target <id> --kind dependency --ref <id> [--rule linked-done|manual] [--reason <r>]
track blocker resolve <blockerId> # only a `manual` dependency blocker
# acceptance (criteria → evidence → runs / waivers; status is computed vs --commit)
track accept criterion <itemId> --statement "user can log in"
track accept link <criterionId> --kind unit|integration|e2e|manual --locator <id>
track accept run <evidenceId> --result pass|fail [--commit <sha>] [--env <e>] [--runner <r>]
track accept run --from junit.xml --format junit [--commit <sha>] # ingest a report
track accept waive <criterionId> --reason "<why>"
# prioritization (WSJF = (UBV + TC + RR/OE) / jobSize)
track priority assess <itemId> --ubv 8 --tc 4 --rr 2 --js 2
# views
track report [--decisions] [--require-accepted] [--format json|text|md] [--commit <sha>]
track query [--kind <k>] [--workspace <w>] [--bucket AWAITED|DROPPED|DONE|TO-DO] [--realization <r>] [--acceptance <a>] [--format <f>]
# integrity + prose↔log desync (§4); never repairs, only reports
track validate [--commit <sha>]
# BRANCH.md → track sidecar (read-only; idempotent; BRANCH.md stays the source of truth)
track branch import <plan/NN-BRANCH_*.md> [--commit <sha>]
report buckets (first match wins): AWAITED (any open blocker) › DROPPED (cancelled/rejected) › DONE (done, and pass if --require-accepted) › TO-DO. --commit defaults to the repo git HEAD.
The event log is append-only; each event carries contentHash = sha256(canonicalize(core)) and a positional prevHash chain + per-aggregate seq (faithful to the h2a journal). track validate recomputes the chain, the per-aggregate sequence, atomic-batch completeness, and a head.json truncation anchor. The contract was frozen after multi-round adversarial review — see docs/reviews/lot1-FROZEN.md.
npx claudepluginhub rhanka/track --plugin trackMemory compression system for Claude Code - persist context across sessions
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.
Streamline people operations — recruiting, onboarding, performance reviews, compensation analysis, and policy guidance. Maintain compliance and keep your team running smoothly.
Write feature specs, plan roadmaps, and synthesize user research faster. Keep stakeholders updated and stay ahead of the competitive landscape.
Create content, plan campaigns, and analyze performance across marketing channels. Maintain brand voice consistency, track competitors, and report on what's working.
Prospect, craft outreach, and build deal strategy faster. Prep for calls, manage your pipeline, and write personalized messaging that moves deals forward.