feat(skill): Create task-creation skill

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
This commit is contained in:
Claude
2026-04-08 06:48:00 +00:00
parent 6af27f4160
commit 1fe169ba9c
2 changed files with 343 additions and 1 deletions

View File

@@ -22,7 +22,6 @@
| Skill | Purpose | Status |
|-------|---------|--------|
| **arbiter-coding** | Arbiter patterns, database schema, webhook structure | Planned |
| **task-creation** | Proper task file structure for tasks-index/ | Planned |
| **gemini-consultation** | How to structure Gemini AI prompts | Planned |
---
@@ -80,6 +79,30 @@
---
### task-creation
**Location:** `docs/skills/task-creation/SKILL.md`
**Triggers:** New task, task status, "add to backlog", task frontmatter, priority, creating tasks
**Purpose:** Proper task file creation for Decap CMS task management
**What It Covers:**
- Task file structure (tasks-index vs tasks directories)
- Required frontmatter fields and values
- Priority levels and colors
- Task body template
- When to create full specs vs simple tasks
- Common tags and linking conventions
- Mobile task manager compatibility
**Read This When:**
- Creating a new task
- Updating task status or priority
- Unsure about frontmatter format
- Adding implementation specs
- Task not appearing in CMS correctly
---
## 🔜 Planned Skills
| Skill | Purpose | Status |

View File

@@ -0,0 +1,319 @@
---
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** 💙🔥❄️