track-management
Track lifecycle management patterns. Use when creating tracks, updating track status, generating track IDs, parsing plan files, or managing track metadata.
When & Why to Use This Skill
This Claude skill provides a robust framework for managing the end-to-end lifecycle of project tracks. It automates the creation, tracking, and archiving of tasks using standardized naming conventions, status markers, and structured metadata, ensuring consistent project organization and progress visibility.
Use Cases
- Automating the setup of new development features by generating unique track IDs and creating standardized directory structures (metadata, specs, and plans).
- Synchronizing project progress by parsing markdown-based plan files to extract task statuses, phase checkpoints, and associated git commit SHAs.
- Maintaining a centralized project dashboard (tracks.md) that automatically updates as individual sub-tasks and implementation phases are completed.
- Preventing project clutter and duplication by checking existing track IDs and managing the archiving or deletion of completed lifecycle stages.
| name | track-management |
|---|---|
| description | Track lifecycle management patterns. Use when creating tracks, updating track status, generating track IDs, parsing plan files, or managing track metadata. |
Track Management
This skill provides patterns for managing Conductor tracks throughout their lifecycle.
Track ID Generation
Format
Track IDs follow the pattern: shortname_YYYYMMDD
Rules
- Derive shortname from track description (lowercase, underscores, no special characters)
- Use current date in YYYYMMDD format
- Keep shortname concise (2-4 words max)
Examples
- "Add user authentication" →
user_auth_20260110 - "Fix login page bug" →
login_bug_20260110 - "Create dashboard UI" →
dashboard_ui_20260110
Status Markers
Conductor uses checkbox-style markers to track status:
| Marker | Status | Description |
|---|---|---|
[ ] |
Pending | Not yet started |
[~] |
In Progress | Currently being worked on |
[x] |
Completed | Finished successfully |
Usage in tracks.md
- [ ] **Track: Add user authentication**
- [~] **Track: Create dashboard UI**
- [x] **Track: Fix login bug**
Usage in plan.md
# Phase 1: Setup
- [x] Task: Initialize project structure
- [x] Create directory layout
- [x] Set up package.json
- [~] Task: Configure testing framework
- [x] Install Jest
- [ ] Write initial test
- [ ] Task: Conductor - User Manual Verification 'Phase 1: Setup' (Protocol in workflow.md)
Track File Structure
Each track is stored in conductor/tracks/<track_id>/ with these files:
conductor/tracks/<track_id>/
├── metadata.json # Track metadata
├── spec.md # Feature specification
└── plan.md # Implementation plan
Metadata Schema
The metadata.json file contains:
{
"track_id": "user_auth_20260110",
"type": "feature",
"status": "new",
"created_at": "2026-01-10T14:30:00Z",
"updated_at": "2026-01-10T14:30:00Z",
"description": "Add user authentication with login and registration"
}
Fields
| Field | Type | Values | Description |
|---|---|---|---|
track_id |
string | - | Unique identifier |
type |
string | feature, bug, chore, refactor |
Category of work |
status |
string | new, in_progress, completed, cancelled |
Current state |
created_at |
string | ISO 8601 datetime | Creation timestamp |
updated_at |
string | ISO 8601 datetime | Last update timestamp |
description |
string | - | Brief description |
Plan Parsing
Reading Tasks
When parsing plan.md:
- Look for phase headings (e.g.,
# Phase 1: Setup) - Find task lines matching
- [ ] Task:or- [~] Task:or- [x] Task: - Find sub-tasks indented under tasks (4 spaces):
- [ ] ...
Extracting Status
Line: "- [~] Task: Configure testing framework"
Status: in_progress
Task: "Configure testing framework"
Finding Commit SHAs
Completed tasks may have commit SHAs appended:
- [x] Task: Initialize project (abc1234)
Extract SHA: abc1234
Phase Checkpoints
Completed phases have checkpoint markers:
# Phase 1: Setup [checkpoint: def5678]
tracks.md Format
The main tracks file (conductor/tracks.md) lists all tracks:
# Project Tracks
This file tracks all major tracks for the project. Each track has its own detailed plan in its respective folder.
---
- [ ] **Track: Add user authentication**
*Link: [./conductor/tracks/user_auth_20260110/](./conductor/tracks/user_auth_20260110/)*
---
- [~] **Track: Create dashboard UI**
*Link: [./conductor/tracks/dashboard_ui_20260110/](./conductor/tracks/dashboard_ui_20260110/)*
Parsing tracks.md
- Split content by
---separator - For each section, find:
- Status marker:
- [ ],- [~], or- [x] - Description: Text after
**Track:and before** - Link: Path in
*Link: [...](...)*
- Status marker:
Track Lifecycle
1. Creation
- Generate unique track ID
- Create directory structure
- Write metadata.json, spec.md, plan.md
- Add entry to tracks.md
2. Implementation
- Update tracks.md status to
[~] - Execute tasks from plan.md
- Update plan.md as tasks complete
- Commit changes with git notes
3. Completion
- Update tracks.md status to
[x] - Synchronize project documentation
- Offer archive/delete options
4. Archive (Optional)
- Move track folder to
conductor/archive/ - Remove entry from tracks.md
- Commit changes
5. Delete (Optional)
- Permanently delete track folder
- Remove entry from tracks.md
- Commit changes
Duplicate Prevention
Before creating a new track:
- List existing tracks in
conductor/tracks/ - Extract shortnames from existing track IDs
- If proposed shortname matches an existing one, halt and suggest alternatives
Example check:
ls conductor/tracks/
# Output: user_auth_20260108 dashboard_ui_20260109
# If user wants "user_auth", warn that it already exists