Task management guidelines for Decap CMS: - File structure (tasks-index vs tasks directories) - Required frontmatter fields and valid values - Priority levels with colors (P0-P4) - Task body template with sections - When to create full specs vs simple tasks - Common tags for filtering - Mobile task manager compatibility notes - Task creation checklist Updated SKILLS-INDEX.md with new skill entry. Chronicler: #68
320 lines
7.2 KiB
Markdown
320 lines
7.2 KiB
Markdown
---
|
|
name: task-creation
|
|
description: |
|
|
Create and manage Firefrost Gaming tasks properly. Use this skill whenever:
|
|
- Creating a new task (always use this format!)
|
|
- Updating task status or priority
|
|
- Moving tasks between states
|
|
- Unsure about task file structure or frontmatter
|
|
- Adding implementation specs for a task
|
|
Tasks appear in Decap CMS at firefrostgaming.com/admin. This skill ensures proper formatting so tasks render correctly in the mobile task manager and CMS interface.
|
|
---
|
|
|
|
# Task Creation Skill
|
|
|
|
How to create, structure, and manage tasks in the Firefrost operations manual.
|
|
|
|
---
|
|
|
|
## 📁 TASK SYSTEM STRUCTURE
|
|
|
|
```
|
|
firefrost-operations-manual/
|
|
├── docs/tasks-index/ # High-level task cards (Decap CMS)
|
|
│ ├── task-026-modpackchecker.md
|
|
│ ├── task-087-arbiter-lifecycle.md
|
|
│ └── task-099-claude-projects.md
|
|
├── docs/tasks/ # Full implementation specs
|
|
│ ├── task-026-modpackchecker/
|
|
│ │ ├── README.md
|
|
│ │ └── phase-5-spec.md
|
|
│ └── task-094-restart-scheduler/
|
|
│ └── full-spec.md
|
|
├── BACKLOG.md # Historical reference only
|
|
└── BLOCKERS.md # Historical (launch complete)
|
|
```
|
|
|
|
### Key Points
|
|
|
|
- **`docs/tasks-index/`** — Individual files for each task, shown in Decap CMS
|
|
- **`docs/tasks/`** — Detailed specs when needed (complex tasks only)
|
|
- **BACKLOG.md** — Historical, don't add new tasks here
|
|
- Tasks auto-appear at `firefrostgaming.com/admin` → 🔥 TASKS
|
|
|
|
---
|
|
|
|
## 📝 TASK FILE FORMAT
|
|
|
|
### Required Frontmatter
|
|
|
|
```yaml
|
|
---
|
|
task_number: 100
|
|
title: Task Title Here
|
|
status: Planned
|
|
priority: P2-Medium
|
|
is_blocker: false
|
|
owner: Michael
|
|
tags:
|
|
- category
|
|
estimated_hours: 4
|
|
---
|
|
```
|
|
|
|
### Frontmatter Fields
|
|
|
|
| Field | Required | Values |
|
|
|-------|----------|--------|
|
|
| `task_number` | Yes | Integer (next available number) |
|
|
| `title` | Yes | Short descriptive title |
|
|
| `status` | Yes | `Planned`, `In Progress`, `Blocked`, `Complete` |
|
|
| `priority` | Yes | `P0-Blocker`, `P1-High`, `P2-Medium`, `P3-Low`, `P4-Personal` |
|
|
| `is_blocker` | Yes | `true` or `false` |
|
|
| `owner` | Yes | `Michael`, `Meg`, `Holly`, `Trinity` |
|
|
| `tags` | Yes | Array of category tags |
|
|
| `estimated_hours` | No | Integer estimate |
|
|
|
|
### Priority Colors (in UI)
|
|
|
|
| Priority | Color | Use For |
|
|
|----------|-------|---------|
|
|
| P0-Blocker | 🔴 Red | Launch-blocking, critical path |
|
|
| P1-High | 🟠 Orange | Important, do soon |
|
|
| P2-Medium | 🟡 Yellow | Standard priority |
|
|
| P3-Low | 🔵 Blue | Nice to have |
|
|
| P4-Personal | 🟣 Purple | Michael's personal projects |
|
|
|
|
---
|
|
|
|
## 📋 TASK BODY TEMPLATE
|
|
|
|
After the frontmatter, add markdown body:
|
|
|
|
```markdown
|
|
## Overview
|
|
|
|
Brief description of what this task accomplishes and why it matters.
|
|
|
|
## Current State
|
|
|
|
What exists now, what's been done, any context.
|
|
|
|
## Next Steps
|
|
|
|
- [ ] Step 1
|
|
- [ ] Step 2
|
|
- [ ] Step 3
|
|
|
|
## Links
|
|
|
|
- Full spec: `docs/tasks/task-XXX-name/README.md`
|
|
- Related: Task #YY, Task #ZZ
|
|
```
|
|
|
|
---
|
|
|
|
## ✅ COMPLETE EXAMPLE
|
|
|
|
**File:** `docs/tasks-index/task-100-example-task.md`
|
|
|
|
```markdown
|
|
---
|
|
task_number: 100
|
|
title: Example Task Title
|
|
status: Planned
|
|
priority: P2-Medium
|
|
is_blocker: false
|
|
owner: Michael
|
|
tags:
|
|
- infrastructure
|
|
- automation
|
|
estimated_hours: 8
|
|
---
|
|
|
|
## Overview
|
|
|
|
This task implements XYZ feature to improve ABC workflow.
|
|
|
|
## Current State
|
|
|
|
- Feature does not exist yet
|
|
- Related system ABC is in place
|
|
- Dependency on Task #87 (not blocking)
|
|
|
|
## Next Steps
|
|
|
|
- [ ] Design the architecture
|
|
- [ ] Implement core functionality
|
|
- [ ] Test with production data
|
|
- [ ] Deploy to Command Center
|
|
|
|
## Links
|
|
|
|
- Full spec: `docs/tasks/task-100-example/README.md`
|
|
- Related: Task #87 (Arbiter lifecycle)
|
|
```
|
|
|
|
---
|
|
|
|
## 🔢 FINDING THE NEXT TASK NUMBER
|
|
|
|
Before creating a task, find the next available number:
|
|
|
|
```bash
|
|
ls docs/tasks-index/ | grep -oP 'task-\K\d+' | sort -n | tail -1
|
|
```
|
|
|
|
Add 1 to the highest number found.
|
|
|
|
**Current highest (as of April 8, 2026):** Check the directory, likely in the 90s.
|
|
|
|
---
|
|
|
|
## 📂 WHEN TO CREATE FULL SPECS
|
|
|
|
### Simple Tasks (index file only)
|
|
|
|
- Single-session work
|
|
- Clear scope
|
|
- No complex implementation details
|
|
- Example: "Update footer text"
|
|
|
|
### Complex Tasks (index + full spec)
|
|
|
|
- Multi-phase work
|
|
- Database schema changes
|
|
- API design needed
|
|
- Multiple files/systems affected
|
|
- Example: "ModpackChecker Phase 5"
|
|
|
|
### Full Spec Structure
|
|
|
|
```
|
|
docs/tasks/task-XXX-name/
|
|
├── README.md # Overview, architecture
|
|
├── phase-1-spec.md # Phase 1 details
|
|
├── phase-2-spec.md # Phase 2 details
|
|
└── database-schema.md # If applicable
|
|
```
|
|
|
|
---
|
|
|
|
## 🔄 UPDATING TASK STATUS
|
|
|
|
When task status changes:
|
|
|
|
1. **Edit the frontmatter** — Change `status` field
|
|
2. **Update body** — Add completion notes or blockers
|
|
3. **Commit** with descriptive message
|
|
|
|
### Status Transitions
|
|
|
|
```
|
|
Planned → In Progress → Complete
|
|
↓
|
|
Blocked → In Progress → Complete
|
|
```
|
|
|
|
### Commit Message Format
|
|
|
|
```
|
|
docs(task): Update Task #XX status to [STATUS]
|
|
|
|
[Brief description of what changed]
|
|
|
|
Chronicler: #YY
|
|
```
|
|
|
|
---
|
|
|
|
## ⚠️ COMMON MISTAKES
|
|
|
|
| ❌ Wrong | ✅ Correct |
|
|
|----------|-----------|
|
|
| Adding tasks to BACKLOG.md | Create file in `docs/tasks-index/` |
|
|
| Missing frontmatter fields | Include all required fields |
|
|
| Wrong priority format | Use exact format: `P2-Medium` |
|
|
| Spaces in filename | Use hyphens: `task-100-my-task.md` |
|
|
| Forgetting `is_blocker` | Always include, even if false |
|
|
|
|
---
|
|
|
|
## 🏷️ COMMON TAGS
|
|
|
|
Use consistent tags for filtering:
|
|
|
|
| Tag | Use For |
|
|
|-----|---------|
|
|
| `infrastructure` | Server, hosting, DevOps |
|
|
| `arbiter` | Arbiter backend work |
|
|
| `website` | 11ty site, Cloudflare Pages |
|
|
| `discord` | Discord bot, roles, automation |
|
|
| `marketing` | FOMO, social, content |
|
|
| `documentation` | Docs, standards, manuals |
|
|
| `automation` | n8n, scripts, scheduled tasks |
|
|
| `panel` | Pterodactyl, Blueprint, MVC |
|
|
| `accessibility` | Medical accommodations |
|
|
| `personal` | Michael's personal projects |
|
|
|
|
---
|
|
|
|
## 📱 MOBILE TASK MANAGER
|
|
|
|
Tasks appear at: `firefrostgaming.com/admin/mobile.html`
|
|
|
|
**Features:**
|
|
- Card-based UI
|
|
- Priority color coding
|
|
- Filter tabs by status
|
|
- Quick-edit dropdowns
|
|
- Touch-optimized (44px+ targets)
|
|
|
|
**For tasks to appear correctly:**
|
|
- Frontmatter must be valid YAML
|
|
- All required fields present
|
|
- File in `docs/tasks-index/` directory
|
|
|
|
---
|
|
|
|
## 🔗 LINKING TASKS
|
|
|
|
### In Task Bodies
|
|
|
|
```markdown
|
|
Related: Task #87, Task #92
|
|
Depends on: Task #26 (blocked until complete)
|
|
Blocks: Task #99
|
|
```
|
|
|
|
### In Commit Messages
|
|
|
|
```
|
|
feat(arbiter): Implement webhook retry logic
|
|
|
|
Adds exponential backoff for failed webhooks.
|
|
|
|
Task: #87
|
|
Chronicler: #68
|
|
```
|
|
|
|
---
|
|
|
|
## ✅ TASK CREATION CHECKLIST
|
|
|
|
Before committing a new task:
|
|
|
|
- [ ] File in `docs/tasks-index/` (not BACKLOG.md)
|
|
- [ ] Filename format: `task-XXX-short-name.md`
|
|
- [ ] All required frontmatter fields present
|
|
- [ ] `task_number` is unique and sequential
|
|
- [ ] `priority` uses exact format (e.g., `P2-Medium`)
|
|
- [ ] `status` is valid value
|
|
- [ ] `is_blocker` is true or false (not missing)
|
|
- [ ] `tags` is an array (even if single tag)
|
|
- [ ] Body has Overview and Next Steps sections
|
|
- [ ] Commit message references task number
|
|
|
|
---
|
|
|
|
**Fire + Frost + Foundation = Where Love Builds Legacy** 💙🔥❄️
|