tc-tracker
Skill0 starsChanged 29 days agoApache-2.0View on GitHub
Use when the user asks to track technical changes, create change records, manage TC lifecycles, or hand off work between AI sessions. Covers init/create/update/status/resume/close/export workflows for structured code change documentation.
4 other projects use a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- Hassaan146/claude-skillsword for word, first seen Jul 25, 2026
- mahiunfiltered/claude-code-skillsword for word, first seen Jul 8, 2026
- Hussain-Elfalah/Agentic-Skillsedited, first seen Jun 4, 2026
- csiddhant796-blip/claude-skills-collectionword for word, first seen May 10, 2026
Other versions4 projects use a version of this.
Word for word · 3
- Hassaan146/claude-skills★ 18100% same
- csiddhant796-blip/claude-skills-collection★ 2100% same
- mahiunfiltered/claude-code-skills★ 1100% same
Edited · 1
- Hussain-Elfalah/Agentic-Skills★ 288% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository198 other files it gives its agents.
- a11y-auditSkill
- ab-test-setupSkill
- ad-creativeSkill
- adversarial-reviewerSkill
- aeoSkill
- agent-designerSkill
- agent-protocolSkill
- agent-workflow-designerSkill
- ai-securitySkill
- analytics-trackingSkill
- andreessenSkill
- api-design-reviewerSkill
- api-test-suite-builderSkill
- apple-hig-expertSkill
- app-store-optimizationSkill
- autoresearch-agentSkill
- aws-solution-architectSkill
- azure-cloud-architectSkill
- board-deck-builderSkill
- board-meetingSkill
- book-to-skillSkill
- brand-guidelinesSkill
- browser-automationSkill
- business-growth-skillsSkill
- business-investment-advisorSkill
- campaign-analyticsSkill
- ceo-advisorSkill
- cfo-advisorSkill
- changelog-generatorSkill
- change-managementSkill
- chaos-engineeringSkill
- chief-ai-officer-advisorSkill
- chief-customer-officer-advisorSkill
- chief-data-officer-advisorSkill
- chief-of-staffSkill
- chro-advisorSkill
- churn-preventionSkill
- ci-cd-pipeline-builderSkill
- ciso-advisorSkill
- claude-coachSkill
- cloud-securitySkill
- cmo-advisorSkill
- codebase-onboardingSkill
- code-reviewerSkill
- cold-emailSkill
- company-osSkill
- competitive-intelSkill
- competitive-teardownSkill
- competitor-alternativesSkill
- content-creatorSkill
- content-humanizerSkill
- content-productionSkill
- content-strategySkill
- context-engineSkill
- contract-and-proposal-writerSkill
- copy-editingSkill
- copywritingSkill
- cpo-advisorSkill
- cro-advisorSkill
- cs-onboardSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 104
Every change appends a sequential R<n> revision entry, refreshes updated, and re-validates against the schema before writing atomically …
- Distinctive: line 172
Never stop to update TC records inline: Keep coding.
≈ “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
TC Tracker
Track every code change with structured JSON records, an enforced state machine, and a session handoff format that lets a new AI session resume work cleanly when a previous one expires.
Overview
A Technical Change (TC) is a structured record that captures what changed, why it changed, who changed it, when it changed, how it was tested, and where work stands for the next session. Records live as JSON in docs/TC/ inside the target project, validated against a strict schema and a state machine.
Use this skill when the user:
- Asks to "track this change" or wants an audit trail for code modifications
- Wants to hand off in-progress work to a future AI session
- Needs structured release notes that go beyond commit messages
- Onboards an existing project and wants retroactive change documentation
- Asks for
/tc init,/tc create,/tc update,/tc status,/tc resume, or/tc close
Do NOT use this skill when:
- The user only wants a changelog from git history (use
engineering/changelog-generator) - The user only wants to track tech debt items (use
engineering/tech-debt-tracker) - The change is trivial (typo, formatting) and won't affect behavior
Storage Layout
Each project stores TCs at {project_root}/docs/TC/:
docs/TC/
├── tc_config.json # Project settings
├── tc_registry.json # Master index + statistics
├── records/
│ └── TC-001-04-05-26-user-auth/
│ └── tc_record.json # Source of truth
└── evidence/
└── TC-001/ # Log snippets, command output, screenshotsTC ID Convention
- Parent TC:
TC-NNN-MM-DD-YY-functionality-slug(e.g.,TC-001-04-05-26-user-authentication) - Sub-TC:
TC-NNN.AorTC-NNN.A.1(letter = revision, digit = sub-revision) NNNis sequential,MM-DD-YYis the creation date, slug is kebab-case.
State Machine
planned -> in_progress -> implemented -> tested -> deployed
| | | | |
+-> blocked -+ +- in_progress <-------+
| (rework / hotfix)
+-> plannedSee references/lifecycle.md for the full transition table and recovery flows.
Workflow Commands
The skill ships five Python scripts that perform deterministic, stdlib-only operations on TC records. Each one supports --help and --json.
1. Initialize tracking in a project
python3 scripts/tc_init.py --project "My Project" --root .Creates docs/TC/, docs/TC/records/, docs/TC/evidence/, tc_config.json, and tc_registry.json. Idempotent — re-running reports "already initialized" with current stats.
2. Create a new TC record
python3 scripts/tc_create.py \
--root . \
--name "user-authentication" \
--title "Add JWT-based user authentication" \
--scope feature \
--priority high \
--summary "Adds JWT login + middleware" \
--motivation "Required for protected endpoints"Generates the next sequential TC ID, creates the record directory, writes a fully populated tc_record.json (status planned, R1 creation revision), and updates the registry.
3. Update a TC record
# Status transition (validated against the state machine)
python3 scripts/tc_update.py --root . --tc-id TC-001-04-05-26-user-auth \
--set-status in_progress --reason "Starting implementation"
# Add a file
python3 scripts/tc_update.py --root . --tc-id TC-001-04-05-26-user-auth \
--add-file src/auth.py:created
# Append handoff data
python3 scripts/tc_update.py --root . --tc-id TC-001-04-05-26-user-auth \
--handoff-progress "JWT middleware wired up" \
--handoff-next "Write integration tests" \
--handoff-next "Update README"Every change appends a sequential R<n> revision entry, refreshes updated, and re-validates against the schema before writing atomically (.tmp then rename).
4. View status
# Single TC
python3 scripts/tc_status.py --root . --tc-id TC-001-04-05-26-user-auth
# All TCs (registry summary)
python3 scripts/tc_status.py --root . --all --json5. Validate a record or registry
python3 scripts/tc_validator.py --record docs/TC/records/TC-001-.../tc_record.json
python3 scripts/tc_validator.py --registry docs/TC/tc_registry.jsonValidator enforces the schema, checks state-machine legality, verifies sequential R<n> and T<n> IDs, and asserts approval consistency (approved=true requires approved_by and approved_date).
See references/tc-schema.md for the full schema.
Slash-Command Dispatcher
The repo ships a /tc slash command at commands/tc.md that dispatches to these scripts based on subcommand:
| Command | Action |
/tc init | Run tc_init.py for the current project |
/tc create <name> | Prompt for fields, run tc_create.py |
/tc update <tc-id> | Apply user-described changes via tc_update.py |
/tc status [tc-id] | Run tc_status.py |
/tc resume <tc-id> | Display handoff, archive prior session, start a new one |
/tc close <tc-id> | Transition to deployed, set approval |
/tc export | Re-render all derived artifacts |
/tc dashboard | Re-render the registry summary |
The slash command is the user interface; the Python scripts are the engine.
Session Handoff Format
The handoff block lives at session_context.handoff inside each TC and is the single most important field for AI continuity. It contains:
progress_summary— what has been donenext_steps— ordered list of remaining actionsblockers— anything preventing progresskey_context— critical decisions, gotchas, patterns the next bot must knowfiles_in_progress— files being edited and their state (editing,needs_review,partially_done,ready)decisions_made— architectural decisions with rationale and timestamp
See references/handoff-format.md for the full structure and fill-out rules.
Validation Rules (Always Enforced)
- State machine — only valid transitions are allowed.
- Sequential IDs —
revision_historyusesR1, R2, R3...;test_casesusesT1, T2, T3.... - Append-only history — revision entries are never modified or deleted.
- Approval consistency —
approved=truerequiresapproved_byandapproved_date. - TC ID format — must match
TC-NNN-MM-DD-YY-slug. - Sub-TC ID format — must match
TC-NNN.AorTC-NNN.A.N. - Atomic writes — JSON is written to
.tmpthen renamed. - Registry stats — recomputed on every registry write.
Non-Blocking Bookkeeping Pattern
TC tracking must NOT interrupt the main workflow.
- Never stop to update TC records inline. Keep coding.
- At natural milestones, spawn a background subagent to update the record.
- Surface questions only when genuinely needed ("This work doesn't match any active TC — create one?"), and ask once per session, not per file.
- At session end, write a final handoff block before closing.
Retroactive Bulk Creation
For onboarding an existing project with undocumented history, build a retro_changelog.json (one entry per logical change) and feed it to tc_create.py in a loop, or extend the script for batch mode. Group commits by feature, not by file.
Anti-Patterns
| Anti-pattern | Why it's bad | Do this instead |
Editing revision_history to "fix" a typo | History is append-only — tampering destroys the audit trail | Add a new revision that corrects the field |
| Skipping the state machine ("just set status to deployed") | Bypasses validation and hides skipped phases | Walk through in_progress -> implemented -> tested -> deployed |
| Creating one TC per file changed | Fragments related work and explodes the registry | One TC per logical unit (feature, fix, refactor) |
| Updating TC inline between every code edit | Slows the main agent, wastes context | Spawn a background subagent at milestones |
Marking approved=true without approved_by | Validator will reject; misleading audit trail | Always set approved_by and approved_date together |
Overwriting tc_record.json directly with a text editor | Risks corruption mid-write and skips validation | Use tc_update.py (atomic write + schema check) |
Putting secrets in notes or evidence | Records are committed to the repo | Reference an env var or external secret store |
| Reusing TC IDs after deletion | Breaks the sequential guarantee and confuses history | Increment forward only — never recycle |
Letting next_steps go stale | Defeats the purpose of handoff | Update on every milestone, even if it's "nothing changed" |
Cross-References
engineering/changelog-generator— Generates Keep-a-Changelog release notes from Conventional Commits. Pair it with TC tracker: TC for the granular per-change audit trail, changelog for user-facing release notes.engineering/tech-debt-tracker— For tracking long-lived debt items rather than discrete code changes.engineering/focused-fix— When a bug fix needs systematic feature-wide repair, run/focused-fixfirst then capture the result as a TC.project-management/decision-log— Architectural decisions made inside a TC'sdecisions_madeblock can also be promoted to a project-wide decision log.engineering-team/code-reviewer— Pre-merge review fits naturally into thetested -> deployedtransition; capture the reviewer inapproval.approved_by.
References in This Skill
- references/tc-schema.md — Full JSON schema for TC records and the registry.
- references/lifecycle.md — State machine, valid transitions, and recovery flows.
- references/handoff-format.md — Session handoff structure and best practices.
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.

