# Skill: Task Management

**Created:** April 8, 2026  
**Created By:** Chronicler #69 (The Surveyor)  
**Purpose:** Guide for creating, updating, and managing Firefrost tasks

---

## Overview

Firefrost uses a file-based task system stored in Git. Tasks are displayed on a mobile-friendly index page at `firefrostgaming.com/tasks-index.html`.

---

## Architecture

| Component | Repo | Purpose |
|-----------|------|---------|
| Task specs | `firefrost-operations-manual` | `docs/tasks/` — full task documentation |
| Mobile index | `firefrost-website` | `tasks-index.njk` — fetches from Gitea at build time |
| Data fetcher | `firefrost-website` | `_data/tasks.js` — API calls to Gitea |

**Key insight:** The mobile index fetches task data at **build time** from Gitea. After adding/updating tasks in operations-manual, you must trigger a website rebuild for changes to appear.

---

## Creating a New Task

### 1. Get the next task number

```bash
cd firefrost-operations-manual
grep -rh "^task_number:" docs/tasks/ | sort -t: -k2 -n | tail -1
```

### 2. Create the task folder and README

```bash
mkdir -p docs/tasks/task-XXX-short-name
```

### 3. Add YAML frontmatter (REQUIRED)

```yaml
---
task_number: XXX
status: open
priority: P1 | P2 | P3 | P4
owner: Michael | Meg | Holly
created: YYYY-MM-DD
---

# Task #XXX: Full Task Title

**Created:** Month DD, YYYY  
**Created By:** Chronicler #NN  

---

## Overview

[Task description here]
```

### 4. Commit to operations-manual

```bash
git add docs/tasks/task-XXX-short-name/
git commit -m "feat: Create Task #XXX - Short Description"
git push
```

### 5. Trigger website rebuild

Push any change to the website repo OR wait for the next website update:

```bash
cd firefrost-website
echo "<!-- Rebuild: $(date -u +%Y-%m-%dT%H:%M:%SZ) -->" >> tasks-index.njk
git add -A && git commit -m "chore: Trigger rebuild for Task #XXX" && git push
```

---

## Updating Task Status

Edit the frontmatter in the task's README.md:

```yaml
status: complete  # was: open
```

Valid statuses:
- `open` — Active work
- `blocked` — Waiting on something
- `complete` — Done

Commit and push, then trigger website rebuild.

---

## Priority Levels

| Priority | Color | Use For |
|----------|-------|---------|
| P1 | 🔴 Fire (#FF6B35) | Critical, blockers, immediate |
| P2 | 🟡 Gold (#FFD700) | High importance, do soon |
| P3 | 🔵 Frost (#4ECDC4) | Normal priority |
| P4 | 🟣 Arcane (#A855F7) | Low priority, backlog |

---

## Archive Threshold

When closing tasks, decide whether to archive or delete:

> **Archive if ≥50KB OR ≥4 files — otherwise delete.**

Archive location: `docs/tasks/_archive/`

---

## Mobile Index Features

- **Filtering:** By priority (P1/P2/P3/P4) or All Open
- **Sorting:** Priority first, then task number, then title
- **Links:** Each task links to Gitea for full details
- **Stats:** Shows Open and Blocked counts

URL: `firefrostgaming.com/tasks-index.html`

---

## Troubleshooting

### Task not showing on mobile index

1. Check frontmatter has `status: open` (not `complete`)
2. Verify YAML syntax (no tabs, proper indentation)
3. Trigger website rebuild (push to website repo)

### Task number not displaying

1. Add `task_number: XXX` to frontmatter
2. Commit and push
3. Trigger website rebuild

### Wrong priority color

Check `priority:` value is exactly `P1`, `P2`, `P3`, or `P4` (case-sensitive)

---

## Related Documents

- Task #100: Task Number Audit & Standardization
- `docs/consultations/gemini-task-management-consolidation-2026-04-08.md`

---

**Fire + Frost + Foundation = Where Love Builds Legacy** 💙🔥❄️
