| description | Comprehensive task management workflow using KNOT CLI tool. This skill provides systematic guidance for project and task management, ensuring every piece of work is documented, tracked, and completed with proper dependencies. Use when managing any complex project that requires structured task tracking, dependency management, and systematic workflow organization. |
| name | knot-task-management |
KNOT Task Management Skill
This skill provides comprehensive guidance for systematic project and task management using the KNOT CLI tool. KNOT serves as the single source of truth for all project management activities.
Installation
Before using KNOT for task management, you need to install the tool:
go install github.com/denkhaus/knot/cmd/knot@latest
This installs the KNOT CLI tool globally on your system. After installation, you can verify it's working with:
knot --help
Database and Version Control
KNOT Database Location
- KNOT stores all project and task data in a
.knotdirectory in your workspace - This directory contains the complete project management memory and history
- IMPORTANT: Always commit the
.knotdirectory to Git to preserve project management knowledge
Why Version Control .knot Directory
- Project Memory: Maintains complete history of all tasks, decisions, and progress
- Next Steps: Documents what needs to be done next when returning to a project
- Roadmap: Provides historical context and project evolution
- Team Collaboration: Enables team members to understand project history and current state
- Continuity: Prevents loss of project management knowledge across time and team changes
Git Configuration
Add the .knot directory to your Git repository:
# Add .knot directory to Git
git add .knot/
# Commit the project management data
git commit -m "Add KNOT project management database"
# Push to preserve project memory
git push
Circular Dependency Prevention
KNOT automatically prevents circular dependencies:
- The tool detects and blocks attempts to create circular dependency chains
- This ensures tasks can always be completed in a logical order
- No manual dependency cycle checking is required
Core Principles
1. Document Everything Before Starting
- NEVER begin work without creating a task first
- ALWAYS document work as tasks in KNOT before implementation
- EVERY decision, bug fix, and feature must have a corresponding task
2. Maintain Real-Time State Updates
- Update task to
in-progressimmediately when starting work - Update task to
completedimmediately when finishing work - NEVER let task states become stale
3. Break Down Complex Work
- Tasks with complexity ≥8 MUST be broken down into subtasks
- Use
knot status breakdownto identify tasks needing breakdown - Create hierarchical task structures for complex projects
4. Dependency Management
- ALWAYS set dependencies between related tasks
- Use
knot dependency addto link tasks that depend on each other - Dependencies ensure proper task execution order
Essential Workflow Commands
Project Setup
# Create new project
knot project create --title "Project Name" --description "Detailed project description"
# Select active project (REQUIRED before task operations)
knot project select --id <project-id>
# Verify selected project
knot project get-selected
Task Creation and Management
# Create new task
knot task create --title "Task Title" --description "Detailed task description" --complexity 5
# Create subtask under parent task
knot task create --parent-id <parent-task-id> --title "Subtask Title" --complexity 3
# Update task state (consolidated update command)
knot task update --id <task-id> --state in-progress
knot task update --id <task-id> --state completed
# List tasks with hierarchy
knot task list --depth-max 3
Dependency and Workflow Management
# Add dependency (Task A depends on Task B)
knot dependency add --task-id <task-a-id> --depends-on <task-b-id>
# Find next actionable tasks
knot status actionable
# Check tasks needing breakdown
knot status breakdown
# See blocked tasks
knot status blocked
# Check ready tasks
knot status ready
Task Complexity Guidelines
Complexity Levels
- 1-3: Simple tasks (quick fixes, small documentation updates)
- 4-6: Standard tasks (feature implementation, testing)
- 7-8: Complex tasks (require planning, multiple components)
- 9-10: Very complex tasks (MUST be broken down immediately)
Breakdown Rules
- Tasks ≥8 complexity MUST be broken down before starting
- Use subtasks to create manageable work units
- Maintain logical dependencies between subtasks
Systematic Work Workflow
Before Any Work
- Check current project:
knot project get-selected - Create task if not exists:
knot task create - Set dependencies if needed:
knot dependency add - Check for breakdown:
knot status breakdown - Break down complex tasks if required
Starting Work
- Find next task:
knot status actionable - Update state:
knot task update --id <task-id> --state in-progress - Work on task systematically
During Work
- Watch for new work items that emerge
- Create new tasks immediately for discovered work
- Set dependencies between new and existing tasks
- Continue with current task
Completing Work
- Verify task completion fully
- Update state:
knot task update --id <task-id> --state completed - Check next actionable:
knot status actionable - Continue systematic workflow
Dynamic Task Creation Patterns
When to Create New Tasks
IMMEDIATELY create new tasks when:
- New requirements emerge during implementation
- Bugs are discovered that need fixing
- Architecture decisions are needed
- Testing requirements are identified
- Documentation updates become necessary
- Performance optimizations are discovered
- Security issues are found
- Refactoring becomes necessary
Task Creation Examples
# While implementing Feature X, discover need for Y
knot task create --title "Implement requirement Y" --description "Discovered during Feature X implementation" --complexity 5
# Create dependency relationship
knot dependency add --task-id <feature-y-id> --depends-on <feature-x-id>
Multi-Level Task Hierarchies
Project Structure Example
Project: Web Application Development
├── Task: Database Setup (Complexity: 6)
├── Task: Authentication System (Complexity: 9)
│ ├── Subtask: User Model Design (Complexity: 4)
│ ├── Subtask: JWT Implementation (Complexity: 6)
│ │ ├── Sub-Subtask: Token Generation Logic (Complexity: 3)
│ │ ├── Sub-Subtask: Token Validation Middleware (Complexity: 4)
│ │ └── Sub-Subtask: Token Refresh Mechanism (Complexity: 5)
│ └── Subtask: Authentication Endpoints (Complexity: 8)
│ ├── Sub-Subtask: Registration Endpoint (Complexity: 4)
│ ├── Sub-Subtask: Login Endpoint (Complexity: 5)
│ ├── Sub-Subtask: Logout Endpoint (Complexity: 3)
│ └── Sub-Subtask: Password Reset Flow (Complexity: 7)
│ ├── Sub-Subtask: Reset Request Handler (Complexity: 3)
│ ├── Sub-Subtask: Secure Token Generation (Complexity: 4)
│ ├── Sub-Subtask: Email Service Integration (Complexity: 5)
│ └── Sub-Subtask: Password Update Logic (Complexity: 4)
│
├── Task: API Development (Complexity: 8)
│ ├── Subtask: User CRUD Operations (Complexity: 5)
│ │ ├── Sub-Subtask: Create User Endpoint (Complexity: 3)
│ │ ├── Sub-Subtask: Read User Endpoint (Complexity: 2)
│ │ ├── Sub-Subtask: Update User Endpoint (Complexity: 4)
│ │ └── Sub-Subtask: Delete User Endpoint (Complexity: 3)
│ └── Subtask: Data Validation (Complexity: 4)
│ ├── Sub-Subtask: Input Sanitization (Complexity: 3)
│ └── Sub-Subtask: Validation Rules Engine (Complexity: 4)
└── Task: Frontend Development (Complexity: 7)
├── Subtask: React Components (Complexity: 6)
│ ├── Sub-Subtask: User Authentication Components (Complexity: 4)
│ ├── Sub-Subtask: Dashboard Components (Complexity: 5)
│ └── Sub-Subtask: Form Components (Complexity: 3)
└── Subtask: State Management (Complexity: 5)
├── Sub-Subtask: Redux Store Setup (Complexity: 3)
└── Sub-Subtask: API Integration Layer (Complexity: 4)
Multi-Level Hierarchy Benefits
Multi Level Depth: KNOT supports multiple levels of task hierarchy, allowing you to break down work across several levels as needed.
Progressive Refinement: Start with high-level tasks and progressively break them down into more detailed subtasks as you understand the requirements better.
Flexible Granularity: Different parts of your project can have different levels of detail based on their complexity and current understanding.
Clear Responsibility: Each level can represent different scopes - epics, features, user stories, technical tasks, or implementation details.
Hierarchical Workflow
- Start with high-level planning tasks
- Break down complex tasks into subtasks
- Set dependencies between levels
- Work through actionable tasks systematically
- Use
knot status actionableto find next ready task
Dependency Management Best Practices
Dependency Types
- Sequential: Task B requires Task A completion
- Prerequisite: Task B needs Task A output/resources
- Blocking: Task A blocks Task B progress
Dependency Guidelines
- Minimize circular dependencies
- Create clear dependency chains
- Document dependency reasons in task descriptions
- Review dependencies regularly
Templates for Common Workflows
Feature Development Template
knot task create --title "Research: Feature X" --complexity 3
knot task create --title "Design: Feature X" --complexity 4
knot task create --title "Implementation: Feature X" --complexity 7
knot task create --title "Testing: Feature X" --complexity 5
knot task create --title "Documentation: Feature X" --complexity 3
# Set dependencies
knot dependency add --task-id <design-id> --depends-on <research-id>
knot dependency add --task-id <implementation-id> --depends-on <design-id>
knot dependency add --task-id <testing-id> --depends-on <implementation-id>
knot dependency add --task-id <documentation-id> --depends-on <testing-id>
Bug Fix Template
knot task create --title "Investigation: Bug Description" --complexity 4
knot task create --title "Root Cause Analysis" --complexity 5
knot task create --title "Fix Implementation" --complexity 6
knot task create --title "Testing & Verification" --complexity 4
# Set dependencies
knot dependency add --task-id <root-cause-id> --depends-on <investigation-id>
knot dependency add --task-id <fix-id> --depends-on <root-cause-id>
knot dependency add --task-id <testing-id> --depends-on <fix-id>
Continuous Workflow Management
Daily Workflow Routine
- Morning check:
knot status actionableto see ready tasks - Work systematically through actionable tasks
- Create new tasks as work emerges
- Update states immediately when starting/finishing
- Evening review: Check project progress and tomorrow's tasks
Project Health Monitoring
# Check project progress
knot project get --id <project-id>
# Review blocked tasks
knot status blocked
# Identify tasks needing breakdown
knot status breakdown
# Review overall task structure
knot task list --depth-max 3
Critical Rules Summary
MUST DO
- Always create task before starting work
- Update task state immediately when starting work
- Update task state immediately when completing work
- Break down tasks with complexity ≥8
- Set dependencies between related tasks
- Use KNOT as single source of truth
- Check
knot status actionableto find next task
NEVER DO
- Start work without creating a task
- Let task states become stale
- Ignore tasks needing breakdown
- Work without setting dependencies
- Keep project information outside KNOT
Integration with Development Workflow
Before Writing Code
- Select project:
knot project get-selected - Create implementation task:
knot task create - Check dependencies:
knot status actionable - Set task in-progress:
knot task update --state in-progress
During Development
- Watch for emerging work
- Create tasks for discovered requirements
- Maintain dependency relationships
- Keep task states current
After Completion
- Verify work completion
- Update task state:
knot task update --state completed - Check next task:
knot status actionable - Continue systematic workflow
Troubleshooting Common Issues
No Actionable Tasks
- Run
knot status blockedto see what's blocking progress - Run
knot status breakdownto check if tasks need breaking down - Review project structure with
knot task list
Complex Task Management
- Use
knot status breakdownregularly - Create subtasks for complex work
- Set clear dependencies between subtasks
Dependency Conflicts
- Review dependency chains
- Remove unnecessary dependencies
- Ensure clear task relationships
This skill ensures systematic, traceable, and complete project management using KNOT as the central authority for all work tracking and execution.