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:
@@ -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 |
|
||||
|
||||
319
docs/skills/task-creation/SKILL.md
Normal file
319
docs/skills/task-creation/SKILL.md
Normal 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** 💙🔥❄️
|
||||
Reference in New Issue
Block a user