brainstorming
Structured design dialogue that validates ideas before implementation begins.
dialogue-manage-tasks
Always use this skill to manage tasks in .dialogue/tasks/. Each task is a separate YAML file for merge-friendly multi-user workflows. Triggers on "create task", "new task", "next task", "update task", "list tasks", "tasks", "active tasks", "task status", "status", "show status", "what's in progre...
Full skill instructions
Manage persistent tasks in .dialogue/tasks/. Each task is stored as a separate YAML file (e.g., FW-008.yaml) for merge-friendly multi-user workflows.
See schema.md for the complete task schema definition.
Task management is an editing problem, not a scripting problem:
ls ${CLAUDE_PROJECT_DIR}/.dialogue/tasks/${CLAUDE_PROJECT_DIR}/.dialogue/tasks/{ID}.yaml| Field | Pattern | Example |
|---|---|---|
id | [A-Z]{2,4}-[0-9]{3} | FW-006 |
title | Non-empty string | task Management |
status | Enum | READY |
created | ISO 8601 | 2026-01-14T17:30:00Z |
BACKLOG → READY → IN_PROGRESS → COMPLETED
Also: BLOCKED, CANCELLED
| Prefix | Purpose |
|---|---|
SH | Self-Hosting |
CD | Conceptual Debt |
FW | Framework |
DOC | Documentation |
VAL | Validation |
The scripts/ directory contains utility scripts for common operations:
List tasks with filtering and sorting options.
# List all active tasks (excludes COMPLETED/CANCELLED by default)
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/list-tasks.sh
# List in-progress tasks only
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/list-tasks.sh --active
# List ready tasks only
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/list-tasks.sh --ready
# Filter by type
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/list-tasks.sh --type CAPABILITY
# Filter by priority
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/list-tasks.sh --priority HIGH
# Filter by prefix
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/list-tasks.sh --prefix FW
# Sort by priority
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/list-tasks.sh --sort priority
# Include completed/cancelled tasks
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/list-tasks.sh --all
# Output formats: table (default), brief, json
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/list-tasks.sh --format json
# JSON output includes: id, status, type, priority, title, created, updated, blocked_by, blocks
# Use with jq for advanced queries:
# List by priority with dependencies
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/list-tasks.sh --format json --sort priority | jq -r '
["ID", "PRIORITY", "STATUS", "BLOCKED_BY", "BLOCKS"],
(.[] | [.id, .priority, .status, (.blocked_by | join(",")), (.blocks | join(","))]) | @tsv
' | column -t
# Find blocked tasks
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/list-tasks.sh --format json | jq '.[] | select(.blocked_by | length > 0)'
# Find tasks blocking others
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/list-tasks.sh --format json | jq '.[] | select(.blocks | length > 0)'
Count tasks with optional grouping.
# Total count (active tasks)
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/count-tasks.sh
# Count by status
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/count-tasks.sh --by status
# Count by type
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/count-tasks.sh --by type
# Count by priority
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/count-tasks.sh --by priority
# Count by prefix
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/count-tasks.sh --by prefix
# Count only READY tasks by type
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/count-tasks.sh --status READY --by type
# JSON output
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/count-tasks.sh --by status --format json
Create a new task with auto-generated ID.
# Minimal: creates BACKLOG task with MEDIUM priority
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/create-task.sh FW "New feature implementation"
# With options
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/create-task.sh FW "Implement caching" \
--status READY \
--type CAPABILITY \
--priority HIGH \
--description "Add caching layer to improve performance" \
--objective "Response times under 100ms" \
--rationale "Current response times are 500ms+"
# With dependencies
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/create-task.sh FW "Deploy to production" \
--blocked-by "FW-015,FW-016" \
--status BLOCKED
# Use specific ID
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/create-task.sh FW "Specific task" --id FW-099
Output: Prints the created task ID (e.g., FW-018)
Get the next available ID for a prefix.
# Returns next available ID (e.g., FW-018)
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/next-id.sh FW
# Works with any valid prefix
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/next-id.sh SH
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/next-id.sh DOC
Present a task status summary with counts and highlights.
# Show summary (table format)
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/task-summary.sh
# JSON output
${CLAUDE_PLUGIN_ROOT}/skills/dialogue-manage-tasks/scripts/task-summary.sh --format json
Output includes:
For operations not covered by scripts, edit task files directly:
.dialogue/tasks/{ID}.yamlstatus fieldupdated timestampcompleted timestampnotes with contextnotes: |
Previous notes...
Progress 14 January 2026:
- What was done
- What was decided
| Aspect | TodoWrite | Task Files |
|---|---|---|
| Scope | Session | Cross-session |
| Storage | In-memory | .dialogue/tasks/*.yaml |
| Use case | "Do X, Y, Z now" | "FW-006 tracks this feature" |
Tasks externalise directory knowledge, allocation, and history—enabling AI to "rejoin" ongoing work across sessions.
Each task is a separate file, enabling:
Always commit and push immediately after creating or updating a task. This ensures team visibility and prevents conflicts from concurrent work on the same task.
git add .dialogue/tasks/<ID>.yaml && git commit -m "<ID>: <brief description>" && git push
Structured design dialogue that validates ideas before implementation begins.
Comprehensive design intelligence for web and mobile UI/UX across 10 technology stacks.
Comprehensive implementation plans for multi-step tasks, breaking down specs into bite-sized, testable steps.
Introduction to the obra skills system with mandatory skill invocation rules and best practices.
Execute a written implementation plan with critical review and task checkpoints.
Delegate independent tasks to specialized agents working concurrently with isolated context.
Isolated git worktrees with smart directory selection and safety verification.
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
Plan searchable and shareable content that drives traffic, builds authority, and generates leads.
README-first repository scanner that extracts commands and classifies reproduction candidates without executing them.
Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.
Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.
The world's fastest calendar for remote work
Capture, organize, and utilize your knowledge effortlessly.
Instant Summaries of Audio & Video Interviews with AnySummary
Transform PDFs into engaging mind maps.
Chat with any PDF instantly
Create an optimal daily plan using your voice
A productivity platform to centralize organizational knowledge and workflows with contextual AI assistance.
AskYourPDF Pricing Plans: Tailored to Your Needs