suggest-tasks
Discover all actionable tasks in the current project and add them to the task list
SKILL.md
| Name | suggest-tasks |
| Description | Discover all actionable tasks in the current project and add them to the task list |
name: suggest-tasks displayName: Suggest Project Tasks description: Discover all actionable tasks in the current project and add them to the task list version: 1.0.0 tags: [productivity, tasks, project-management, analysis]
Suggest Project Tasks
Performs comprehensive project analysis and creates tasks for everything that needs attention.
What It Analyzes
Universal (All Projects)
- Git status: uncommitted changes, branches, stashes, conflicts
- TODO/FIXME/HACK comments: code annotations needing attention
- Test coverage: missing tests, failing tests
- Dependencies: outdated packages, security vulnerabilities
- Documentation: missing README sections, API docs
- Security: hardcoded secrets, common vulnerabilities
Framework-Specific
Rails/Ruby:
- Pending migrations
- Missing model/controller specs
- N+1 query patterns
- Missing foreign key indexes
- Route configuration issues
Node.js/TypeScript:
- TypeScript type errors
- ESLint/Prettier configuration
- Bundle size concerns
- Missing type definitions
- React/Next.js specific issues
Python:
- Mypy type checking
- Missing docstrings
- Django/FastAPI/Flask specific issues
- Common anti-patterns
Rust:
- Clippy warnings
- Missing documentation
- Unsafe code review
- Test coverage
Instructions
When the user runs /suggest-tasks, perform these steps:
Step 1: Check for Existing Scan Results
Look for cached scan results at /tmp/project-scan-*.json. If recent (< 5 minutes), use those results. Otherwise, run a fresh scan.
Step 2: Detect Project Type
Run the project detection to identify what kind of project this is:
~/.claude/hooks/analyzers/detect-project.sh .
Step 3: Run Analyzers
Based on the project type, run the appropriate analyzers. Always run the universal analyzers:
~/.claude/hooks/analyzers/analyze-git.sh .
~/.claude/hooks/analyzers/analyze-todos.sh .
~/.claude/hooks/analyzers/analyze-tests.sh .
~/.claude/hooks/analyzers/analyze-deps.sh .
~/.claude/hooks/analyzers/analyze-docs.sh .
~/.claude/hooks/analyzers/analyze-security.sh .
Then run framework-specific analyzers based on detected types:
- Rails/Ruby:
~/.claude/hooks/analyzers/analyze-rails.sh . - Node/TypeScript:
~/.claude/hooks/analyzers/analyze-node.sh . - Python:
~/.claude/hooks/analyzers/analyze-python.sh . - Rust:
~/.claude/hooks/analyzers/analyze-rust.sh .
Step 4: Parse Results
Each analyzer outputs JSON lines in this format:
{"category": "git", "task": "Task title", "description": "Details", "priority": "high|medium|low|critical"}
Collect all results and group by category.
Step 5: Create Tasks
For each discovered item, use TaskCreate to add it to the task list:
TaskCreate:
subject: "[category] Task title"
description: "Details from analyzer"
activeForm: "Checking task..."
Step 6: Present Summary
After creating tasks, present a summary grouped by category:
## Project Analysis Complete
**Project Type:** Rails, TypeScript
**Tasks Created:** 24
### By Category:
#### Git & Version Control (3 tasks)
- [ ] Commit staged changes (high)
- [ ] Clean up merged branches (low)
- [ ] Push unpushed commits (medium)
#### Code Quality (5 tasks)
- [ ] Resolve 12 TODO comments (medium)
- [ ] Fix 3 FIXME comments (high)
...
#### Security (2 tasks)
- [ ] Review potential hardcoded secrets (critical)
- [ ] Update .gitignore for secrets (high)
...
Filtering
If the user provides a filter argument, only show tasks matching that category:
/suggest-tasks git- Only git-related tasks/suggest-tasks security- Only security tasks/suggest-tasks rails- Only Rails-specific tasks/suggest-tasks node- Only Node.js-specific tasks/suggest-tasks python- Only Python-specific tasks/suggest-tasks rust- Only Rust-specific tasks/suggest-tasks todos- Only TODO/FIXME tasks/suggest-tasks tests- Only test-related tasks/suggest-tasks deps- Only dependency tasks/suggest-tasks docs- Only documentation tasks
Priority Levels
Tasks are assigned priorities based on urgency:
- critical: Merge conflicts, security vulnerabilities, missing CSRF protection
- high: Hardcoded secrets, pending migrations, type errors, bugs
- medium: TODO comments, outdated dependencies, missing tests
- low: Documentation gaps, code style, optimization suggestions
Notes
- If this is not a recognized project type (no package.json, Gemfile, Cargo.toml, etc.), inform the user
- The scan caches results to
/tmp/project-scan-*.jsonfor reuse - Tasks are deduplicated if the same task already exists in the task list
- Focus on actionable items that can be worked on in the current session