SidStack Task Progress & Completion
When This Activates
This skill provides workflow guidance during active implementation:
- New request arrives: classify intent → route to correct workflow
- After code changes: update progress milestones
- Work nearing completion: guide through quality gates
- Task status queries: "check task", "list tasks", "what's the status"
Note: Task lifecycle is guided by the /sidstack-dev skill. This skill tracks progress and completion flow.
Session Start Behavior
When activated at the beginning of a session or after context compaction:
task_list({ projectId: "FOLDER_NAME", preset: "actionable" }) — show active and pending tasks
- If an in_progress task exists, display it and offer to resume
- If no active task, show top pending tasks as options
training_context_get({ projectId: "FOLDER_NAME" }) — load applicable rules and lessons
Workflow Classification
When the user sends a natural-language request (not a /sidstack-* command), classify before acting.
Step 1: Classify Intent
| Intent |
Workflow |
TaskType |
Needs Task? |
| Question, explanation, discussion |
discuss |
— |
No |
| Task CRUD, status check, OKR |
track |
— |
No |
| Critical/urgent production fix |
hotfix |
bugfix (critical) |
Yes |
| Fix bug, error, regression, broken |
bugfix |
bugfix |
Yes |
| New feature, endpoint, UI component |
implement |
feature |
Yes |
| Refactor, optimize, perf, cleanup |
improve |
refactor/perf/debt |
Yes |
| Review code, audit, verify |
review |
— |
Existing |
| Ticket ID referenced |
ticket |
(from ticket) |
Via convert |
| Documentation, knowledge build/update |
knowledge |
docs |
No |
| Incident, lesson, recurring bug pattern |
learn |
— |
No |
Step 2: Context Check (for task-creating workflows only)
Before creating a new task:
task_list({ projectId: "FOLDER_NAME", preset: "actionable" }) — is there an existing task for this?
- YES, matching topic → Resume it. Do not create duplicate.
- NO → Continue to Step 3.
knowledge_search({ query: "[request summary]" }) — any past learnings?
training_context_get({ projectId: "FOLDER_NAME" }) — applicable rules?
Step 3: Disambiguate
If classification is uncertain:
- In-progress task on same topic? → Resume that task.
- Request mentions task-ID (task-xxx)? → Load and continue that task.
- Request mentions ticket-ID (JIRA-xxx, GH-xxx)? → Route to ticket workflow.
- Still ambiguous? → Ask user: "This could be a [bugfix] or [feature]. Which workflow fits better?"
Step 4: Route
| Workflow |
Route |
| discuss |
Answer directly. No skill invoked. |
| track |
Handle with MCP task tools. |
| hotfix |
Create task → tell user: "Created hotfix task [id]. Starting /sidstack-dev hotfix [id]" |
| bugfix |
Create task → tell user: "Created bugfix task [id]. Use /sidstack-dev fix [id] for structured flow, or say 'proceed' for lightweight." |
| implement |
Create task → tell user: "Created feature task [id]. Use /sidstack-dev feature [id] for full 4-step, or say 'proceed' for lightweight." |
| improve |
Create task (refactor/perf/debt) → same as implement |
| review |
Tell user: "Use /sidstack-dev review [task-ids]" |
| ticket |
Tell user: "Use /sidstack ticket <id> to process" |
| knowledge |
Tell user: "Use /sidstack-knowledge [mode]" |
| learn |
Use incident_create → lesson_create directly |
Lightweight flow (when user says "proceed" instead of /sidstack-dev):
task_start_with_context({ taskId })
→ implement
→ task_update({ progress })
→ test
→ task_governance_check({ taskId })
→ test_result_create(...)
→ task_complete_with_context({ taskId })
→ memory_add(...)
Plan-First Gate (MANDATORY)
Before any implementation begins, verify the task has an approved plan:
mcp__sidstack__task_get({ taskId: "[id]" })
→ check: planStatus === "approved"
| planStatus |
Action |
undefined / no plan |
STOP. Run /sidstack-plan [task-id] to create a plan first. |
draft |
STOP. Plan is pending user review. Do not implement. |
revision_requested |
STOP. Read planReviewNotes, revise plan, resubmit. |
approved |
PROCEED. Move to in_progress and implement following the plan. |
Exception: hotfix mode only (critical production issues can skip plan review).
Implementation Must Follow the Plan
When planStatus === "approved":
- Read the
solutionPlan field — this is the contract
- Change only files listed in the plan
- Follow the approach described in the plan
- If you discover the plan is wrong or incomplete: STOP, update notes, move back to
review
- If you need to touch files NOT in the plan: ask user before proceeding
Progress Tracking
Update progress at milestones during implementation:
| Progress |
Milestone |
Also Consider |
| 10% |
Requirements understood |
|
| 25-30% |
solutionPlan submitted → status review |
Submit plan via task_update({ status: "review", solutionPlan: "..." }). Wait for planStatus=approved before coding. |
| 60% |
Core logic done |
Note any patterns/workarounds as [NOTE:pattern] |
| 80% |
Testing/verifying |
Note any issues found as [NOTE:issue] |
| 95% |
Submit implementSummary before completion |
task_update({ implementSummary: "[what was done, key decisions, files changed]" }) |
| 100% |
All checks pass |
|
mcp__sidstack__task_update({ taskId: "[id]", progress: X, notes: "milestone" })
Task Queries
| User Says |
Action |
| "check task", "list tasks" |
mcp__sidstack__task_list({ projectId: "FOLDER_NAME" }) |
| "what's the status", "where are we" |
mcp__sidstack__task_list + show active task details |
| "review tasks", "pending plans" |
mcp__sidstack__task_list({ status: ["review"] }) — show tasks with planStatus |
Completion Flow
Before calling mcp__sidstack__task_complete:
- Code changes implemented
- Tests pass (if applicable)
- Build succeeds (if applicable)
- Manually verified the change works
- Submit implementSummary: what was done, key decisions, files changed
mcp__sidstack__task_update({ taskId: "[id]", implementSummary: "[summary]" })
- Lesson check: Any patterns, issues, or decisions worth noting?
- If yes: use
incident_create -> lesson_create flow
- If no: proceed to completion
mcp__sidstack__task_complete({ taskId: "[id]" })
Integrated Workflow (applies to ALL implementation work)
These steps apply whether you're in /sidstack-dev mode or handling a regular prompt:
On Task Start (after create or resume)
entity_context({ entityType: "task", entityId: taskId }) — loads all linked knowledge, memory, references in one call
- If entity_context returns no linked docs, fall back to
knowledge_search
entity_link — link any newly discovered relevant docs to the task
During Implementation
entity_context — if you need full context for a task with linked entities
entity_link — link any new knowledge docs you create to the task
On Task Complete
memory_add — store key learnings: { content: "[summary + learnings]", projectId: "...", metadata: { sourceType: "task_completion", taskId: "..." } }
test_result_create — if tests were run, persist results with taskId
Rule: Always search before you build. Always store after you complete.
Task Creation Template
When a task needs to be created (e.g., no active task found):
mcp__sidstack__task_create({
projectId: "FOLDER_NAME",
title: "[TYPE] Clear description",
description: "Problem: X. Solution: Y.",
taskType: "feature|bugfix|refactor|test|docs",
priority: "medium",
acceptanceCriteria: [
{ description: "Specific verifiable outcome" }
]
})
Output Templates
Progress Update:
Progress: [X]% - [milestone description]
Task Complete:
Task [task-id] completed.
Summary: [what was done]
Quality gates: All passed
Error Handling
| Situation |
Action |
| MCP tools unavailable |
Warn user, proceed without task tracking |
| Task create fails |
Report error, ask user to check config |
| No project config found |
Suggest running sidstack init |
| Task already exists |
Use existing task, don't create duplicate |
Task Systems: SidStack vs Built-in
| System |
Use For |
SidStack MCP (mcp__sidstack__task_*) |
Governance, quality gates, cross-session persistence |
Built-in (TaskCreate/TaskUpdate) |
Session-local sub-step coordination |
Rule: Always create the SidStack MCP task first (governance requires it). Optionally use built-in tasks for sub-steps within the session.
Quick Reference
| Workflow Moment |
Tool |
Purpose |
| Session Start |
mcp__sidstack__task_list |
Check active/pending tasks |
|
mcp__sidstack__training_context_get |
Load rules and lessons |
| Starting Work |
mcp__sidstack__entity_context |
Load ALL linked context in one call |
|
mcp__sidstack__task_create |
Before implementing (with acceptance criteria) |
| During Work |
mcp__sidstack__task_update |
Progress updates (progress: 0-100) |
|
mcp__sidstack__knowledge_search |
Find project patterns, docs |
|
mcp__sidstack__impact_analyze |
Before touching core/risky code |
| Finishing Work |
mcp__sidstack__task_complete |
After quality checks pass |
|
mcp__sidstack__memory_add |
Store learnings for future |
|
mcp__sidstack__entity_link |
Link task to knowledge docs, specs |
| Fallback |
mcp__sidstack__knowledge_search |
When entity_context has no linked docs |
|
mcp__sidstack__entity_references |
Query what's linked to a task |
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: sidstack-aware3description: Tracks task progress milestones and guides completion flow with quality gates. Auto-triggers when code changes are made, work nears completion, user queries task status, or a task needs the plan-first gate check before implementation. Use when this capability is needed.4---56# SidStack Task Progress & Completion78## When This Activates910This skill provides workflow guidance during active implementation:1112- **New request arrives**: classify intent → route to correct workflow13- After code changes: update progress milestones14- Work nearing completion: guide through quality gates15- Task status queries: "check task", "list tasks", "what's the status"1617> **Note:** Task lifecycle is guided by the `/sidstack-dev` skill. This skill tracks progress and completion flow.1819---2021## Session Start Behavior2223When activated at the beginning of a session or after context compaction:24251. `task_list({ projectId: "FOLDER_NAME", preset: "actionable" })` — show active and pending tasks262. If an in_progress task exists, display it and offer to resume273. If no active task, show top pending tasks as options284. `training_context_get({ projectId: "FOLDER_NAME" })` — load applicable rules and lessons2930---3132## Workflow Classification3334When the user sends a natural-language request (not a `/sidstack-*` command), classify before acting.3536### Step 1: Classify Intent3738| Intent | Workflow | TaskType | Needs Task? |39|--------|----------|----------|-------------|40| Question, explanation, discussion | discuss | — | No |41| Task CRUD, status check, OKR | track | — | No |42| Critical/urgent production fix | hotfix | bugfix (critical) | Yes |43| Fix bug, error, regression, broken | bugfix | bugfix | Yes |44| New feature, endpoint, UI component | implement | feature | Yes |45| Refactor, optimize, perf, cleanup | improve | refactor/perf/debt | Yes |46| Review code, audit, verify | review | — | Existing |47| Ticket ID referenced | ticket | (from ticket) | Via convert |48| Documentation, knowledge build/update | knowledge | docs | No |49| Incident, lesson, recurring bug pattern | learn | — | No |5051### Step 2: Context Check (for task-creating workflows only)5253Before creating a new task:54551. `task_list({ projectId: "FOLDER_NAME", preset: "actionable" })` — is there an existing task for this?56 - YES, matching topic → Resume it. Do not create duplicate.57 - NO → Continue to Step 3.582. `knowledge_search({ query: "[request summary]" })` — any past learnings?593. `training_context_get({ projectId: "FOLDER_NAME" })` — applicable rules?6061### Step 3: Disambiguate6263If classification is uncertain:6465- **In-progress task on same topic?** → Resume that task.66- **Request mentions task-ID (task-xxx)?** → Load and continue that task.67- **Request mentions ticket-ID (JIRA-xxx, GH-xxx)?** → Route to ticket workflow.68- **Still ambiguous?** → Ask user: "This could be a [bugfix] or [feature]. Which workflow fits better?"6970### Step 4: Route7172| Workflow | Route |73|----------|-------|74| discuss | Answer directly. No skill invoked. |75| track | Handle with MCP task tools. |76| hotfix | Create task → tell user: "Created hotfix task [id]. Starting `/sidstack-dev hotfix [id]`" |77| bugfix | Create task → tell user: "Created bugfix task [id]. Use `/sidstack-dev fix [id]` for structured flow, or say 'proceed' for lightweight." |78| implement | Create task → tell user: "Created feature task [id]. Use `/sidstack-dev feature [id]` for full 4-step, or say 'proceed' for lightweight." |79| improve | Create task (refactor/perf/debt) → same as implement |80| review | Tell user: "Use `/sidstack-dev review [task-ids]`" |81| ticket | Tell user: "Use `/sidstack ticket <id>` to process" |82| knowledge | Tell user: "Use `/sidstack-knowledge [mode]`" |83| learn | Use `incident_create` → `lesson_create` directly |8485**Lightweight flow** (when user says "proceed" instead of `/sidstack-dev`):86```87task_start_with_context({ taskId })88→ implement89→ task_update({ progress })90→ test91→ task_governance_check({ taskId })92→ test_result_create(...)93→ task_complete_with_context({ taskId })94→ memory_add(...)95```9697---9899## Plan-First Gate (MANDATORY)100101**Before any implementation begins**, verify the task has an approved plan:102103```104mcp__sidstack__task_get({ taskId: "[id]" })105→ check: planStatus === "approved"106```107108| planStatus | Action |109|------------|--------|110| `undefined` / no plan | **STOP.** Run `/sidstack-plan [task-id]` to create a plan first. |111| `draft` | **STOP.** Plan is pending user review. Do not implement. |112| `revision_requested` | **STOP.** Read `planReviewNotes`, revise plan, resubmit. |113| `approved` | **PROCEED.** Move to `in_progress` and implement following the plan. |114115**Exception:** hotfix mode only (critical production issues can skip plan review).116117### Implementation Must Follow the Plan118119When `planStatus === "approved"`:1201. Read the `solutionPlan` field — this is the contract1212. Change only files listed in the plan1223. Follow the approach described in the plan1234. If you discover the plan is wrong or incomplete: **STOP**, update notes, move back to `review`1245. If you need to touch files NOT in the plan: ask user before proceeding125126## Progress Tracking127128Update progress at milestones during implementation:129130| Progress | Milestone | Also Consider |131|----------|-----------|---------------|132| 10% | Requirements understood | |133| 25-30% | solutionPlan submitted → status `review` | Submit plan via `task_update({ status: "review", solutionPlan: "..." })`. Wait for `planStatus=approved` before coding. |134| 60% | Core logic done | Note any patterns/workarounds as `[NOTE:pattern]` |135| 80% | Testing/verifying | Note any issues found as `[NOTE:issue]` |136| 95% | Submit `implementSummary` before completion | `task_update({ implementSummary: "[what was done, key decisions, files changed]" })` |137| 100% | All checks pass | |138139```140mcp__sidstack__task_update({ taskId: "[id]", progress: X, notes: "milestone" })141```142143## Task Queries144145| User Says | Action |146|-----------|--------|147| "check task", "list tasks" | `mcp__sidstack__task_list({ projectId: "FOLDER_NAME" })` |148| "what's the status", "where are we" | `mcp__sidstack__task_list` + show active task details |149| "review tasks", "pending plans" | `mcp__sidstack__task_list({ status: ["review"] })` — show tasks with `planStatus` |150151## Completion Flow152153Before calling `mcp__sidstack__task_complete`:1541551. Code changes implemented1562. Tests pass (if applicable)1573. Build succeeds (if applicable)1584. Manually verified the change works1595. **Submit implementSummary**: what was done, key decisions, files changed160 ```161 mcp__sidstack__task_update({ taskId: "[id]", implementSummary: "[summary]" })162 ```1636. **Lesson check**: Any patterns, issues, or decisions worth noting?164 - If yes: use `incident_create` -> `lesson_create` flow165 - If no: proceed to completion166167```168mcp__sidstack__task_complete({ taskId: "[id]" })169```170171## Integrated Workflow (applies to ALL implementation work)172173These steps apply whether you're in `/sidstack-dev` mode or handling a regular prompt:174175### On Task Start (after create or resume)1761. `entity_context({ entityType: "task", entityId: taskId })` — loads all linked knowledge, memory, references in one call1772. If entity_context returns no linked docs, fall back to `knowledge_search`1783. `entity_link` — link any newly discovered relevant docs to the task179180### During Implementation1814. `entity_context` — if you need full context for a task with linked entities1825. `entity_link` — link any new knowledge docs you create to the task183184### On Task Complete1856. `memory_add` — store key learnings: `{ content: "[summary + learnings]", projectId: "...", metadata: { sourceType: "task_completion", taskId: "..." } }`1867. `test_result_create` — if tests were run, persist results with `taskId`187188> **Rule:** Always search before you build. Always store after you complete.189190## Task Creation Template191192When a task needs to be created (e.g., no active task found):193194```195mcp__sidstack__task_create({196 projectId: "FOLDER_NAME",197 title: "[TYPE] Clear description",198 description: "Problem: X. Solution: Y.",199 taskType: "feature|bugfix|refactor|test|docs",200 priority: "medium",201 acceptanceCriteria: [202 { description: "Specific verifiable outcome" }203 ]204})205```206207## Output Templates208209**Progress Update:**210```markdown211Progress: [X]% - [milestone description]212```213214**Task Complete:**215```markdown216Task [task-id] completed.217Summary: [what was done]218Quality gates: All passed219```220221## Error Handling222223| Situation | Action |224|-----------|--------|225| MCP tools unavailable | Warn user, proceed without task tracking |226| Task create fails | Report error, ask user to check config |227| No project config found | Suggest running `sidstack init` |228| Task already exists | Use existing task, don't create duplicate |229230## Task Systems: SidStack vs Built-in231232| System | Use For |233|--------|---------|234| **SidStack MCP** (`mcp__sidstack__task_*`) | Governance, quality gates, cross-session persistence |235| **Built-in** (`TaskCreate/TaskUpdate`) | Session-local sub-step coordination |236237Rule: Always create the SidStack MCP task first (governance requires it). Optionally use built-in tasks for sub-steps within the session.238239## Quick Reference240241| Workflow Moment | Tool | Purpose |242|----------------|------|---------|243| **Session Start** | `mcp__sidstack__task_list` | Check active/pending tasks |244| | `mcp__sidstack__training_context_get` | Load rules and lessons |245| **Starting Work** | `mcp__sidstack__entity_context` | Load ALL linked context in one call |246| | `mcp__sidstack__task_create` | Before implementing (with acceptance criteria) |247| **During Work** | `mcp__sidstack__task_update` | Progress updates (progress: 0-100) |248| | `mcp__sidstack__knowledge_search` | Find project patterns, docs |249| | `mcp__sidstack__impact_analyze` | Before touching core/risky code |250| **Finishing Work** | `mcp__sidstack__task_complete` | After quality checks pass |251| | `mcp__sidstack__memory_add` | Store learnings for future |252| | `mcp__sidstack__entity_link` | Link task to knowledge docs, specs |253| **Fallback** | `mcp__sidstack__knowledge_search` | When entity_context has no linked docs |254| | `mcp__sidstack__entity_references` | Query what's linked to a task |255256---257> Converted and distributed by [TomeVault](https://tomevault.io/claim/junixlabs) — claim your Tome and manage your conversions.258<!-- tomevault:4.0:skill_md:2026-04-13 -->