tbd

SkillProductivity

Git-native issue tracking (beads), coding guidelines, knowledge injection, and spec-driven planning for AI agents. Drop-in replacement for bd/Beads with simpler architecture. Use for: tracking issues/beads with dependencies, creating bugs/features/tasks, planning specs, implementing features from specs, code reviews, committing code, creating PRs, loading coding guidelines (TypeScript, Python, TDD, golden testing, Convex, monorepo patterns), code cleanup, research briefs, architecture docs, agent handoffs, and checking out third-party library source code. Invoke when user mentions: tbd, beads, bd, shortcuts, issues, bugs, tasks, features, epics, todo, tracking, specs, planning, implementation, validation, guidelines, templates, commit, PR, pull request, code review, testing, TDD, test-driven, golden testing, snapshot testing, TypeScript, Python, Convex, monorepo, cleanup, dead code, refactor, handoff, research, architecture, labels, search, checkout library, source code review, or any workflow shortcut.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the tbd skill

What this skill tells your AI

The instructions your AI receives, as published by jlevy/rust-porting-playbook in .agents/skills/tbd/SKILL.md and read by ahel’s review.

tbd helps humans and agents ship code with greater speed, quality, and discipline.

  1. Beads: Git-native issue tracking (tasks, bugs, features). Never lose work across sessions. Drop-in replacement for bd.
  2. Spec-Driven Workflows: Plan features → break into beads → implement systematically.
  3. Knowledge Injection: 25+ engineering guidelines (TypeScript, Python, TDD, testing, Convex, monorepos) available on demand.
  4. Shortcuts: Reusable instruction templates for common workflows (code review, commits, PRs, cleanup, handoffs).

Installation

npm install -g get-tbd@latest      # Install or upgrade the CLI (same command for both)
tbd setup --auto --prefix=<name>   # Fresh project (--prefix is REQUIRED: 2-8 alphabetic chars recommended. ALWAYS ASK THE USER FOR THE PREFIX; do not guess it)
tbd setup --auto                   # Existing tbd project — also the upgrade step (applies any format migration; commit the diff it reports)
tbd setup --from-beads             # Migration from .beads/ if `bd` has been used

If tbd refuses with “This repository requires a newer version of tbd”, run the two install/upgrade commands above.

Routine Commands

tbd --help    # Command reference
tbd status    # Status
tbd doctor    # If there are problems

tbd setup --auto   # Run any time to refresh setup
tbd prime      # Restore full context on tbd after compaction

CRITICAL: You Operate tbd, the User Doesn’t

You are the tbd operator: Users talk naturally; you translate their requests to tbd actions. DO NOT tell users to run tbd commands. That’s your job.

  • WRONG: “Run tbd create to track this bug”

  • RIGHT: (you run tbd create yourself and tell the user it’s tracked)

Welcoming a user: When users ask “what is tbd?” or want help → run tbd shortcut welcome-user

User Request → Agent Action

