Skip to content

Status Tags ​

Complete guide to using status tags in SpecTacular for visual task and feature tracking.

Overview ​

Status tags are markdown syntax that renders as colored badges in the dashboard:

markdown
#status/done      → 🟢 Done
#status/pending   → ⚪ Pending

Standard Status Tags ​

Complete Set ​

TagRenderedColorUse For
#status/done🟢 DoneGreenCompleted tasks/features
#status/complete🟢 CompleteGreenFinished (alternative)
#status/pending⚪ PendingGrayNot started
#status/in-progress🔵 In ProgressBlueCurrently working
#status/blocked🔴 BlockedRedCannot proceed
#status/skipped⏭️ SkippedGrayIntentionally skipped
#status/review🟣 ReviewPurpleNeeds review
#status/approved🟢 ApprovedGreenReviewed and approved

Usage Examples ​

In Frontmatter:

markdown
---
status: done
---

In Content:

markdown
Current status: #status/in-progress

After completion, update to #status/done

In Tables:

markdown
| Task | Status |
|------|--------|
| Setup | #status/done |
| Implement | #status/in-progress |
| Test | #status/pending |

Status Lifecycle ​

Task Lifecycle ​

Feature Lifecycle ​

Custom Status Tags ​

Define Custom Tags ​

In project configuration:

json
{
  "spectacular.statusTags.custom": {
    "wip": {
      "label": "Work in Progress",
      "color": "#f6ad55",
      "icon": "tools"
    },
    "archived": {
      "label": "Archived",
      "color": "#a0aec0",
      "icon": "archive"
    },
    "urgent": {
      "label": "Urgent",
      "color": "#f56565",
      "icon": "alert"
    }
  }
}

Usage:

markdown
This feature is #status/wip

Old spec: #status/archived

Custom Color Scheme ​

Override default colors:

json
{
  "spectacular.statusTags.colors": {
    "done": "#10b981",
    "pending": "#3b82f6",
    "blocked": "#ef4444",
    "in-progress": "#f59e0b"
  }
}

Best Practices ​

Naming Conventions ​

✅ Do:

  • Use lowercase: #status/done
  • Use hyphens: #status/in-progress
  • Be consistent: Pick one naming style

❌ Don't:

  • Mix cases: #status/Done or #status/DONE
  • Use spaces: #status/in progress (won't work)
  • Use special chars: #status/done!

Tag Placement ​

In Frontmatter (Recommended):

markdown
---
status: done
---

In Tables:

markdown
| Feature | Status |
|---------|--------|
| Auth | #status/done |

In Content:

markdown
## Current Status

The feature is #status/in-progress. We expect to complete by Friday.

Consistency ​

Project-wide standards:

Create STATUS.md:

markdown
# Status Tag Standards

## Our Tags
- `#status/pending` - Not started
- `#status/active` - Currently working (we use 'active' not 'in-progress')
- `#status/review` - Ready for code review
- `#status/done` - Completed and merged

## Lifecycle
pending → active → review → done

Auto-Status ​

How It Works ​

When you save a task file, SpecTacular:

  1. Checks frontmatter for type: task
  2. Counts checkboxes in acceptance criteria
  3. Updates status:
    • All checked → status: done
    • Was done, now unchecked → status: pending
  4. Updates table in parent tasks.md

Example ​

Task file (before save):

markdown
---
type: task
status: pending
---

# Implement Login

## Acceptance Criteria
- [x] Create form
- [x] Add validation
- [x] Connect to API

After save:

markdown
---
type: task
status: done  # ← Auto-updated!
---

Parent tasks.md:

markdown
| 1 | [[task-01]] | #status/done | @alice |  # ← Also updated!

Configuration ​

json
{
  "spectacular.autoStatus.enabled": true,
  "spectacular.autoStatus.updateTable": true,
  "spectacular.autoStatus.notifyOnChange": true
}

Status in Different Contexts ​

Specs ​

markdown
---
type: spec
status: approved
---