User SaysYou (the Agent) Run
Issues/Beads
“There’s a bug where …”tbd create "..." --type=bug
“Create a task/feature for …”tbd create "..." --type=task or --type=feature
“Let’s work on issues/beads”tbd ready
“Show me issue X” (or several)tbd show <id1> [<id2> …] (one call, never a loop; --max-lines <n> caps output per issue)
“Where do things stand on spec X?”tbd list --spec <path-or-filename> (all specs at once: tbd list --specs)
“Close this issue”tbd close <id> (several: tbd close <id1> <id2> … — one call, never a loop)
“Search issues for X”tbd search "X" (matches content and issue IDs, so partial IDs work)
“Add label X to issue”tbd label add <id> <label> (several beads: tbd update <id1> <id2> … --add-label <label>)
“What issues are stale?”tbd stale
Planning & Specs
“Plan a new feature” / “Create a spec”tbd shortcut new-plan-spec
“Break spec into beads”tbd shortcut plan-implementation-with-beads
“Implement these beads”tbd shortcut implement-beads
Code Review & Commits
“Review this code” / “Code review”tbd shortcut review-code
“Review this PR”tbd shortcut review-github-pr
“Commit this” / “Use the commit shortcut”tbd shortcut code-review-and-commit
“Create a PR” / “File a PR”tbd shortcut create-or-update-pr-simple
“Merge main into my branch”tbd shortcut merge-upstream
Guidelines & Knowledge
(any engineering work)Load the General engineering group first (see below)
“Use TypeScript best practices”tbd guidelines typescript-rules typescript-lint-format-rules
“Use Python best practices”tbd guidelines python-rules
“Set up TS/JS lint, format, or hooks”tbd guidelines typescript-lint-format-rules
“Build a TypeScript CLI”tbd guidelines typescript-cli-tool-rules
“Improve monorepo setup”tbd guidelines pnpm-monorepo-patterns or bun-monorepo-patterns
“Add golden/e2e testing”tbd guidelines golden-testing-guidelines
“Use TDD” / “Test-driven development”tbd guidelines general-tdd-guidelines
“Convex best practices”tbd guidelines convex-rules
Documentation
“Research this topic”tbd shortcut new-research-brief
“Document architecture”tbd shortcut new-architecture-doc
“What guidelines/docs are there?”tbd docs list
“Make the guidelines visible / customize doc X”tbd docs fork --category=general --category=<lang> (recommended: general + the repo’s languages), or tbd docs fork <name> / --all; then edit in docs/tbd/
“Update the guidelines to the latest”tbd docs update; on conflicts ask the user, then --merge or --keep-ours
“I deleted a forked doc file”tbd docs status shows it missing; restore with tbd docs fork <name> --force or finalize with tbd docs unfork <name>
Cleanup & Maintenance
“Clean up this code” / “Remove dead code”tbd shortcut code-cleanup-all
“Fix repository problems”tbd doctor --fix
Sessions & Handoffs
“Hand off to another agent”tbd shortcut agent-handoff
“Check out this library’s source”tbd shortcut checkout-third-party-repo
(your choice whenever appropriate)tbd list, tbd dep add, tbd close, tbd sync, etc.

Loading guidelines for engineering work: Before writing or reviewing code, load the General engineering group—the general-* rules plus error-handling-rules—since these apply to all code regardless of language. Then load the group for the language or framework in use (TypeScript, Python, Convex, etc.). Load a whole group in one call; guidelines, shortcut, template, and docs show all take several names:

tbd guidelines general-coding-rules general-comment-rules error-handling-rules general-testing-rules

Run tbd guidelines --list to see all available guidelines.

Note: Never gitignore .tbd/workspaces/; the outbox must be committed to your working branch. See tbd guidelines tbd-sync-troubleshooting for details.

CRITICAL: Session Closing Protocol

Before saying “done”, you MUST complete this checklist:

[ ] 1. git add + git commit
[ ] 2. git push
[ ] 3. gh pr checks <PR> --watch 2>&1 (IMPORTANT: WAIT for final summary, do NOT tell user it is done until you confirm it passes CI!)
[ ] 4. tbd close <id1> <id2> ... --reason "..." — one bulk call per group of beads sharing a reason (never a per-ID loop)
[ ] 5. tbd sync
[ ] 6. CONFIRM CI passed (if failed: fix, run tests, re-push, restart from step 3)

Work is not done until pushed, CI passes, and tbd is synced.

Bead Tracking Rules

  • Track all task work not done immediately as beads (discovered work, TODOs, multi-session work)
  • When in doubt, create a bead
  • Check tbd ready when not given specific directions
  • Always close/update beads and run tbd sync at session end

Commands

Finding Work

CommandPurpose
tbd readyBeads ready to work (no blockers)
tbd list --status openAll open beads
tbd list --status in_progressYour active work
tbd list --spec <path>Beads tracking a spec (filename or suffix is enough)
tbd list --sort updated --limit 10Recent activity; --count for totals
tbd show <id1> [<id2> …]Bead details with dependencies (bulk: delimited per issue; --max-lines <n> caps each)

Creating & Updating

CommandPurpose
tbd create "title" --type=bug --priority=1New bead; run tbd create --help for all types and priorities (P0-P4, not “high/medium/low”)
tbd create "title" --parent <epic> --depends-on <id>Create fully wired: parent and blockers in one call (--depends-on is repeatable)
tbd update <id> --status in_progressClaim work
tbd close <id> [--reason "..."]Mark complete
tbd close <id1> <id2> <id3> --reason "..."Close several at once (always preferred over one-at-a-time)
tbd update <id1> <id2> <id3> --priority 1Bulk-update shared fields on several beads