# Feature Specification

Current implementation status: #status/in-progress

Plans ​

markdown
---
type: plan
status: in-progress
---

## Phase 1: Setup
Status: #status/done

## Phase 2: Implementation
Status: #status/in-progress

## Phase 3: Testing
Status: #status/pending

Tasks ​

markdown
---
type: task
status: review
---

# Task: Add Authentication

Blocked by: #status/blocked on API design

Visual Examples ​

Dashboard Rendering ​

Input:

markdown
| Task | Status |
|------|--------|
| Database Setup | #status/done |
| API Endpoints | #status/in-progress |
| Frontend UI | #status/pending |
| Testing | #status/blocked |

Renders as:

Task              Status
Database Setup    🟢 Done
API Endpoints     🔵 In Progress
Frontend UI       ⚪ Pending
Testing           🔴 Blocked

In Tree View ​

specs/
├── 001-auth/ 🟢
│   ├── auth-spec.md #status/done
│   ├── tasks.md
│   └── task-01.md #status/done
└── 002-payments/ 🔵
    ├── payments-spec.md #status/in-progress
    └── tasks.md

Status Aggregation ​

Folder Status ​

Calculate folder status from children:

markdown
# Folder: 001-authentication

## Files
- spec.md: #status/done
- plan.md: #status/done
- task-01.md: #status/done
- task-02.md: #status/done
- task-03.md: #status/done

## Aggregate Status: #status/done ✅

Feature Status ​

markdown
# Feature: User Authentication

## Components
- Backend API: #status/done (3/3 tasks)
- Frontend UI: #status/in-progress (2/4 tasks)
- Testing: #status/pending (0/2 tasks)

## Overall: #status/in-progress (5/9 tasks = 56%)

Reporting ​

Status Report ​

Generate status summary:

markdown
# Weekly Status Report (12/22/2024)

## Completed This Week
- [[task-01]] Database Schema #status/done
- [[task-02]] API Endpoints #status/done

## In Progress
- [[task-03]] Frontend UI #status/in-progress (75%)
- [[task-04]] Integration #status/in-progress (25%)

## Blocked
- [[task-05]] Deployment #status/blocked (waiting for credentials)

## Upcoming
- [[task-06]] Documentation #status/pending
- [[task-07]] Testing #status/pending

Metrics ​

Track status over time:

markdown
# Sprint Metrics

## Status Distribution
- Done: 12 (60%)
- In Progress: 5 (25%)
- Pending: 3 (15%)
- Blocked: 0 (0%)

## Trend
- Week 1: 20% complete
- Week 2: 45% complete
- Week 3: 60% complete ← Current

Integrations ​

Git Commit Messages ​

bash
git commit -m "feat: Add login page #status/done

Completed all acceptance criteria:
- Created login form component
- Added field validation
- Connected to authentication API

Closes #123"

CI/CD Automation ​

yaml
# .github/workflows/update-status.yml
- name: Update Status
  run: |
    if [[ "${{ github.event_name }}" == "push" ]]; then
      # Mark deployed features as done
      sed -i 's/#status\/in-progress/#status\/deployed/g' specs/README.md
    fi

Troubleshooting ​

Status Not Auto-Updating ​

Check:

  1. File is in tasks/ directory ✓
  2. Frontmatter has type: task ✓
  3. Has "Acceptance Criteria" section ✓
  4. All criteria use checkbox format - [ ] ✓

Fix:

markdown
## Acceptance Criteria  ← Must match exactly
- [x] First criterion   ← Must use checkbox format
- [x] Second criterion

Tags Not Rendering ​

Check:

  1. Using correct syntax: #status/done ✓
  2. No spaces: #status/in-progress not #status/in progress ✓
  3. Lowercase: #status/done not #status/Done ✓

Table Not Updating ​

Check parent tasks.md has:

markdown
| # | Task | Status | ...
|---|------|--------|----
| 1 | [[task-01]] | #status/pending | ...

Next Steps ​

Released under the MIT License.