IMPORTANT: if you are about to shell-loop or pipe around tbd, stop; the bulk or filter form exists. show, close, reopen, and update take multiple IDs; guidelines/shortcut/template/docs show take multiple names; dep add takes multiple blockers; list/search/show have --limit/--count/--max-lines. NEVER for id in …; do tbd close $id; done (one call gives one lock, one summary, --json, and --ignore-missing), NEVER tbd show X | head (use --max-lines), NEVER tbd list | grep <id> (use tbd search <partial-id>). A bulk call shares one reason (and, for update, one set of field changes), so group the beads that share the same mutation and make one call per group.

Dependencies & Sync

CommandPurpose
tbd dep add <bead> <blocker1> [<blocker2> …]Add blocker dependencies (one call per bead)
tbd blockedShow blocked beads
tbd syncSync with git remote (run at session end)
tbd statsProject statistics
tbd doctorCheck for problems
tbd doctor --fixAuto-fix repository problems

Labels & Search

CommandPurpose
tbd search <query>Search issues by text or (partial) issue ID
tbd label add <id> <label>Add label to issue (several beads: tbd update <ids…> --add-label)
tbd label remove <id> <label>Remove label from issue
tbd label listList all labels in use
tbd staleList issues not updated recently

Documentation

CommandPurpose
tbd shortcut <name>Run a shortcut
tbd shortcut --listList shortcuts
tbd guidelines <name> [<name> …]Load coding guidelines (a whole group in one call)
tbd guidelines --listList guidelines
tbd template <name>Output a template
tbd docs / tbd docs listManaged-docs overview / cross-kind list with state markers
tbd docs fork/unfork/update <name>Fork docs into docs/tbd/, return to upstream, pull upstream updates

Quick Reference

  • Priority: P0=critical, P1=high, P2=medium (default), P3=low, P4=backlog
  • Types: issues default to task; run tbd create --help for the valid types
  • Status: open, in_progress, closed
  • JSON output: Add --json to any command

Available Shortcuts

Run tbd shortcut <name> to use any of these shortcuts:

NameDescription
address-pr-reviewAddress an existing PR review from any channel—track every finding as a bead, fix or rebut each, reply with a per-finding disposition map, and get CI green
agent-handoffGenerate a concise handoff prompt for another coding agent to continue work
checkout-third-party-repoGet source code for libraries and third-party repos using git. Essential for reliable source code review. Prefer this to web searches or fetching of web pages from github.com as it is far more effective (github.com blocks web scraping from main website).
code-cleanup-allFull cleanup cycle including duplicate removal, dead code, and code quality improvements
code-cleanup-docstringsReview and add concise docstrings to major functions and types
code-cleanup-testsReview and remove tests that do not add meaningful coverage
code-review-and-commitRun pre-commit checks, review changes, and commit code
coding-spikePrototype to validate a spec through hands-on implementation
create-or-update-pr-simpleCreate or update a pull request with a concise summary
create-or-update-pr-with-validation-planCreate or update a pull request with a detailed test/validation plan
implement-beadsImplement beads from a spec, following TDD and project rules
merge-upstreamMerge origin/main into the current branch with conflict resolution, then verify, push, and watch CI
new-architecture-docCreate an architecture document for a system or component design
new-guidelineCreate a new coding guideline document for tbd
new-plan-specCreate a new feature planning specification document
new-qa-playbookCreate a QA test playbook for manual validation workflows
new-research-briefCreate a research document for investigating a topic or technology
new-shortcutCreate a new shortcut (reusable instruction template) for tbd
new-validation-planCreate a validation/test plan showing what’s tested and what remains
plan-implementation-with-beadsCreate implementation beads from a feature planning spec
pr-review-workflowsThe PR review lifecycle—how reviews are created, published (formal review, PR comment, GitHub issue, or review doc), and addressed, and which shortcut runs each stage. Start here to pick the right review shortcut.
precommit-processFull pre-commit checklist including spec sync, code review, and testing
review-codeComprehensive code review for uncommitted changes, branch work, or GitHub PRs
review-code-pythonPython-focused code review (language-specific rules only)
review-code-typescriptTypeScript-focused code review (language-specific rules only)
review-github-prReview a GitHub pull request and publish the review to a chosen channel (formal review, PR comment, GitHub issue, or in-repo review doc). To fix the findings, see address-pr-review.
revise-all-architecture-docsComprehensive revision of all current architecture documents
revise-architecture-docUpdate an architecture document to reflect current codebase state
setup-github-cliEnsure GitHub CLI (gh) is installed and working
suggest-upstream-improvementsReview local doc-fork customizations and contribute the generally useful changes back upstream
sync-failure-recoveryHandle tbd sync failures by saving to workspace and recovering later
update-specs-statusReconcile active specs, the top-level work index (e.g. TODO.md), and tbd beads into one current status map
welcome-userWelcome message for users after tbd installation or setup

Available Guidelines

Run tbd guidelines <name> to apply any of these guidelines. Load the General engineering group first, then the language or framework group.

General engineering

Read all of these for any engineering work (writing or reviewing code).

NameDescription
backward-compatibility-rulesGuidelines for maintaining backward compatibility across code, APIs, file formats, and database schemas
commit-conventionsConventional Commits format with extensions for agentic workflows
error-handling-rulesRules for handling errors, failures, and exceptional conditions
general-coding-rulesRules for constants, magic numbers, and general coding practices
general-comment-rulesLanguage-agnostic rules for writing clean, maintainable comments
general-eng-agent-principlesCore principles for AI agents acting as senior engineers—objectivity and communication conduct plus the engineering process (detailed understanding, verification, end-to-end ownership, scope discipline, tracking future work, and acting versus seeking clarification)
general-tdd-guidelinesTest-Driven Development methodology and best practices
general-testing-rulesRules for writing minimal, effective tests with maximum coverage
golden-testing-guidelinesGuidelines for implementing golden/snapshot testing for complex systems

TypeScript & JS ecosystem

Also load these when working in TypeScript or JavaScript.

NameDescription
bun-monorepo-patternsModern patterns for Bun-based TypeScript monorepo architecture
electron-app-development-patternsGuidelines for Electron development ecosystems including npm, pnpm, and Bun, with security baselines and framework comparisons
pnpm-monorepo-patternsModern patterns for pnpm-based TypeScript monorepo architecture
typescript-cli-tool-rulesRules for building CLI tools with Commander.js, picocolors, and TypeScript
typescript-code-coverageBest practices for code coverage in TypeScript with Vitest and v8 provider
typescript-lint-format-rulesThe shared lint and auto-formatting floor for all TypeScript and JavaScript projects, across pnpm and Bun and across ESLint/Prettier and Biome toolchains. Defines the rules every project enforces, the per-toolchain profiles that implement them, and the verification steps that prove the floor is real.
typescript-rulesTypeScript coding rules and best practices
typescript-sorting-patternsDeterministic sorting patterns and comparison chains for TypeScript
typescript-yaml-handling-rulesBest practices for parsing and serializing YAML in TypeScript

Python

Also load these when working in Python.

NameDescription
python-cli-patternsModern patterns for Python CLI application architecture
python-modern-guidelinesGuidelines for modern Python projects using uv, with a few more opinionated practices
python-rulesGeneral Python coding rules and best practices

Convex

Also load these when working with Convex.

NameDescription
convex-limits-best-practicesComprehensive reference for Convex platform limits, workarounds, and performance best practices
convex-rulesGuidelines and best practices for building Convex projects, including database schema design, queries, mutations, and real-world examples

Docs, process & tooling

NameDescription
cli-agent-skill-patternsA concise decision guide for portable skills, CLI-backed skills, safe bundle installation, and agent integration
common-doc-guidelinesCommon cross-project standards for writing and organizing docs, code comments, and text files—how to organize, structure, write, and format documents, plus the guideline footer convention. Downstream of github.com/jlevy/practical-prose. Use whenever writing or editing any documentation, README, guideline, or design doc.
release-notes-guidelinesGuidelines for writing clear, accurate release notes
supply-chain-hardeningStrongly recommended for EVERY repo—apply it if a repo has not been hardened yet. Cross-ecosystem policy for installing dependencies safely (the 14-day cool-off, disabled install scripts, lockfile discipline, untrusted-repo handling). Use whenever a user mentions hardening, security, supply chain, or setting up a new repo; before adding/upgrading dependencies; when auditing for compromised packages; or when reviewing install/build/run commands across npm/pnpm, PyPI, Cargo, or Go.
tbd-sync-troubleshootingCommon issues and solutions for tbd sync and workspace operations

Signals

GitHub stars
35
Forks
4
Last commit
Aug 2026

ahel recommends instead

Advanced
Catalog kind
skill
Gateway key
tbd-5
Source
github.com/jlevy/rust-porting-playbook