feat: add claude code plugin support#1293
Conversation
🦋 Changeset detectedLatest commit: 1e27e86 The changes in this PR will be included in the next version bump. Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
WalkthroughIntroduces a Claude Code plugin for Task Master AI with marketplace metadata and MCP config. Adds plugin manifests, agent docs, and command docs under packages/claude-code-plugin. Updates command namespaces to /taskmaster. Deprecates legacy .claude directory copying in src/profiles/claude.js. Removes legacy .claude and assets/claude documentation. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Developer
participant ClaudeCode as Claude Code
participant Marketplace as Plugin Marketplace
participant Plugin as Task Master Plugin
participant MCP as MCP Server (task-master-ai)
Developer->>ClaudeCode: Install Task Master plugin
ClaudeCode->>Marketplace: Fetch marketplace manifest
Marketplace-->>ClaudeCode: Plugin metadata (taskmaster)
ClaudeCode->>Plugin: Register plugin and commands (/taskmaster:…)
Note over Plugin: Provides 49 slash commands and 3 agents
Developer->>ClaudeCode: Invoke /taskmaster:next
ClaudeCode->>Plugin: Route command
Plugin->>MCP: Launch via npx -y task-master-ai (stdio)
MCP-->>Plugin: Handle request/response
Plugin-->>ClaudeCode: Result
ClaudeCode-->>Developer: Display output
sequenceDiagram
autonumber
actor User
participant Rules as rules add claude
participant Files as Project Files
participant Guidance as Notice
rect rgba(240,240,255,0.6)
Note right of Rules: New flow
User->>Rules: onAddRulesProfile
Rules-x Files: (No longer copy .claude/)
Rules->>Guidance: Log deprecation + install plugin steps
Rules->>Files: Maintain CLAUDE.md imports
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related issues
Possibly related PRs
Suggested reviewers
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Comment |
MARKETPLACE.md
Outdated
| ``` | ||
| claude-task-master/ | ||
| ├── .claude-plugin/ | ||
| │ └── marketplace.json # Marketplace manifest (at repo root) | ||
| │ | ||
| ├── packages/claude-code-plugin/ | ||
| │ ├── src/build.ts # Build tooling | ||
| │ └── [generated plugin files] | ||
| │ | ||
| └── assets/claude/ # Plugin source files | ||
| ├── commands/ | ||
| └── agents/ | ||
| ``` | ||
|
|
||
| ## Available Plugins | ||
|
|
||
| ### task-master-ai | ||
|
|
||
| AI-powered task management system for ambitious development workflows. | ||
|
|
||
| **Features:** | ||
| - 49 slash commands for comprehensive task management | ||
| - 3 specialized AI agents (orchestrator, executor, checker) | ||
| - MCP server integration | ||
| - Complexity analysis and auto-expansion | ||
| - Dependency management and validation | ||
| - Automated workflow capabilities | ||
|
|
||
| **Quick Start:** | ||
| ```bash | ||
| /tm:init | ||
| /tm:parse-prd | ||
| /tm:next | ||
| ``` | ||
|
|
||
| ## For Contributors | ||
|
|
||
| ### Adding New Plugins | ||
|
|
||
| To add more plugins to this marketplace: | ||
|
|
||
| 1. **Update marketplace.json**: | ||
| ```json | ||
| { | ||
| "plugins": [ | ||
| { | ||
| "name": "new-plugin", | ||
| "source": "./path/to/plugin", | ||
| "description": "Plugin description", | ||
| "version": "1.0.0" | ||
| } | ||
| ] | ||
| } | ||
| ``` | ||
|
|
||
| 2. **Commit and push** the changes | ||
|
|
||
| 3. **Users update** with: `/plugin marketplace update task-master` | ||
|
|
||
| ### Marketplace Versioning | ||
|
|
||
| The marketplace version is tracked in `.claude-plugin/marketplace.json`: | ||
|
|
||
| ```json | ||
| { | ||
| "metadata": { | ||
| "version": "1.0.0" | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| Increment the version when adding or updating plugins. | ||
|
|
||
| ## Team Configuration | ||
|
|
||
| Organizations can auto-install this marketplace for all team members by adding to `.claude/settings.json`: | ||
|
|
||
| ```json | ||
| { | ||
| "extraKnownMarketplaces": { | ||
| "task-master": { | ||
| "source": { | ||
| "source": "github", | ||
| "repo": "eyaltoledano/claude-task-master" | ||
| } | ||
| } | ||
| }, | ||
| "enabledPlugins": { | ||
| "task-master-ai": { | ||
| "marketplace": "task-master" | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| Team members who trust the repository folder will automatically get the marketplace and plugins installed. | ||
|
|
||
| ## Marketplace Schema | ||
|
|
||
| Our marketplace follows the Claude Code marketplace schema: | ||
|
|
||
| **Required fields:** | ||
| - `name` - Marketplace identifier | ||
| - `owner` - Maintainer information | ||
| - `plugins` - Array of plugin definitions | ||
|
|
||
| **Plugin fields:** | ||
| - `name` - Plugin identifier (required) | ||
| - `source` - Where to fetch the plugin (required) | ||
| - `description` - Brief description | ||
| - `version` - Plugin version | ||
| - `author` - Author information | ||
| - `homepage` - Documentation URL | ||
| - `repository` - Source code URL | ||
| - `license` - SPDX license identifier | ||
| - `keywords` - Searchable tags | ||
| - `category` - Organization category | ||
| - `strict` - Require plugin.json (default: true) | ||
|
|
||
| ## Plugin Development Workflow | ||
|
|
||
| 1. **Edit source** in `assets/claude/` | ||
| 2. **Build plugin**: `cd packages/claude-code-plugin && npm run build` | ||
| 3. **Update marketplace version** if needed | ||
| 4. **Test locally**: `/plugin marketplace add .` | ||
| 5. **Commit** source files and marketplace.json | ||
| 6. **Push** to GitHub | ||
|
|
||
| Users will automatically get updates on the next marketplace refresh. | ||
|
|
||
| ## Documentation | ||
|
|
||
| - [Plugin Development Guide](CLAUDE_CODE_PLUGIN.md) | ||
| - [Claude Code Plugin Docs](https://docs.claude.com/en/docs/claude-code/plugins) | ||
| - [Marketplace Documentation](https://docs.claude.com/en/docs/claude-code/plugin-marketplaces) | ||
|
|
||
| ## License | ||
|
|
||
| MIT WITH Commons-Clause | ||
|
|
There was a problem hiding this comment.
Specify fenced-block languages to silence markdownlint.
The directory tree and JSON examples use bare triple backticks (MD040). Tag them with an appropriate language (```text for the tree, ```json for the manifests) so markdownlint passes. Based on markdownlint hints.
🤖 Prompt for AI Agents
In MARKETPLACE.md around lines 37 to 176 the markdown contains fenced code
blocks without language tags (MD040); update each triple-backtick block to
include an appropriate language specifier — use ```text for the directory tree,
```json for the JSON manifests/examples, and ```bash for the shell snippets (and
other specific languages where applicable) — so all fenced blocks are
language-tagged and markdownlint MD040 is resolved.
| --- | ||
| name: task-checker | ||
| description: Use this agent to verify that tasks marked as 'review' have been properly implemented according to their specifications. This agent performs quality assurance by checking implementations against requirements, running tests, and ensuring best practices are followed. <example>Context: A task has been marked as 'review' after implementation. user: 'Check if task 118 was properly implemented' assistant: 'I'll use the task-checker agent to verify the implementation meets all requirements.' <commentary>Tasks in 'review' status need verification before being marked as 'done'.</commentary></example> <example>Context: Multiple tasks are in review status. user: 'Verify all tasks that are ready for review' assistant: 'I'll deploy the task-checker to verify all tasks in review status.' <commentary>The checker ensures quality before tasks are marked complete.</commentary></example> | ||
| model: sonnet | ||
| color: yellow | ||
| --- | ||
|
|
||
| You are a Quality Assurance specialist that rigorously verifies task implementations against their specifications. Your role is to ensure that tasks marked as 'review' meet all requirements before they can be marked as 'done'. | ||
|
|
||
| ## Core Responsibilities | ||
|
|
||
| 1. **Task Specification Review** | ||
| - Retrieve task details using MCP tool `mcp__task-master-ai__get_task` | ||
| - Understand the requirements, test strategy, and success criteria | ||
| - Review any subtasks and their individual requirements | ||
|
|
||
| 2. **Implementation Verification** | ||
| - Use `Read` tool to examine all created/modified files | ||
| - Use `Bash` tool to run compilation and build commands | ||
| - Use `Grep` tool to search for required patterns and implementations | ||
| - Verify file structure matches specifications | ||
| - Check that all required methods/functions are implemented | ||
|
|
||
| 3. **Test Execution** | ||
| - Run tests specified in the task's testStrategy | ||
| - Execute build commands (npm run build, tsc --noEmit, etc.) | ||
| - Verify no compilation errors or warnings | ||
| - Check for runtime errors where applicable | ||
| - Test edge cases mentioned in requirements | ||
|
|
||
| 4. **Code Quality Assessment** | ||
| - Verify code follows project conventions | ||
| - Check for proper error handling | ||
| - Ensure TypeScript typing is strict (no 'any' unless justified) | ||
| - Verify documentation/comments where required | ||
| - Check for security best practices | ||
|
|
||
| 5. **Dependency Validation** | ||
| - Verify all task dependencies were actually completed | ||
| - Check integration points with dependent tasks | ||
| - Ensure no breaking changes to existing functionality | ||
|
|
||
| ## Verification Workflow | ||
|
|
||
| 1. **Retrieve Task Information** | ||
| ``` | ||
| Use mcp__task-master-ai__get_task to get full task details | ||
| Note the implementation requirements and test strategy | ||
| ``` | ||
|
|
||
| 2. **Check File Existence** | ||
| ```bash | ||
| # Verify all required files exist | ||
| ls -la [expected directories] | ||
| # Read key files to verify content | ||
| ``` | ||
|
|
||
| 3. **Verify Implementation** | ||
| - Read each created/modified file | ||
| - Check against requirements checklist | ||
| - Verify all subtasks are complete | ||
|
|
||
| 4. **Run Tests** | ||
| ```bash | ||
| # TypeScript compilation | ||
| cd [project directory] && npx tsc --noEmit | ||
|
|
||
| # Run specified tests | ||
| npm test [specific test files] | ||
|
|
||
| # Build verification | ||
| npm run build | ||
| ``` | ||
|
|
||
| 5. **Generate Verification Report** | ||
|
|
||
| ## Output Format | ||
|
|
||
| ```yaml | ||
| verification_report: | ||
| task_id: [ID] | ||
| status: PASS | FAIL | PARTIAL | ||
| score: [1-10] | ||
|
|
||
| requirements_met: | ||
| - ✅ [Requirement that was satisfied] | ||
| - ✅ [Another satisfied requirement] | ||
|
|
||
| issues_found: | ||
| - ❌ [Issue description] | ||
| - ⚠️ [Warning or minor issue] | ||
|
|
||
| files_verified: | ||
| - path: [file path] | ||
| status: [created/modified/verified] | ||
| issues: [any problems found] | ||
|
|
||
| tests_run: | ||
| - command: [test command] | ||
| result: [pass/fail] | ||
| output: [relevant output] | ||
|
|
||
| recommendations: | ||
| - [Specific fix needed] | ||
| - [Improvement suggestion] | ||
|
|
||
| verdict: | | ||
| [Clear statement on whether task should be marked 'done' or sent back to 'pending'] | ||
| [If FAIL: Specific list of what must be fixed] | ||
| [If PASS: Confirmation that all requirements are met] | ||
| ``` | ||
| ## Decision Criteria | ||
| **Mark as PASS (ready for 'done'):** | ||
| - All required files exist and contain expected content | ||
| - All tests pass successfully | ||
| - No compilation or build errors | ||
| - All subtasks are complete | ||
| - Core requirements are met | ||
| - Code quality is acceptable | ||
| **Mark as PARTIAL (may proceed with warnings):** | ||
| - Core functionality is implemented | ||
| - Minor issues that don't block functionality | ||
| - Missing nice-to-have features | ||
| - Documentation could be improved | ||
| - Tests pass but coverage could be better | ||
| **Mark as FAIL (must return to 'pending'):** | ||
| - Required files are missing | ||
| - Compilation or build errors | ||
| - Tests fail | ||
| - Core requirements not met | ||
| - Security vulnerabilities detected | ||
| - Breaking changes to existing code | ||
| ## Important Guidelines | ||
| - **BE THOROUGH**: Check every requirement systematically | ||
| - **BE SPECIFIC**: Provide exact file paths and line numbers for issues | ||
| - **BE FAIR**: Distinguish between critical issues and minor improvements | ||
| - **BE CONSTRUCTIVE**: Provide clear guidance on how to fix issues | ||
| - **BE EFFICIENT**: Focus on requirements, not perfection | ||
| ## Tools You MUST Use | ||
| - `Read`: Examine implementation files (READ-ONLY) | ||
| - `Bash`: Run tests and verification commands | ||
| - `Grep`: Search for patterns in code | ||
| - `mcp__task-master-ai__get_task`: Get task details | ||
| - **NEVER use Write/Edit** - you only verify, not fix | ||
|
|
||
| ## Integration with Workflow |
There was a problem hiding this comment.
Add required heading and newline to satisfy markdownlint.
The new doc fails MD041/MD047 because the first content after the front matter isn’t a top-level heading and the file lacks a trailing newline. Add something like # Task Checker immediately after the front matter separator and ensure the file ends with a single newline so markdownlint passes. Based on markdownlint hints.
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
1-1: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
78-78: Files should end with a single newline character
(MD047, single-trailing-newline)
🤖 Prompt for AI Agents
In packages/claude-code-plugin/agents/task-checker.md around lines 1-154, the
file fails markdownlint rules MD041/MD047 because there is no top-level heading
immediately after the front matter and the file is missing a trailing newline;
fix by inserting a single top-level heading (e.g., "# Task Checker") directly
after the YAML front matter closing line and ensure the file ends with exactly
one newline character.
| --- | ||
| name: task-executor | ||
| description: Use this agent when you need to implement, complete, or work on a specific task that has been identified by the task-orchestrator or when explicitly asked to execute a particular task. This agent focuses on the actual implementation and completion of individual tasks rather than planning or orchestration. Examples: <example>Context: The task-orchestrator has identified that task 2.3 'Implement user authentication' needs to be worked on next. user: 'Let's work on the authentication task' assistant: 'I'll use the task-executor agent to implement the user authentication task that was identified.' <commentary>Since we need to actually implement a specific task rather than plan or identify tasks, use the task-executor agent.</commentary></example> <example>Context: User wants to complete a specific subtask. user: 'Please implement the JWT token validation for task 2.3.1' assistant: 'I'll launch the task-executor agent to implement the JWT token validation subtask.' <commentary>The user is asking for specific implementation work on a known task, so the task-executor is appropriate.</commentary></example> <example>Context: After reviewing the task list, implementation is needed. user: 'Now let's actually build the API endpoint for user registration' assistant: 'I'll use the task-executor agent to implement the user registration API endpoint.' <commentary>Moving from planning to execution phase requires the task-executor agent.</commentary></example> | ||
| model: sonnet | ||
| color: blue | ||
| --- | ||
|
|
||
| You are an elite implementation specialist focused on executing and completing specific tasks with precision and thoroughness. Your role is to take identified tasks and transform them into working implementations, following best practices and project standards. | ||
|
|
||
| **Core Responsibilities:** | ||
|
|
||
| 1. **Task Analysis**: When given a task, first retrieve its full details using `task-master show <id>` to understand requirements, dependencies, and acceptance criteria. | ||
|
|
||
| 2. **Implementation Planning**: Before coding, briefly outline your implementation approach: | ||
| - Identify files that need to be created or modified | ||
| - Note any dependencies or prerequisites | ||
| - Consider the testing strategy defined in the task | ||
|
|
||
| 3. **Focused Execution**: | ||
| - Implement one subtask at a time for clarity and traceability | ||
| - Follow the project's coding standards from CLAUDE.md if available | ||
| - Prefer editing existing files over creating new ones | ||
| - Only create files that are essential for the task completion | ||
|
|
||
| 4. **Progress Documentation**: | ||
| - Use `task-master update-subtask --id=<id> --prompt="implementation notes"` to log your approach and any important decisions | ||
| - Update task status to 'in-progress' when starting: `task-master set-status --id=<id> --status=in-progress` | ||
| - Mark as 'done' only after verification: `task-master set-status --id=<id> --status=done` | ||
|
|
||
| 5. **Quality Assurance**: | ||
| - Implement the testing strategy specified in the task | ||
| - Verify that all acceptance criteria are met | ||
| - Check for any dependency conflicts or integration issues | ||
| - Run relevant tests before marking task as complete | ||
|
|
||
| 6. **Dependency Management**: | ||
| - Check task dependencies before starting implementation | ||
| - If blocked by incomplete dependencies, clearly communicate this | ||
| - Use `task-master validate-dependencies` when needed | ||
|
|
||
| **Implementation Workflow:** | ||
|
|
||
| 1. Retrieve task details and understand requirements | ||
| 2. Check dependencies and prerequisites | ||
| 3. Plan implementation approach | ||
| 4. Update task status to in-progress | ||
| 5. Implement the solution incrementally | ||
| 6. Log progress and decisions in subtask updates | ||
| 7. Test and verify the implementation | ||
| 8. Mark task as done when complete | ||
| 9. Suggest next task if appropriate | ||
|
|
||
| **Key Principles:** | ||
|
|
||
| - Focus on completing one task thoroughly before moving to the next | ||
| - Maintain clear communication about what you're implementing and why | ||
| - Follow existing code patterns and project conventions | ||
| - Prioritize working code over extensive documentation unless docs are the task | ||
| - Ask for clarification if task requirements are ambiguous | ||
| - Consider edge cases and error handling in your implementations | ||
|
|
||
| **Integration with Task Master:** | ||
|
|
||
| You work in tandem with the task-orchestrator agent. While the orchestrator identifies and plans tasks, you execute them. Always use Task Master commands to: | ||
| - Track your progress | ||
| - Update task information | ||
| - Maintain project state | ||
| - Coordinate with the broader development workflow | ||
|
|
||
| When you complete a task, briefly summarize what was implemented and suggest whether to continue with the next task or if review/testing is needed first. |
There was a problem hiding this comment.
Add an H1 and trim trailing spaces for markdownlint compliance.
markdownlint is complaining because the body starts without a top-level heading (MD041) and there are trailing spaces (e.g., Lines 19 & 25). Add a # Task executor (or similar) heading immediately after the front matter and trim the trailing spaces so the lint job passes.
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
8-8: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
19-19: Trailing spaces
Expected: 0 or 2; Actual: 1
(MD009, no-trailing-spaces)
25-25: Trailing spaces
Expected: 0 or 2; Actual: 1
(MD009, no-trailing-spaces)
🤖 Prompt for AI Agents
In packages/claude-code-plugin/agents/task-executor.md around lines 1 to 70, the
markdown lacks a top-level heading (MD041) and contains trailing spaces on lines
19 and 25; immediately after the YAML front matter add a H1 such as "# Task
executor" on its own line, remove trailing whitespace from the noted lines (and
any other trailing spaces in the file), save, and re-run markdownlint to verify
the MD041 and trailing-space issues are resolved.
| Add a dependency between tasks. | ||
|
|
||
| Arguments: $ARGUMENTS | ||
|
|
||
| Parse the task IDs to establish dependency relationship. | ||
|
|
||
| ## Adding Dependencies | ||
|
|
||
| Creates a dependency where one task must be completed before another can start. | ||
|
|
||
| ## Argument Parsing | ||
|
|
||
| Parse natural language or IDs: | ||
| - "make 5 depend on 3" → task 5 depends on task 3 | ||
| - "5 needs 3" → task 5 depends on task 3 | ||
| - "5 3" → task 5 depends on task 3 | ||
| - "5 after 3" → task 5 depends on task 3 | ||
|
|
||
| ## Execution | ||
|
|
||
| ```bash | ||
| task-master add-dependency --id=<task-id> --depends-on=<dependency-id> | ||
| ``` | ||
|
|
||
| ## Validation | ||
|
|
||
| Before adding: | ||
| 1. **Verify both tasks exist** | ||
| 2. **Check for circular dependencies** | ||
| 3. **Ensure dependency makes logical sense** | ||
| 4. **Warn if creating complex chains** | ||
|
|
||
| ## Smart Features | ||
|
|
||
| - Detect if dependency already exists | ||
| - Suggest related dependencies | ||
| - Show impact on task flow | ||
| - Update task priorities if needed | ||
|
|
||
| ## Post-Addition | ||
|
|
||
| After adding dependency: | ||
| 1. Show updated dependency graph | ||
| 2. Identify any newly blocked tasks | ||
| 3. Suggest task order changes | ||
| 4. Update project timeline | ||
|
|
||
| ## Example Flows | ||
|
|
||
| ``` | ||
| /project:tm/add-dependency 5 needs 3 | ||
| → Task #5 now depends on Task #3 | ||
| → Task #5 is now blocked until #3 completes | ||
| → Suggested: Also consider if #5 needs #4 | ||
| ``` No newline at end of file |
There was a problem hiding this comment.
Add heading and code-fence language for markdownlint compliance.
Introduce a top-level heading at the start and label the example block with ```bash (plus ensure a trailing newline) to clear MD041/MD040/MD047. Based on markdownlint hints.
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
1-1: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
50-50: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
55-55: Files should end with a single newline character
(MD047, single-trailing-newline)
🤖 Prompt for AI Agents
In packages/claude-code-plugin/commands/tm/add-dependency/add-dependency.md
around lines 1 to 55, the file lacks a top-level heading and the example fenced
code block is not labeled with a language which triggers markdownlint rules
MD041/MD040/MD047; add a descriptive H1 heading at the very top (e.g., "# Add
Dependency") and change the unlabeled example fences to include the bash
language specifier (```bash) and ensure each fenced block ends with a trailing
newline, then run markdownlint to confirm the warnings are resolved.
| Advanced project analysis with actionable insights and recommendations. | ||
|
|
||
| Arguments: $ARGUMENTS | ||
|
|
||
| ## Comprehensive Project Analysis | ||
|
|
||
| Multi-dimensional analysis based on requested focus area. |
There was a problem hiding this comment.
🧹 Nitpick | 🔵 Trivial
Add a proper H1 heading.
Our command docs start with a top-level heading; this file opens with body text, which hurts consistency and TOC generation. Please promote the opening sentence to an # heading.
🤖 Prompt for AI Agents
In packages/claude-code-plugin/commands/tm/utils/analyze-project.md around lines
1 to 7, the file starts with body text instead of a top-level heading; update
the first line by prefixing it with a single '#' so the opening sentence becomes
a proper H1 (e.g. change "Advanced project analysis with actionable insights and
recommendations." to "# Advanced project analysis with actionable insights and
recommendations."), leaving the remaining content unchanged to preserve the
description and sections.
| Enhanced auto-implementation with intelligent code generation and testing. | ||
|
|
||
| Arguments: $ARGUMENTS | ||
|
|
||
| ## Intelligent Auto-Implementation | ||
|
|
||
| Advanced implementation with context awareness and quality checks. | ||
|
|
||
| ### 1. **Pre-Implementation Analysis** | ||
|
|
||
| Before starting: | ||
| - Analyze task complexity and requirements | ||
| - Check codebase patterns and conventions | ||
| - Identify similar completed tasks | ||
| - Assess test coverage needs | ||
| - Detect potential risks | ||
|
|
||
| ### 2. **Smart Implementation Strategy** | ||
|
|
||
| Based on task type and context: | ||
|
|
||
| **Feature Tasks** | ||
| 1. Research existing patterns | ||
| 2. Design component architecture | ||
| 3. Implement with tests | ||
| 4. Integrate with system | ||
| 5. Update documentation | ||
|
|
||
| **Bug Fix Tasks** | ||
| 1. Reproduce issue | ||
| 2. Identify root cause | ||
| 3. Implement minimal fix | ||
| 4. Add regression tests | ||
| 5. Verify side effects | ||
|
|
||
| **Refactoring Tasks** | ||
| 1. Analyze current structure | ||
| 2. Plan incremental changes | ||
| 3. Maintain test coverage | ||
| 4. Refactor step-by-step | ||
| 5. Verify behavior unchanged | ||
|
|
||
| ### 3. **Code Intelligence** | ||
|
|
||
| **Pattern Recognition** | ||
| - Learn from existing code | ||
| - Follow team conventions | ||
| - Use preferred libraries | ||
| - Match style guidelines | ||
|
|
||
| **Test-Driven Approach** | ||
| - Write tests first when possible | ||
| - Ensure comprehensive coverage | ||
| - Include edge cases | ||
| - Performance considerations | ||
|
|
||
| ### 4. **Progressive Implementation** | ||
|
|
||
| Step-by-step with validation: | ||
| ``` | ||
| Step 1/5: Setting up component structure ✓ | ||
| Step 2/5: Implementing core logic ✓ | ||
| Step 3/5: Adding error handling ⚡ (in progress) | ||
| Step 4/5: Writing tests ⏳ | ||
| Step 5/5: Integration testing ⏳ | ||
|
|
||
| Current: Adding try-catch blocks and validation... | ||
| ``` | ||
|
|
||
| ### 5. **Quality Assurance** | ||
|
|
||
| Automated checks: | ||
| - Linting and formatting | ||
| - Test execution | ||
| - Type checking | ||
| - Dependency validation | ||
| - Performance analysis | ||
|
|
||
| ### 6. **Smart Recovery** | ||
|
|
||
| If issues arise: | ||
| - Diagnostic analysis | ||
| - Suggestion generation | ||
| - Fallback strategies | ||
| - Manual intervention points | ||
| - Learning from failures | ||
|
|
||
| ### 7. **Post-Implementation** | ||
|
|
||
| After completion: | ||
| - Generate PR description | ||
| - Update documentation | ||
| - Log lessons learned | ||
| - Suggest follow-up tasks | ||
| - Update task relationships | ||
|
|
||
| Result: High-quality, production-ready implementations. No newline at end of file |
There was a problem hiding this comment.
Fix markdownlint blockers (missing headings, fenced code formatting).
markdownlint flags MD041/MD036/MD031/MD040/MD047 here. Please add a top-level # heading at the top, convert bold section titles (e.g., “Feature Tasks”, “Bug Fix Tasks”) into actual Markdown headings, surround the fenced progress block with blank lines, specify a language hint (```text is fine), and end the file with a single newline. These fixes are required to satisfy the docs lint pipeline. Based on markdownlint hints.
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
1-1: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
22-22: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
29-29: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
36-36: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
45-45: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
51-51: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
60-60: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
60-60: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
97-97: Files should end with a single newline character
(MD047, single-trailing-newline)
🤖 Prompt for AI Agents
In packages/claude-code-plugin/commands/tm/workflows/auto-implement-tasks.md
lines 1-97: the file fails markdownlint (MD041/MD036/MD031/MD040/MD047) because
it lacks a top-level heading, uses bold text where section headings are
expected, the fenced progress block is not surrounded by blank lines or a
language hint, and the file may not end with a single trailing newline; fix by
adding a top-level "# Auto-Implementation Workflow" (or similar) at the very
top, convert bold section titles like "Feature Tasks", "Bug Fix Tasks",
"Refactoring Tasks", "Code Intelligence", "Test-Driven Approach", "Progressive
Implementation", and "Quality Assurance" into proper Markdown headings (e.g.,
"##" or "###" as appropriate), ensure there is a blank line before and after the
fenced code block, change the fence to include a language hint such as ```text,
and make sure the file ends with exactly one newline character.
| Execute a pipeline of commands based on a specification. | ||
|
|
||
| Arguments: $ARGUMENTS | ||
|
|
||
| ## Command Pipeline Execution | ||
|
|
||
| Parse pipeline specification from arguments. Supported formats: | ||
|
|
||
| ### Simple Pipeline | ||
| `init → expand-all → sprint-plan` | ||
|
|
||
| ### Conditional Pipeline | ||
| `status → if:pending>10 → sprint-plan → else → next` | ||
|
|
||
| ### Iterative Pipeline | ||
| `for:pending-tasks → expand → complexity-check` | ||
|
|
||
| ### Smart Pipeline Patterns | ||
|
|
||
| **1. Project Setup Pipeline** | ||
| ``` | ||
| init [prd] → | ||
| expand-all → | ||
| complexity-report → | ||
| sprint-plan → | ||
| show first-sprint | ||
| ``` | ||
|
|
||
| **2. Daily Work Pipeline** | ||
| ``` | ||
| standup → | ||
| if:in-progress → continue → | ||
| else → next → start | ||
| ``` | ||
|
|
||
| **3. Task Completion Pipeline** | ||
| ``` | ||
| complete [id] → | ||
| git-commit → | ||
| if:blocked-tasks-freed → show-freed → | ||
| next | ||
| ``` | ||
|
|
||
| **4. Quality Check Pipeline** | ||
| ``` | ||
| list in-progress → | ||
| for:each → check-idle-time → | ||
| if:idle>1day → prompt-update | ||
| ``` | ||
|
|
||
| ### Pipeline Features | ||
|
|
||
| **Variables** | ||
| - Store results: `status → $count=pending-count` | ||
| - Use in conditions: `if:$count>10` | ||
| - Pass between commands: `expand $high-priority-tasks` | ||
|
|
||
| **Error Handling** | ||
| - On failure: `try:complete → catch:show-blockers` | ||
| - Skip on error: `optional:test-run` | ||
| - Retry logic: `retry:3:commit` | ||
|
|
||
| **Parallel Execution** | ||
| - Parallel branches: `[analyze | test | lint]` | ||
| - Join results: `parallel → join:report` | ||
|
|
||
| ### Execution Flow | ||
|
|
||
| 1. Parse pipeline specification | ||
| 2. Validate command sequence | ||
| 3. Execute with state passing | ||
| 4. Handle conditions and loops | ||
| 5. Aggregate results | ||
| 6. Show summary | ||
|
|
||
| This enables complex workflows like: | ||
| `parse-prd → expand-all → filter:complex>70 → assign:senior → sprint-plan:weighted` No newline at end of file |
There was a problem hiding this comment.
Fix multiple markdownlint violations before merge.
MD041/MD022/MD036/MD031/MD040/MD047 are all firing. Add a top-level heading at the top, convert bold-numbered titles into actual headings, ensure each fenced block has surrounding blank lines plus a language hint (```text / ```bash), and finish with a trailing newline. This will unblock the docs lint stage. Based on markdownlint hints.
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
1-1: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
9-9: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
12-12: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
15-15: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
20-20: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
21-21: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
21-21: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
29-29: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
30-30: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
30-30: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
36-36: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
37-37: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
37-37: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
44-44: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
45-45: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
45-45: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
53-53: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
58-58: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
63-63: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
77-77: Files should end with a single newline character
(MD047, single-trailing-newline)
🤖 Prompt for AI Agents
In packages/claude-code-plugin/commands/tm/workflows/command-pipeline.md around
lines 1-77, the file triggers multiple markdownlint rules
(MD041/MD022/MD036/MD031/MD040/MD047); add a top-level H1 heading at the very
top, convert the bold-numbered section titles (e.g., "### Pipeline Features",
"### Execution Flow", "### Smart Pipeline Patterns" and the numbered pattern
headings) into proper Markdown headings (use appropriate H2/H3 levels), ensure
every fenced code block is preceded and followed by a blank line and include a
language hint after the opening backticks (e.g., ```text or ```bash), make sure
lists and headings have single blank lines separating them where required, and
ensure the file ends with a single trailing newline; these changes will satisfy
the reported lint rules.
| Execute an intelligent workflow based on current project state and recent commands. | ||
|
|
||
| This command analyzes: | ||
| 1. Recent commands you've run | ||
| 2. Current project state | ||
| 3. Time of day / day of week | ||
| 4. Your working patterns | ||
|
|
||
| Arguments: $ARGUMENTS | ||
|
|
||
| ## Intelligent Workflow Selection | ||
|
|
||
| Based on context, I'll determine the best workflow: | ||
|
|
||
| ### Context Analysis | ||
| - Previous command executed | ||
| - Current task states | ||
| - Unfinished work from last session | ||
| - Your typical patterns | ||
|
|
||
| ### Smart Execution | ||
|
|
||
| If last command was: | ||
| - `status` → Likely starting work → Run daily standup | ||
| - `complete` → Task finished → Find next task | ||
| - `list pending` → Planning → Suggest sprint planning | ||
| - `expand` → Breaking down work → Show complexity analysis | ||
| - `init` → New project → Show onboarding workflow | ||
|
|
||
| If no recent commands: | ||
| - Morning? → Daily standup workflow | ||
| - Many pending tasks? → Sprint planning | ||
| - Tasks blocked? → Dependency resolution | ||
| - Friday? → Weekly review | ||
|
|
||
| ### Workflow Composition | ||
|
|
||
| I'll chain appropriate commands: | ||
| 1. Analyze current state | ||
| 2. Execute primary workflow | ||
| 3. Suggest follow-up actions | ||
| 4. Prepare environment for coding | ||
|
|
||
| ### Learning Mode | ||
|
|
||
| This command learns from your patterns: | ||
| - Track command sequences | ||
| - Note time preferences | ||
| - Remember common workflows | ||
| - Adapt to your style | ||
|
|
||
| Example flows detected: | ||
| - Morning: standup → next → start | ||
| - After lunch: status → continue task | ||
| - End of day: complete → commit → status No newline at end of file |
There was a problem hiding this comment.
Add required Markdown heading/spacing to satisfy lint.
markdownlint is flagging this file for missing an initial H1, missing blank lines before ### sections, and the missing trailing newline. These will fail the docs lint step—please add a top-level heading (e.g., # Smart workflow), insert blank lines before each heading, and end the file with a newline.
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
1-1: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
15-15: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
55-55: Files should end with a single newline character
(MD047, single-trailing-newline)
🤖 Prompt for AI Agents
In packages/claude-code-plugin/commands/tm/workflows/smart-workflow.md around
lines 1 to 55, add a top-level H1 (e.g., "# Smart workflow") as the first line,
insert a blank line before each heading (both "## Intelligent Workflow
Selection" and every "###" subsection) so there is an empty line separating
headings from preceding text, and ensure the file ends with a trailing newline;
make these whitespace/heading changes only so markdownlint passes.
| ``` | ||
| /plugin marketplace add your-org/task-master-marketplace | ||
| /plugin install task-master-ai@your-marketplace | ||
| ``` |
There was a problem hiding this comment.
Add fenced code languages and avoid bare URLs. Please annotate the shell snippets with a language (e.g. ```bash) and wrap the documentation link in Markdown link syntax so markdownlint (MD040, MD034) passes.
Apply something like:
-```
-/plugin marketplace add your-org/task-master-marketplace
-/plugin install task-master-ai@your-marketplace
-```
+```bash
+/plugin marketplace add your-org/task-master-marketplace
+/plugin install task-master-ai@your-marketplace
+```
@@
-```
-/tm:init
-/tm:parse-prd
-/tm:next
-```
+```bash
+/tm:init
+/tm:parse-prd
+/tm:next
+```
@@
-https://github.com/eyaltoledano/claude-task-master
+[Task Master on GitHub](https://github.com/eyaltoledano/claude-task-master)Also applies to: 24-28, 32-33
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
9-9: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
In packages/claude-code-plugin/README.dist.md around lines 9-12 (and similarly
at 24-28 and 32-33), the shell code blocks are not annotated with a language and
the GitHub URL is bare; update each fenced code block to use a language tag
(bash) and replace bare URLs with Markdown link syntax (e.g. [Task Master on
GitHub](https://github.com/eyaltoledano/claude-task-master)); ensure you add
```bash at the start and ``` at the end of each snippet and swap any plain
HTTP/HTTPS links for their Markdown link form.
| --- | ||
| name: task-orchestrator | ||
| description: Use this agent when you need to coordinate and manage the execution of Task Master tasks, especially when dealing with complex task dependencies and parallel execution opportunities. This agent should be invoked at the beginning of a work session to analyze the task queue, identify parallelizable work, and orchestrate the deployment of task-executor agents. It should also be used when tasks complete to reassess the dependency graph and deploy new executors as needed.\n\n<example>\nContext: User wants to start working on their project tasks using Task Master\nuser: "Let's work on the next available tasks in the project"\nassistant: "I'll use the task-orchestrator agent to analyze the task queue and coordinate execution"\n<commentary>\nThe user wants to work on tasks, so the task-orchestrator should be deployed to analyze dependencies and coordinate execution.\n</commentary>\n</example>\n\n<example>\nContext: Multiple independent tasks are available in the queue\nuser: "Can we work on multiple tasks at once?"\nassistant: "Let me deploy the task-orchestrator to analyze task dependencies and parallelize the work"\n<commentary>\nWhen parallelization is mentioned or multiple tasks could be worked on, the orchestrator should coordinate the effort.\n</commentary>\n</example>\n\n<example>\nContext: A complex feature with many subtasks needs implementation\nuser: "Implement the authentication system tasks"\nassistant: "I'll use the task-orchestrator to break down the authentication tasks and coordinate their execution"\n<commentary>\nFor complex multi-task features, the orchestrator manages the overall execution strategy.\n</commentary>\n</example> | ||
| model: opus | ||
| color: green | ||
| --- |
There was a problem hiding this comment.
🧹 Nitpick | 🔵 Trivial
Consider refactoring the extremely long frontmatter description.
Line 3 contains a 3000+ character description with embedded examples, all on a single line. This creates several maintainability issues:
- Difficult to read and edit
- Hard to validate syntax
- Poor git diff experience
- Risk of YAML parsing issues
Consider one of these approaches:
Option 1: Use YAML multi-line syntax
---
name: task-orchestrator
-description: Use this agent when you need to coordinate and manage the execution of Task Master tasks, especially when dealing with complex task dependencies and parallel execution opportunities. This agent should be invoked at the beginning of a work session to analyze the task queue, identify parallelizable work, and orchestrate the deployment of task-executor agents. It should also be used when tasks complete to reassess the dependency graph and deploy new executors as needed.\n\n<example>\nContext: User wants to start working on their project tasks using Task Master\nuser: "Let's work on the next available tasks in the project"\nassistant: "I'll use the task-orchestrator agent to analyze the task queue and coordinate execution"\n<commentary>\nThe user wants to work on tasks, so the task-orchestrator should be deployed to analyze dependencies and coordinate execution.\n</commentary>\n</example>\n\n<example>\nContext: Multiple independent tasks are available in the queue\nuser: "Can we work on multiple tasks at once?"\nassistant: "Let me deploy the task-orchestrator to analyze task dependencies and parallelize the work"\n<commentary>\nWhen parallelization is mentioned or multiple tasks could be worked on, the orchestrator should coordinate the effort.\n</commentary>\n</example>\n\n<example>\nContext: A complex feature with many subtasks needs implementation\nuser: "Implement the authentication system tasks"\nassistant: "I'll use the task-orchestrator to break down the authentication tasks and coordinate their execution"\n<commentary>\nFor complex multi-task features, the orchestrator manages the overall execution strategy.\n</commentary>\n</example>
+description: |
+ Use this agent when you need to coordinate and manage the execution of Task Master tasks,
+ especially when dealing with complex task dependencies and parallel execution opportunities.
+
+ <example>
+ Context: User wants to start working on their project tasks
+ user: "Let's work on the next available tasks"
+ assistant: "I'll use the task-orchestrator agent to analyze the task queue"
+ </example>
model: opusOption 2: Keep description brief, move examples to body
---
name: task-orchestrator
-description: Use this agent when you need to coordinate and manage the execution of Task Master tasks, especially when dealing with complex task dependencies and parallel execution opportunities. This agent should be invoked at the beginning of a work session to analyze the task queue, identify parallelizable work, and orchestrate the deployment of task-executor agents. It should also be used when tasks complete to reassess the dependency graph and deploy new executors as needed.\n\n<example>\nContext: User wants to start working on their project tasks using Task Master\nuser: "Let's work on the next available tasks in the project"\nassistant: "I'll use the task-orchestrator agent to analyze the task queue and coordinate execution"\n<commentary>\nThe user wants to work on tasks, so the task-orchestrator should be deployed to analyze dependencies and coordinate execution.\n</commentary>\n</example>\n\n<example>\nContext: Multiple independent tasks are available in the queue\nuser: "Can we work on multiple tasks at once?"\nassistant: "Let me deploy the task-orchestrator to analyze task dependencies and parallelize the work"\n<commentary>\nWhen parallelization is mentioned or multiple tasks could be worked on, the orchestrator should coordinate the effort.\n</commentary>\n</example>\n\n<example>\nContext: A complex feature with many subtasks needs implementation\nuser: "Implement the authentication system tasks"\nassistant: "I'll use the task-orchestrator to break down the authentication tasks and coordinate their execution"\n<commentary>\nFor complex multi-task features, the orchestrator manages the overall execution strategy.\n</commentary>\n</example>
+description: Coordinate and manage Task Master task execution with dependency analysis and parallel work orchestration.
model: opus
color: green
---
+
+## When to Use This Agent
+
+Deploy the task-orchestrator when you need to analyze task dependencies and coordinate execution.
+
+### Examples
+
+**Example 1: Starting a work session**
+- User: "Let's work on the next available tasks"
+- Action: Deploy orchestrator to analyze queue and coordinate execution🤖 Prompt for AI Agents
packages/claude-code-plugin/agents/task-orchestrator.md lines 1-6: the
frontmatter description is a single extremely long line containing embedded
examples which hurts readability and may break YAML parsing; refactor by
converting the description to a YAML multi-line block (use | or > with proper
indentation) or shorten the frontmatter description and move the full examples
into the markdown body beneath the frontmatter, ensure each YAML key/value is on
its own line, wrap text to reasonable line lengths, and validate the frontmatter
YAML after changes.
|
|
||
| ## Operational Workflow | ||
|
|
||
| ### Initial Assessment Phase |
There was a problem hiding this comment.
Fix markdown formatting issues.
Several sections have formatting issues:
- Lines 22, 29, 37: Headings should have blank lines before and after
- Lines 70-79: Code block should have blank lines around it and specify a language
Apply this diff:
5. Create an execution plan that maximizes parallelization
+
### Executor Deployment Phase
+
1. For each independent task or task group: 3. Establish communication protocols for progress updates
+
### Coordination Phase
+
1. Monitor executor progress through task status updates ## Communication Protocols
+
When deploying executors, provide them with:
-```
+
+```yaml
TASK ASSIGNMENT:
- Task ID: [specific ID]Also applies to: 29-29, 37-37, 70-79
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
22-22: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
🤖 Prompt for AI Agents
In packages/claude-code-plugin/agents/task-orchestrator.md around lines 22, 29,
and 37 ensure each heading has a blank line before and after it (insert a single
empty line above and below each heading) to fix Markdown rendering; for lines
70-79 surround the shown snippet with blank lines and replace the plain fence
with a language-marked fence by wrapping the block in ```yaml before the snippet
and ``` after it so the block is properly highlighted (insert the fenced ```yaml
... ``` block in place of the current unformatted text).
| @@ -0,0 +1,78 @@ | |||
| Add new tasks with intelligent parsing and context awareness. | |||
There was a problem hiding this comment.
Fix markdown formatting issues.
Similar to other documentation files:
- Line 1 should start with a top-level heading (e.g.,
# Add Task) - Line 78: File should end with a single newline character
Apply this diff:
+# Add Task
+
Add new tasks with intelligent parsing and context awareness. - Current sprint/phase
Result: High-quality tasks from minimal input.
+Also applies to: 78-78
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
1-1: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
🤖 Prompt for AI Agents
In packages/claude-code-plugin/commands/tm/add-task/add-task.md around lines 1
and 78, the file is missing a top-level heading on line 1 and does not end with
a single trailing newline; add a markdown H1 title (e.g., "# Add Task") as the
first line, ensure any existing first-line text is moved under that heading if
needed, and trim or append the file ending so that the file ends with exactly
one newline character at line 78.
| Generate individual task files from tasks.json. | ||
|
|
||
| ## Task File Generation | ||
|
|
||
| Creates separate markdown files for each task, perfect for AI agents or documentation. | ||
|
|
||
| ## Execution | ||
|
|
||
| ```bash | ||
| task-master generate | ||
| ``` | ||
|
|
||
| ## What It Creates | ||
|
|
||
| For each task, generates a file like `task_001.txt`: | ||
|
|
||
| ``` | ||
| Task ID: 1 | ||
| Title: Implement user authentication | ||
| Status: pending | ||
| Priority: high | ||
| Dependencies: [] | ||
| Created: 2024-01-15 | ||
| Complexity: 7 | ||
|
|
||
| ## Description | ||
| Create a secure user authentication system with login, logout, and session management. | ||
|
|
||
| ## Details | ||
| - Use JWT tokens for session management | ||
| - Implement secure password hashing | ||
| - Add remember me functionality | ||
| - Include password reset flow | ||
|
|
||
| ## Test Strategy | ||
| - Unit tests for auth functions | ||
| - Integration tests for login flow | ||
| - Security testing for vulnerabilities | ||
| - Performance tests for concurrent logins | ||
|
|
||
| ## Subtasks | ||
| 1.1 Setup authentication framework (pending) | ||
| 1.2 Create login endpoints (pending) | ||
| 1.3 Implement session management (pending) | ||
| 1.4 Add password reset (pending) | ||
| ``` | ||
|
|
||
| ## File Organization | ||
|
|
||
| Creates structure: | ||
| ``` | ||
| .taskmaster/ | ||
| └── tasks/ | ||
| ├── task_001.txt | ||
| ├── task_002.txt | ||
| ├── task_003.txt | ||
| └── ... | ||
| ``` | ||
|
|
||
| ## Smart Features | ||
|
|
||
| 1. **Consistent Formatting** | ||
| - Standardized structure | ||
| - Clear sections | ||
| - AI-readable format | ||
| - Markdown compatible | ||
|
|
||
| 2. **Contextual Information** | ||
| - Full task details | ||
| - Related task references | ||
| - Progress indicators | ||
| - Implementation notes | ||
|
|
||
| 3. **Incremental Updates** | ||
| - Only regenerate changed tasks | ||
| - Preserve custom additions | ||
| - Track generation timestamp | ||
| - Version control friendly | ||
|
|
||
| ## Use Cases | ||
|
|
||
| - **AI Context**: Provide task context to AI assistants | ||
| - **Documentation**: Standalone task documentation | ||
| - **Archival**: Task history preservation | ||
| - **Sharing**: Send specific tasks to team members | ||
| - **Review**: Easier task review process | ||
|
|
||
| ## Generation Options | ||
|
|
||
| Based on arguments: | ||
| - Filter by status | ||
| - Include/exclude completed | ||
| - Custom templates | ||
| - Different formats | ||
|
|
||
| ## Post-Generation | ||
|
|
||
| ``` | ||
| Task File Generation Complete | ||
| ━━━━━━━━━━━━━━━━━━━━━━━━━━ | ||
| Generated: 45 task files | ||
| Location: .taskmaster/tasks/ | ||
| Total size: 156 KB | ||
|
|
||
| New files: 5 | ||
| Updated files: 12 | ||
| Unchanged: 28 | ||
|
|
||
| Ready for: | ||
| - AI agent consumption | ||
| - Version control | ||
| - Team distribution | ||
| ``` | ||
|
|
||
| ## Integration Benefits | ||
|
|
||
| - Git-trackable task history | ||
| - Easy task sharing | ||
| - AI tool compatibility | ||
| - Offline task access | ||
| - Backup redundancy No newline at end of file |
There was a problem hiding this comment.
Fix markdownlint violations (H1, code-fence languages, spacing).
Lint (MD041/MD040/MD031/MD047) fails because there’s no top-level heading, fenced blocks lack language tags, some fences need surrounding blank lines, and the file lacks a trailing newline. Please add an H1, label each fence (e.g., text, bash), ensure blank lines around them, and end the file with a newline.
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
1-1: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
17-17: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
51-51: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
51-51: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
98-98: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
121-121: Files should end with a single newline character
(MD047, single-trailing-newline)
🤖 Prompt for AI Agents
In packages/claude-code-plugin/commands/tm/generate/generate-tasks.md lines
1-121: add a top-level H1 at the very top (e.g., "# Task File Generation"), add
appropriate language tags to every fenced code block (```bash, ```text, or ```),
ensure there is a blank line before and after each fenced block so they are
properly separated from surrounding text, and append a final newline at the end
of the file; these changes will resolve MD041/MD040/MD031/MD047 markdownlint
violations.
| @@ -0,0 +1,51 @@ | |||
| View current AI model configuration. | |||
There was a problem hiding this comment.
Fix markdown formatting issues.
The static analysis tool identified several formatting issues:
- Line 1 should start with a top-level heading (e.g.,
# View Models) - Lines 32-44: The fenced code block should specify a language (suggest
textorbash) - Line 51: File should end with a single newline character
Apply this diff to fix these issues:
+# View Models
+
View current AI model configuration.
## Model Configuration Display ## Visual Status
-```
+```text
Task Master AI Model Configuration
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - If missing API keys → Suggest setup
- If no research model → Explain benefits
- If all configured → Show usage tips
+Also applies to: 32-44, 51-51
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
1-1: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
🤖 Prompt for AI Agents
In packages/claude-code-plugin/commands/tm/models/view-models.md around lines 1
and 32-51, add a top-level heading at the top (e.g., "# View Models"), change
the fenced code block on lines 32-44 to include a language specifier (use
```text or ```bash), insert the provided decorative code block labeled "Task
Master AI Model Configuration" as a fenced text block where appropriate, and
ensure the file ends with exactly one newline character (no extra blank lines).
| Intelligently determine and prepare the next action based on comprehensive context. | ||
|
|
||
| This enhanced version of 'next' considers: | ||
| - Current task states | ||
| - Recent activity | ||
| - Time constraints | ||
| - Dependencies | ||
| - Your working patterns | ||
|
|
||
| Arguments: $ARGUMENTS | ||
|
|
||
| ## Intelligent Next Action | ||
|
|
||
| ### 1. **Context Gathering** | ||
| Let me analyze the current situation: | ||
| - Active tasks (in-progress) | ||
| - Recently completed tasks | ||
| - Blocked tasks | ||
| - Time since last activity | ||
| - Arguments provided: $ARGUMENTS | ||
|
|
||
| ### 2. **Smart Decision Tree** | ||
|
|
||
| **If you have an in-progress task:** | ||
| - Has it been idle > 2 hours? → Suggest resuming or switching | ||
| - Near completion? → Show remaining steps | ||
| - Blocked? → Find alternative task | ||
|
|
||
| **If no in-progress tasks:** | ||
| - Unblocked high-priority tasks? → Start highest | ||
| - Complex tasks need breakdown? → Suggest expansion | ||
| - All tasks blocked? → Show dependency resolution | ||
|
|
||
| **Special arguments handling:** | ||
| - "quick" → Find task < 2 hours | ||
| - "easy" → Find low complexity task | ||
| - "important" → Find high priority regardless of complexity | ||
| - "continue" → Resume last worked task | ||
|
|
||
| ### 3. **Preparation Workflow** | ||
|
|
||
| Based on selected task: | ||
| 1. Show full context and history | ||
| 2. Set up development environment | ||
| 3. Run relevant tests | ||
| 4. Open related files | ||
| 5. Show similar completed tasks | ||
| 6. Estimate completion time | ||
|
|
||
| ### 4. **Alternative Suggestions** | ||
|
|
||
| Always provide options: | ||
| - Primary recommendation | ||
| - Quick alternative (< 1 hour) | ||
| - Strategic option (unblocks most tasks) | ||
| - Learning option (new technology/skill) | ||
|
|
||
| ### 5. **Workflow Integration** | ||
|
|
||
| Seamlessly connect to: | ||
| - `/project:task-master:start [selected]` | ||
| - `/project:workflows:auto-implement` | ||
| - `/project:task-master:expand` (if complex) | ||
| - `/project:utils:complexity-report` (if unsure) | ||
|
|
||
| The goal: Zero friction from decision to implementation. No newline at end of file |
There was a problem hiding this comment.
Resolve markdownlint errors (heading, spacing, trailing space).
Lint is failing because there’s no top-level heading, headings aren’t separated by blank lines, Line 61 has a trailing space, and the file lacks a final newline. Please add the H1, insert blank lines before headings, trim the trailing space, and end with a newline so markdownlint passes.
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
1-1: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
14-14: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
61-61: Trailing spaces
Expected: 0 or 2; Actual: 1
(MD009, no-trailing-spaces)
66-66: Files should end with a single newline character
(MD047, single-trailing-newline)
🤖 Prompt for AI Agents
packages/claude-code-plugin/commands/tm/next/next-task.md lines 1-66: the
markdown fails markdownlint because it lacks a top-level H1, headings are not
separated by blank lines, line 61 contains a trailing space, and the file is
missing a final newline; fix by adding a descriptive H1 as the first line,
ensure there is a single blank line before every heading (e.g., before "##
Intelligent Next Action" and each "###" section), remove the trailing space on
line 61, and add a final newline at EOF.
| interface PackageJson { | ||
| version: string; | ||
| description: string; | ||
| author: string; | ||
| license: string; | ||
| repository?: { | ||
| type: string; | ||
| url: string; | ||
| }; | ||
| homepage?: string; | ||
| bugs?: { | ||
| url: string; | ||
| }; | ||
| } |
There was a problem hiding this comment.
🛠️ Refactor suggestion | 🟠 Major
Improve type safety for the author field.
The PackageJson interface types author as string (line 30), but npm's package.json spec allows author to be either a string or an object { name: string; email?: string; url?: string }. The function createPluginManifest at line 190 assumes author is a string when used as manifest.author.name = pkg.author, which could cause a type error if author is already an object.
Apply this diff to improve type safety:
interface PackageJson {
version: string;
description: string;
- author: string;
+ author: string | { name: string; email?: string; url?: string };
license: string;
repository?: {Then update the manifest creation logic at line 190:
const manifest = {
name: 'task-master-ai',
displayName: 'Task Master AI',
description: pkg.description,
version: version,
author: {
- name: pkg.author,
+ name: typeof pkg.author === 'string' ? pkg.author : pkg.author.name,
url: pkg.repository?.url?.replace('git+', '').replace('.git', '')
},📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| interface PackageJson { | |
| version: string; | |
| description: string; | |
| author: string; | |
| license: string; | |
| repository?: { | |
| type: string; | |
| url: string; | |
| }; | |
| homepage?: string; | |
| bugs?: { | |
| url: string; | |
| }; | |
| } | |
| // packages/claude-code-plugin/src/build.ts | |
| // — lines 27–40: Update PackageJson interface — | |
| interface PackageJson { | |
| version: string; | |
| description: string; | |
| author: string | { name: string; email?: string; url?: string }; | |
| license: string; | |
| repository?: { | |
| type: string; | |
| url: string; | |
| }; | |
| homepage?: string; | |
| bugs?: { | |
| url: string; | |
| }; | |
| } | |
| // … elsewhere, around line 190 in createPluginManifest … | |
| const manifest = { | |
| name: 'task-master-ai', | |
| displayName: 'Task Master AI', | |
| description: pkg.description, | |
| version: version, | |
| author: { | |
| name: typeof pkg.author === 'string' | |
| ? pkg.author | |
| : pkg.author.name, | |
| url: pkg.repository?.url | |
| ?.replace('git+', '') | |
| .replace('.git', '') | |
| }, | |
| // …other manifest fields… | |
| }; |
🤖 Prompt for AI Agents
In packages/claude-code-plugin/src/build.ts around lines 27 to 40 (and refer to
manifest creation at line 190): the PackageJson.author is currently typed as
string but npm allows string or an object; update the interface to author:
string | { name: string; email?: string; url?: string } and then update the
createPluginManifest logic at line 190 to handle both cases — if pkg.author is a
string assign it to manifest.author.name, if it's an object copy/assign its
name/email/url into manifest.author fields (or set manifest.author = { name:
pkg.author.name, email: pkg.author.email, url: pkg.author.url }) ensuring
null/undefined checks so you don’t assume a string-only value.
| keywords: [ | ||
| 'task-management', | ||
| 'ai', | ||
| 'workflow', | ||
| 'orchestration', | ||
| 'automation', | ||
| 'mcp', | ||
| 'development', | ||
| 'productivity' | ||
| ], |
There was a problem hiding this comment.
🧹 Nitpick | 🔵 Trivial
🧩 Analysis chain
Consider reading keywords from root package.json.
The keywords array is hardcoded in the manifest generation. If these keywords should match the root package.json, consider reading them instead. However, if these are plugin-specific keywords that differ from the main package, the current approach is fine.
Verify whether keywords should be read from the root package:
🏁 Script executed:
#!/bin/bash
# Check if root package.json has keywords field
jq '.keywords' ../../package.jsonLength of output: 76
🏁 Script executed:
#!/bin/bash
echo "Found package.json files:"
find . -maxdepth 2 -type f -name package.json
echo "--- root package.json keywords ---"
jq '.keywords' package.json || echo "none"
echo "--- plugin package.json keywords ---"
jq '.keywords' packages/claude-code-plugin/package.json || echo "none"Length of output: 316
Load keywords from plugin package.json
Derive the manifest’s keywords from packages/claude-code-plugin/package.json instead of hardcoding to keep them in sync.
🤖 Prompt for AI Agents
In packages/claude-code-plugin/src/build.ts around lines 202 to 211, replace the
hardcoded keywords array with keywords loaded from
packages/claude-code-plugin/package.json: read and parse that package.json,
extract its "keywords" field (validate it's an array), and assign that array to
the manifest; include a safe fallback to the current hardcoded list if
package.json is missing or its keywords entry is not an array, and ensure errors
are handled or logged rather than throwing.
| /plugin marketplace add your-org/task-master-marketplace | ||
| /plugin install task-master-ai@your-marketplace |
There was a problem hiding this comment.
Update placeholder text in README template.
Lines 363-364 contain placeholder text (your-org/task-master-marketplace and your-marketplace) in the installation instructions. These should be updated to actual values or clearly documented as user-replaceable placeholders.
Consider applying this diff or documenting the placeholders:
## Installation
\`\`\`
-/plugin marketplace add your-org/task-master-marketplace
-/plugin install task-master-ai@your-marketplace
+# Replace <your-org> and <your-marketplace> with actual values
+/plugin marketplace add <your-org>/task-master-marketplace
+/plugin install task-master-ai@<your-marketplace>
\`\`\`📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| /plugin marketplace add your-org/task-master-marketplace | |
| /plugin install task-master-ai@your-marketplace | |
| ## Installation | |
🤖 Prompt for AI Agents
In packages/claude-code-plugin/src/build.ts around lines 363 to 364, the README
template contains placeholder install instructions
("your-org/task-master-marketplace" and "your-marketplace"); update these to
either the actual marketplace/org names used by the project or explicitly mark
them as replaceable placeholders (e.g., "<your-org>/<your-marketplace>") and add
a short comment or README note explaining the user must substitute their org and
marketplace names before running the install commands.
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (2)
CLAUDE_CODE_PLUGIN.md (1)
31-206: Resolve the commit-policy contradiction for generated files.Line 37 says the build output must stay out of git, yet the workflow and Git Strategy later insist on committing the generated commands/agents/manifests. Pick one policy and update both sections so contributors get consistent instructions.
MARKETPLACE.md (1)
37-49: Add a language tag to the directory tree fence.markdownlint MD040 will keep failing until the directory tree fence declares a language. Add
```text(or similar) to keep CI green.
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (2)
CLAUDE_CODE_PLUGIN.md(1 hunks)MARKETPLACE.md(1 hunks)
🧰 Additional context used
🧠 Learnings (6)
📓 Common learnings
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1002
File: .changeset/puny-friends-give.md:2-3
Timestamp: 2025-07-17T21:33:57.585Z
Learning: In the eyaltoledano/claude-task-master repository, the MCP server code in mcp-server/src/ is part of the main "task-master-ai" package, not a separate "mcp-server" package. When creating changesets for MCP server changes, use "task-master-ai" as the package name.
📚 Learning: 2025-10-07T18:09:26.636Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: CLAUDE.md:0-0
Timestamp: 2025-10-07T18:09:26.636Z
Learning: Applies to {CLAUDE.md,.taskmaster/CLAUDE.md} : Import Task Master's development workflow commands and guidelines, treating .taskmaster/CLAUDE.md as if it were included in the main CLAUDE.md
Applied to files:
CLAUDE_CODE_PLUGIN.mdMARKETPLACE.md
📚 Learning: 2025-08-06T21:13:05.240Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1091
File: assets/claude/agents/task-orchestrator.md:69-78
Timestamp: 2025-08-06T21:13:05.240Z
Learning: For Claude agent instruction files in .claude/agents/ and assets/claude/agents/ directories, ignore markdownlint issues (like MD031 blanks-around-fences, MD040 fenced-code-language, MD041 missing top-level heading) as these files follow Claude's specific agent format requirements rather than standard markdown documentation conventions.
Applied to files:
CLAUDE_CODE_PLUGIN.mdMARKETPLACE.md
📚 Learning: 2025-08-06T21:11:37.259Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1091
File: .claude/agents/task-orchestrator.md:0-0
Timestamp: 2025-08-06T21:11:37.259Z
Learning: For files in .claude/agents/ and assets/claude/agents/ directories, ignore markdownlint issues like MD041 (missing top-level heading) as these are Claude Code agent instruction files that follow a specific format with YAML frontmatter and don't need to conform to standard markdown documentation conventions.
Applied to files:
CLAUDE_CODE_PLUGIN.mdMARKETPLACE.md
📚 Learning: 2025-08-06T21:12:43.715Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1091
File: assets/claude/agents/task-orchestrator.md:1-6
Timestamp: 2025-08-06T21:12:43.715Z
Learning: In the eyaltoledano/claude-task-master repository, agent files are intentionally duplicated between `.claude/agents/` (for internal project use) and `assets/claude/agents/` (as template files for users to copy). This duplication serves different purposes and should be maintained to support both internal development and user distribution needs.
Applied to files:
CLAUDE_CODE_PLUGIN.md
📚 Learning: 2025-08-06T21:12:20.981Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1091
File: assets/claude/agents/task-executor.md:1-6
Timestamp: 2025-08-06T21:12:20.981Z
Learning: In the eyaltoledano/claude-task-master repository, agent files in assets/claude/agents/ are intended for distribution to users (for copying), while identical files in .claude/agents/ are for internal project use. This intentional duplication serves different purposes and is not a DRY violation.
Applied to files:
CLAUDE_CODE_PLUGIN.md
🪛 markdownlint-cli2 (0.18.1)
MARKETPLACE.md
37-37: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
There was a problem hiding this comment.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
src/profiles/claude.js (1)
7-37: Remove unused helper functions.The
copyRecursiveSync(lines 8-23) andremoveDirectoryRecursive(lines 26-37) helper functions are no longer used after the behavioral changes inonAddRulesProfileandonRemoveRulesProfile. These functions should be removed to clean up dead code.Apply this diff to remove the unused helpers:
-// Helper function to recursively copy directory (adopted from Roo profile) -function copyRecursiveSync(src, dest) { - const exists = fs.existsSync(src); - const stats = exists && fs.statSync(src); - const isDirectory = exists && stats.isDirectory(); - if (isDirectory) { - if (!fs.existsSync(dest)) fs.mkdirSync(dest, { recursive: true }); - fs.readdirSync(src).forEach((childItemName) => { - copyRecursiveSync( - path.join(src, childItemName), - path.join(dest, childItemName) - ); - }); - } else { - fs.copyFileSync(src, dest); - } -} - -// Helper function to recursively remove directory -function removeDirectoryRecursive(dirPath) { - if (fs.existsSync(dirPath)) { - try { - fs.rmSync(dirPath, { recursive: true, force: true }); - return true; - } catch (err) { - log('error', `Failed to remove directory ${dirPath}: ${err.message}`); - return false; - } - } - return true; -} - // Lifecycle functions for Claude Code profilepackages/claude-code-plugin/commands/tm-main.md (1)
11-135: Add blank lines after headingsMarkdown headings jump straight into lists, triggering MD022 and making the doc harder to scan. Insert a blank line after each
### ...heading before the list/bullets.Example fix:
-### `/task-master-ai:init` -- `init-project` - Initialize new project (handles PRD files intelligently) +### `/task-master-ai:init` + +- `init-project` - Initialize new project (handles PRD files intelligently)
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (69)
.changeset/mean-planes-wave.md(1 hunks).claude-plugin/marketplace.json(1 hunks).claude/agents/task-executor.md(0 hunks).claude/agents/task-orchestrator.md(0 hunks).claude/commands/tm/help.md(0 hunks).claude/commands/tm/init/init-project-quick.md(0 hunks).claude/commands/tm/remove-dependency/remove-dependency.md(0 hunks).claude/commands/tm/remove-subtask/remove-subtask.md(0 hunks).claude/commands/tm/remove-task/remove-task.md(0 hunks)assets/claude/agents/task-checker.md(0 hunks)assets/claude/commands/tm/add-subtask/convert-task-to-subtask.md(0 hunks)assets/claude/commands/tm/add-task/add-task.md(0 hunks)assets/claude/commands/tm/complexity-report/complexity-report.md(0 hunks)assets/claude/commands/tm/expand/expand-all-tasks.md(0 hunks)assets/claude/commands/tm/expand/expand-task.md(0 hunks)assets/claude/commands/tm/fix-dependencies/fix-dependencies.md(0 hunks)assets/claude/commands/tm/generate/generate-tasks.md(0 hunks)assets/claude/commands/tm/help.md(0 hunks)assets/claude/commands/tm/learn.md(0 hunks)assets/claude/commands/tm/list/list-tasks-by-status.md(0 hunks)assets/claude/commands/tm/list/list-tasks-with-subtasks.md(0 hunks)assets/claude/commands/tm/list/list-tasks.md(0 hunks)assets/claude/commands/tm/models/setup-models.md(0 hunks)assets/claude/commands/tm/models/view-models.md(0 hunks)assets/claude/commands/tm/next/next-task.md(0 hunks)assets/claude/commands/tm/parse-prd/parse-prd-with-research.md(0 hunks)assets/claude/commands/tm/parse-prd/parse-prd.md(0 hunks)assets/claude/commands/tm/remove-subtasks/remove-all-subtasks.md(0 hunks)assets/claude/commands/tm/remove-subtasks/remove-subtasks.md(0 hunks)assets/claude/commands/tm/set-status/to-cancelled.md(0 hunks)assets/claude/commands/tm/set-status/to-deferred.md(0 hunks)assets/claude/commands/tm/set-status/to-done.md(0 hunks)assets/claude/commands/tm/set-status/to-in-progress.md(0 hunks)assets/claude/commands/tm/set-status/to-pending.md(0 hunks)assets/claude/commands/tm/set-status/to-review.md(0 hunks)assets/claude/commands/tm/setup/install-taskmaster.md(0 hunks)assets/claude/commands/tm/setup/quick-install-taskmaster.md(0 hunks)assets/claude/commands/tm/show/show-task.md(0 hunks)assets/claude/commands/tm/status/project-status.md(0 hunks)assets/claude/commands/tm/sync-readme/sync-readme.md(0 hunks)assets/claude/commands/tm/tm-main.md(0 hunks)assets/claude/commands/tm/update/update-single-task.md(0 hunks)assets/claude/commands/tm/update/update-task.md(0 hunks)assets/claude/commands/tm/utils/analyze-project.md(0 hunks)assets/claude/commands/tm/workflows/auto-implement-tasks.md(0 hunks)assets/claude/commands/tm/workflows/command-pipeline.md(0 hunks)assets/claude/commands/tm/workflows/smart-workflow.md(0 hunks)packages/claude-code-plugin/.claude-plugin/plugin.json(1 hunks)packages/claude-code-plugin/commands/add-dependency.md(1 hunks)packages/claude-code-plugin/commands/add-subtask.md(1 hunks)packages/claude-code-plugin/commands/analyze-complexity.md(1 hunks)packages/claude-code-plugin/commands/clear-subtasks.md(1 hunks)packages/claude-code-plugin/commands/complexity-report.md(1 hunks)packages/claude-code-plugin/commands/convert-task-to-subtask.md(1 hunks)packages/claude-code-plugin/commands/fix-dependencies.md(1 hunks)packages/claude-code-plugin/commands/help.md(1 hunks)packages/claude-code-plugin/commands/init-project-quick.md(1 hunks)packages/claude-code-plugin/commands/init-project.md(1 hunks)packages/claude-code-plugin/commands/remove-dependency.md(1 hunks)packages/claude-code-plugin/commands/remove-subtask.md(1 hunks)packages/claude-code-plugin/commands/remove-subtasks.md(1 hunks)packages/claude-code-plugin/commands/remove-task.md(1 hunks)packages/claude-code-plugin/commands/tm-main.md(3 hunks)packages/claude-code-plugin/commands/update-single-task.md(1 hunks)packages/claude-code-plugin/commands/update-tasks-from-id.md(1 hunks)packages/claude-code-plugin/commands/validate-dependencies.md(1 hunks)packages/claude-code-plugin/mcp.json(1 hunks)packages/claude-code-plugin/package.json(1 hunks)src/profiles/claude.js(2 hunks)
💤 Files with no reviewable changes (45)
- .claude/commands/tm/remove-task/remove-task.md
- assets/claude/commands/tm/fix-dependencies/fix-dependencies.md
- assets/claude/commands/tm/help.md
- assets/claude/commands/tm/update/update-single-task.md
- assets/claude/commands/tm/set-status/to-review.md
- assets/claude/commands/tm/list/list-tasks-with-subtasks.md
- assets/claude/commands/tm/set-status/to-deferred.md
- assets/claude/commands/tm/show/show-task.md
- assets/claude/commands/tm/set-status/to-in-progress.md
- assets/claude/commands/tm/complexity-report/complexity-report.md
- .claude/commands/tm/init/init-project-quick.md
- .claude/commands/tm/remove-dependency/remove-dependency.md
- assets/claude/commands/tm/generate/generate-tasks.md
- assets/claude/commands/tm/set-status/to-done.md
- .claude/commands/tm/remove-subtask/remove-subtask.md
- assets/claude/commands/tm/set-status/to-cancelled.md
- assets/claude/commands/tm/utils/analyze-project.md
- .claude/commands/tm/help.md
- assets/claude/commands/tm/next/next-task.md
- assets/claude/commands/tm/parse-prd/parse-prd-with-research.md
- assets/claude/commands/tm/tm-main.md
- assets/claude/commands/tm/models/setup-models.md
- assets/claude/commands/tm/learn.md
- assets/claude/commands/tm/setup/quick-install-taskmaster.md
- assets/claude/commands/tm/remove-subtasks/remove-subtasks.md
- assets/claude/commands/tm/add-task/add-task.md
- assets/claude/commands/tm/list/list-tasks.md
- assets/claude/commands/tm/workflows/command-pipeline.md
- assets/claude/commands/tm/add-subtask/convert-task-to-subtask.md
- assets/claude/commands/tm/expand/expand-all-tasks.md
- assets/claude/commands/tm/workflows/smart-workflow.md
- assets/claude/commands/tm/sync-readme/sync-readme.md
- assets/claude/commands/tm/setup/install-taskmaster.md
- assets/claude/commands/tm/set-status/to-pending.md
- .claude/agents/task-orchestrator.md
- assets/claude/commands/tm/remove-subtasks/remove-all-subtasks.md
- assets/claude/commands/tm/models/view-models.md
- assets/claude/commands/tm/update/update-task.md
- assets/claude/agents/task-checker.md
- .claude/agents/task-executor.md
- assets/claude/commands/tm/expand/expand-task.md
- assets/claude/commands/tm/parse-prd/parse-prd.md
- assets/claude/commands/tm/list/list-tasks-by-status.md
- assets/claude/commands/tm/status/project-status.md
- assets/claude/commands/tm/workflows/auto-implement-tasks.md
🧰 Additional context used
📓 Path-based instructions (4)
.changeset/*.md
📄 CodeRabbit inference engine (.cursor/rules/changeset.mdc)
.changeset/*.md: When runningnpm run changesetornpx changeset add, provide a concise summary of the changes for theCHANGELOG.mdin imperative mood, typically a single line, and not a detailed Git commit message.
The changeset summary should be user-facing, describing what changed in the released version that is relevant to users or consumers of the package.
Do not use your detailed Git commit message body as the changeset summary.
Files:
.changeset/mean-planes-wave.md
.changeset/*
📄 CodeRabbit inference engine (.cursor/rules/new_features.mdc)
Create appropriate changesets for new features, use semantic versioning, include tagged system information in release notes, and document breaking changes if any.
Files:
.changeset/mean-planes-wave.md
.changeset/**/*.md
📄 CodeRabbit inference engine (CLAUDE.md)
Changeset entries should be user-facing, describing the end-user impact rather than code specifics
Files:
.changeset/mean-planes-wave.md
**/*.js
📄 CodeRabbit inference engine (.cursor/rules/tests.mdc)
**/*.js: Declare and initialize global variables at the top of modules to avoid hoisting issues.
Use proper function declarations to avoid hoisting issues and initialize variables before they are referenced.
Do not reference variables before their declaration in module scope.
Use dynamic imports (import()) to avoid initialization order issues in modules.
Files:
src/profiles/claude.js
🧠 Learnings (46)
📓 Common learnings
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1002
File: .changeset/puny-friends-give.md:2-3
Timestamp: 2025-07-17T21:33:57.585Z
Learning: In the eyaltoledano/claude-task-master repository, the MCP server code in mcp-server/src/ is part of the main "task-master-ai" package, not a separate "mcp-server" package. When creating changesets for MCP server changes, use "task-master-ai" as the package name.
📚 Learning: 2025-09-24T15:12:58.855Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/AGENTS.md:0-0
Timestamp: 2025-09-24T15:12:58.855Z
Learning: Applies to assets/.claude/commands/taskmaster-next.md : Create .claude/commands/taskmaster-next.md with steps to run task-master next, then task-master show <id>, summarize, and suggest first step
Applied to files:
packages/claude-code-plugin/commands/add-subtask.md
📚 Learning: 2025-09-24T15:12:12.658Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/.windsurfrules:0-0
Timestamp: 2025-09-24T15:12:12.658Z
Learning: Manage dependencies with task-master add-dependency and remove-dependency; validate and fix using validate-dependencies and fix-dependencies
Applied to files:
packages/claude-code-plugin/commands/add-dependency.mdpackages/claude-code-plugin/commands/fix-dependencies.mdpackages/claude-code-plugin/commands/remove-dependency.mdpackages/claude-code-plugin/commands/validate-dependencies.md
📚 Learning: 2025-09-24T15:12:12.658Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/.windsurfrules:0-0
Timestamp: 2025-09-24T15:12:12.658Z
Learning: Add tasks with task-master add-task using AI with prompt, dependencies, and priority options
Applied to files:
packages/claude-code-plugin/commands/add-dependency.mdpackages/claude-code-plugin/commands/tm-main.mdpackages/claude-code-plugin/commands/init-project-quick.mdpackages/claude-code-plugin/commands/convert-task-to-subtask.md
📚 Learning: 2025-09-24T15:12:12.658Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/.windsurfrules:0-0
Timestamp: 2025-09-24T15:12:12.658Z
Learning: Start new projects with task-master init or parse a PRD via task-master parse-prd --input=<file> to generate an initial tasks.json
Applied to files:
packages/claude-code-plugin/commands/tm-main.mdpackages/claude-code-plugin/commands/init-project-quick.mdpackages/claude-code-plugin/commands/init-project.md
📚 Learning: 2025-07-18T17:18:17.759Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/utilities.mdc:0-0
Timestamp: 2025-07-18T17:18:17.759Z
Learning: Applies to .taskmasterconfig : Use `.taskmasterconfig` (JSON) in the project root for storing Taskmaster configuration (excluding API keys), and manage it via the `task-master models --setup` CLI command or the `models` MCP tool.
Applied to files:
packages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-07-18T21:57:56.681Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1011
File: scripts/modules/task-manager/models.js:29-30
Timestamp: 2025-07-18T21:57:56.681Z
Learning: The `task-master init` command creates the config.json file inside the .taskmaster directory, while `task-master models --setup` does not create this file. When the configuration file is missing, users should be directed to run `task-master init`.
Applied to files:
packages/claude-code-plugin/commands/tm-main.mdpackages/claude-code-plugin/commands/init-project-quick.md
📚 Learning: 2025-09-24T15:12:12.658Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/.windsurfrules:0-0
Timestamp: 2025-09-24T15:12:12.658Z
Learning: Initialize projects with task-master init to scaffold structure and merge with existing files when appropriate
Applied to files:
packages/claude-code-plugin/commands/tm-main.mdpackages/claude-code-plugin/commands/init-project-quick.mdpackages/claude-code-plugin/commands/init-project.md
📚 Learning: 2025-07-31T22:08:16.039Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/taskmaster.mdc:0-0
Timestamp: 2025-07-31T22:08:16.039Z
Learning: Applies to .taskmaster/config.json : All other Taskmaster settings (model choice, max tokens, temperature, log level, custom endpoints) are managed in .taskmaster/config.json via the task-master models command or models MCP tool.
Applied to files:
packages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-07-18T17:10:02.683Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-07-18T17:10:02.683Z
Learning: Applies to .taskmaster/config.json : Store Taskmaster configuration settings (AI model selections, parameters, logging level, default subtasks/priority, project name, tag management) in `.taskmaster/config.json` in the project root. Do not configure these via environment variables.
Applied to files:
packages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-09-24T15:12:58.855Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/AGENTS.md:0-0
Timestamp: 2025-09-24T15:12:58.855Z
Learning: Applies to assets/.taskmaster/config.json : Never manually edit .taskmaster/config.json; use task-master models to change AI model settings
Applied to files:
packages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-07-18T17:10:12.881Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-07-18T17:10:12.881Z
Learning: Applies to .taskmaster/config.json : Store Taskmaster configuration settings (AI model selections, parameters, logging level, default subtasks/priority, project name, etc.) in the `.taskmaster/config.json` file located in the project root directory. Do not configure non-API key settings via environment variables.
Applied to files:
packages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-07-18T17:10:12.881Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-07-18T17:10:12.881Z
Learning: For CLI usage, install Taskmaster globally with `npm install -g task-master-ai` or use locally via `npx task-master-ai ...`.
Applied to files:
packages/claude-code-plugin/commands/tm-main.mdpackages/claude-code-plugin/commands/init-project-quick.md
📚 Learning: 2025-07-18T17:10:53.657Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/glossary.mdc:0-0
Timestamp: 2025-07-18T17:10:53.657Z
Learning: Comprehensive reference for Taskmaster MCP tools and CLI commands with tagged task lists information (taskmaster.mdc).
Applied to files:
packages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-07-18T17:10:12.881Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-07-18T17:10:12.881Z
Learning: Use the Taskmaster command set (`task-master` CLI or MCP tools) for all task management operations: listing, expanding, updating, tagging, and status changes.
Applied to files:
packages/claude-code-plugin/commands/tm-main.mdpackages/claude-code-plugin/commands/analyze-complexity.md
📚 Learning: 2025-07-18T17:14:29.399Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/tasks.mdc:0-0
Timestamp: 2025-07-18T17:14:29.399Z
Learning: Applies to scripts/modules/task-manager.js : Extract tasks from PRD documents using AI, create them in the current tag context (defaulting to 'master'), provide clear prompts to guide AI task generation, and validate/clean up AI-generated tasks.
Applied to files:
packages/claude-code-plugin/commands/tm-main.mdpackages/claude-code-plugin/commands/init-project-quick.mdpackages/claude-code-plugin/commands/init-project.md
📚 Learning: 2025-07-18T17:10:53.657Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/glossary.mdc:0-0
Timestamp: 2025-07-18T17:10:53.657Z
Learning: Guide for using Task Master to manage task-driven development workflows with tagged task lists support (dev_workflow.mdc).
Applied to files:
packages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-07-18T17:09:13.815Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/context_gathering.mdc:0-0
Timestamp: 2025-07-18T17:09:13.815Z
Learning: Use context gathering for AI-powered commands that benefit from project context, when users might want to reference specific tasks or files, or for research, analysis, or generation commands. Do not use for simple CRUD operations that don't need AI context.
Applied to files:
packages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-07-31T22:07:49.716Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/commands.mdc:0-0
Timestamp: 2025-07-31T22:07:49.716Z
Learning: Applies to scripts/modules/commands.js : For AI-powered commands that benefit from project context, use the ContextGatherer utility for multi-source context extraction, support task IDs, file paths, custom context, and project tree, implement fuzzy search for automatic task discovery, and display detailed token breakdown for transparency.
Applied to files:
packages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-07-18T17:09:16.839Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/context_gathering.mdc:0-0
Timestamp: 2025-07-18T17:09:16.839Z
Learning: For AI-powered commands, always use context gathering when the command benefits from project context, references specific tasks or files, or is used for research, analysis, or generation.
Applied to files:
packages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-09-17T19:28:51.486Z
Learnt from: joedanz
PR: eyaltoledano/claude-task-master#1186
File: src/profiles/cursor.js:37-43
Timestamp: 2025-09-17T19:28:51.486Z
Learning: In the eyaltoledano/claude-task-master repository cursor profile implementation, the onAdd lifecycle hook sources command files from 'assets/claude/commands' and transforms them for Cursor IDE compatibility, rather than using separate cursor-specific command files.
Applied to files:
src/profiles/claude.js
📚 Learning: 2025-08-06T21:12:20.981Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1091
File: assets/claude/agents/task-executor.md:1-6
Timestamp: 2025-08-06T21:12:20.981Z
Learning: In the eyaltoledano/claude-task-master repository, agent files in assets/claude/agents/ are intended for distribution to users (for copying), while identical files in .claude/agents/ are for internal project use. This intentional duplication serves different purposes and is not a DRY violation.
Applied to files:
src/profiles/claude.js
📚 Learning: 2025-07-18T17:10:12.881Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-07-18T17:10:12.881Z
Learning: Applies to .*/rules/** : Each AI coding assistant rule profile (e.g., Claude Code, Cursor, Windsurf) creates its own directory (e.g., `.cursor/rules`, `.roo/rules`) with appropriate configuration files. Manage rule sets using the `task-master rules` commands.
Applied to files:
src/profiles/claude.js
📚 Learning: 2025-07-31T22:08:16.039Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/taskmaster.mdc:0-0
Timestamp: 2025-07-31T22:08:16.039Z
Learning: After initializing a project with Taskmaster, you must parse a PRD in order to generate tasks. There will be no tasks files until then.
Applied to files:
packages/claude-code-plugin/commands/init-project-quick.mdpackages/claude-code-plugin/commands/init-project.md
📚 Learning: 2025-09-24T15:12:12.658Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/.windsurfrules:0-0
Timestamp: 2025-09-24T15:12:12.658Z
Learning: Break down tasks using task-master expand --id=<id> with appropriate flags; clear and regenerate subtasks as needed
Applied to files:
packages/claude-code-plugin/commands/clear-subtasks.mdpackages/claude-code-plugin/commands/remove-subtasks.mdpackages/claude-code-plugin/commands/analyze-complexity.md
📚 Learning: 2025-07-31T22:08:16.039Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/taskmaster.mdc:0-0
Timestamp: 2025-07-31T22:08:16.039Z
Learning: When removing tasks or subtasks, use the remove-task or remove-subtask commands with caution, as this operation cannot be undone. Consider using 'blocked', 'cancelled', or 'deferred' status instead if you want to keep the task for reference.
Applied to files:
packages/claude-code-plugin/commands/clear-subtasks.mdpackages/claude-code-plugin/commands/remove-subtasks.mdpackages/claude-code-plugin/commands/remove-task.mdpackages/claude-code-plugin/commands/remove-subtask.md
📚 Learning: 2025-07-18T17:09:13.815Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/context_gathering.mdc:0-0
Timestamp: 2025-07-18T17:09:13.815Z
Learning: Commands such as `analyze-complexity`, `expand-task`, `update-task`, and `add-task` should consider adopting the context gathering pattern for improved AI-powered assistance.
Applied to files:
packages/claude-code-plugin/commands/complexity-report.mdpackages/claude-code-plugin/commands/analyze-complexity.md
📚 Learning: 2025-09-24T15:12:12.658Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/.windsurfrules:0-0
Timestamp: 2025-09-24T15:12:12.658Z
Learning: Use task-master complexity-report to view formatted complexity insights and recommendations
Applied to files:
packages/claude-code-plugin/commands/complexity-report.mdpackages/claude-code-plugin/commands/analyze-complexity.md
📚 Learning: 2025-09-24T15:12:12.658Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/.windsurfrules:0-0
Timestamp: 2025-09-24T15:12:12.658Z
Learning: Analyze task complexity with task-master analyze-complexity --research and use results to plan breakdown
Applied to files:
packages/claude-code-plugin/commands/complexity-report.mdpackages/claude-code-plugin/commands/analyze-complexity.md
📚 Learning: 2025-07-18T17:10:02.683Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-07-18T17:10:02.683Z
Learning: When breaking down complex tasks in Taskmaster, use the `expand_task` command with appropriate flags (`--num`, `--research`, `--force`, `--prompt`) and review generated subtasks for accuracy.
Applied to files:
packages/claude-code-plugin/commands/complexity-report.mdpackages/claude-code-plugin/commands/analyze-complexity.md
📚 Learning: 2025-09-26T19:05:47.555Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1252
File: packages/ai-sdk-provider-grok-cli/package.json:11-13
Timestamp: 2025-09-26T19:05:47.555Z
Learning: In the eyaltoledano/claude-task-master repository, internal tm/ packages use a specific export pattern where the "exports" field points to TypeScript source files (./src/index.ts) while "main" points to compiled output (./dist/index.js) and "types" points to source files (./src/index.ts). This pattern is used consistently across internal packages like tm/core and tm/ai-sdk-provider-grok-cli because they are consumed directly during build-time bundling with tsdown rather than being published as separate packages.
Applied to files:
packages/claude-code-plugin/package.jsonpackages/claude-code-plugin/.claude-plugin/plugin.json
📚 Learning: 2025-09-26T19:03:33.225Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1252
File: package.json:130-132
Timestamp: 2025-09-26T19:03:33.225Z
Learning: In the eyaltoledano/claude-task-master repository, all packages with tm prefix are internal packages that are part of the monorepo structure and are not published externally.
Applied to files:
packages/claude-code-plugin/package.json
📚 Learning: 2025-07-17T21:33:57.585Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1002
File: .changeset/puny-friends-give.md:2-3
Timestamp: 2025-07-17T21:33:57.585Z
Learning: In the eyaltoledano/claude-task-master repository, the MCP server code in mcp-server/src/ is part of the main "task-master-ai" package, not a separate "mcp-server" package. When creating changesets for MCP server changes, use "task-master-ai" as the package name.
Applied to files:
packages/claude-code-plugin/mcp.json
📚 Learning: 2025-09-24T15:12:58.855Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/AGENTS.md:0-0
Timestamp: 2025-09-24T15:12:58.855Z
Learning: Applies to assets/**/.mcp.json : Configure the Task Master MCP server in .mcp.json under mcpServers.task-master-ai using npx task-master-ai and provide required API key env vars
Applied to files:
packages/claude-code-plugin/mcp.json
📚 Learning: 2025-07-31T22:08:16.039Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/taskmaster.mdc:0-0
Timestamp: 2025-07-31T22:08:16.039Z
Learning: Applies to .taskmaster/config.json : Do not manually edit the .taskmaster/config.json file; always use the provided CLI or MCP tools for configuration changes.
Applied to files:
packages/claude-code-plugin/mcp.json
📚 Learning: 2025-07-31T22:08:16.039Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/taskmaster.mdc:0-0
Timestamp: 2025-07-31T22:08:16.039Z
Learning: Applies to .taskmaster/config.json : Do not manually edit the .taskmaster/config.json file. Use the included commands either in the MCP or CLI format as needed. Always prioritize MCP tools when available and use the CLI as a fallback.
Applied to files:
packages/claude-code-plugin/mcp.json
📚 Learning: 2025-07-31T21:48:00.389Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#997
File: apps/extension/src/services/task-repository.ts:25-57
Timestamp: 2025-07-31T21:48:00.389Z
Learning: In the eyaltoledano/claude-task-master repository, every task is always part of a tag - there is no concept of untagged tasks. The tag system is mandatory and comprehensive, meaning all tasks exist within a tag context (with 'master' as the default tag if none specified).
Applied to files:
packages/claude-code-plugin/.claude-plugin/plugin.json
📚 Learning: 2025-07-18T17:09:45.690Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dependencies.mdc:0-0
Timestamp: 2025-07-18T17:09:45.690Z
Learning: Applies to scripts/modules/dependency-manager.js : Allow numeric subtask IDs to reference other subtasks within the same parent
Applied to files:
packages/claude-code-plugin/commands/convert-task-to-subtask.md
📚 Learning: 2025-09-24T15:12:58.855Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/AGENTS.md:0-0
Timestamp: 2025-09-24T15:12:58.855Z
Learning: Applies to assets/.taskmaster/docs/*.{txt,md} : Keep PRDs as .txt or .md under .taskmaster/docs and parse them with task-master parse-prd (use --append for incremental updates)
Applied to files:
packages/claude-code-plugin/commands/init-project.md
📚 Learning: 2025-07-18T17:10:12.881Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-07-18T17:10:12.881Z
Learning: Applies to .taskmaster/docs/*.txt : Place Product Requirements Documents (PRDs) for features or initiatives in `.taskmaster/docs/` with descriptive filenames (e.g., `.taskmaster/docs/feature-xyz-prd.txt`).
Applied to files:
packages/claude-code-plugin/commands/init-project.md
📚 Learning: 2025-07-18T17:10:12.881Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-07-18T17:10:12.881Z
Learning: For PRD-driven feature development, create a dedicated tag, draft a PRD in `.taskmaster/docs/`, parse it into tasks, and add a high-level reference in the master tag.
Applied to files:
packages/claude-code-plugin/commands/init-project.md
📚 Learning: 2025-07-18T17:10:12.881Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-07-18T17:10:12.881Z
Learning: When breaking down complex tasks, use the `expand_task` command with appropriate flags (`--force`, `--research`, `--num`, `--prompt`) and review generated subtasks for accuracy.
Applied to files:
packages/claude-code-plugin/commands/analyze-complexity.md
📚 Learning: 2025-07-31T20:49:04.638Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#997
File: apps/extension/package.publish.json:2-8
Timestamp: 2025-07-31T20:49:04.638Z
Learning: In the eyaltoledano/claude-task-master repository, the VS Code extension uses a 3-file packaging system where package.json (with name "extension") is for development within the monorepo, while package.publish.json (with name "task-master-hamster") contains the clean manifest for VS Code marketplace publishing. The different names are intentional and serve distinct purposes in the build and publishing workflow.
Applied to files:
.claude-plugin/marketplace.json
📚 Learning: 2025-09-24T15:12:12.658Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/.windsurfrules:0-0
Timestamp: 2025-09-24T15:12:12.658Z
Learning: Use task-master generate to create or update task files from tasks.json and keep dependencies valid with fix-dependencies
Applied to files:
packages/claude-code-plugin/commands/validate-dependencies.md
📚 Learning: 2025-07-18T17:08:48.695Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/commands.mdc:0-0
Timestamp: 2025-07-18T17:08:48.695Z
Learning: Applies to scripts/modules/commands.js : Follow the provided structure for removing subtasks, including required options, conversion option, and detailed error handling.
Applied to files:
packages/claude-code-plugin/commands/remove-subtask.md
📚 Learning: 2025-07-31T22:07:49.716Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/commands.mdc:0-0
Timestamp: 2025-07-31T22:07:49.716Z
Learning: Applies to scripts/modules/commands.js : Follow the provided structure for removing subtasks, including options for conversion, file path, and regeneration, with detailed error handling.
Applied to files:
packages/claude-code-plugin/commands/remove-subtask.md
🪛 markdownlint-cli2 (0.18.1)
.changeset/mean-planes-wave.md
5-5: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
9-9: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
packages/claude-code-plugin/commands/tm-main.md
11-11: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
15-15: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
24-24: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
28-28: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
33-33: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
38-38: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
46-46: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
49-49: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
54-54: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
57-57: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
62-62: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
66-66: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
69-69: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
75-75: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
78-78: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
81-81: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
88-88: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
91-91: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
94-94: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
99-99: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
102-102: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
105-105: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
108-108: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
113-113: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
120-120: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
123-123: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
137-137: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
139-139: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
139-139: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
packages/claude-code-plugin/commands/init-project-quick.md
37-37: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
37-37: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
42-42: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
42-42: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
packages/claude-code-plugin/commands/help.md
1-1: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
15-15: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
19-19: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
25-25: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
30-30: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
40-40: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
48-48: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
54-54: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
60-60: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
67-67: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
70-70: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
75-75: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
84-84: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
98-98: Files should end with a single newline character
(MD047, single-trailing-newline)
🔇 Additional comments (14)
packages/claude-code-plugin/commands/analyze-complexity.md (1)
118-120: LGTM! Namespace migration is consistent.The command examples have been correctly updated to use the new
/task-master-ainamespace, aligning with the broader plugin architecture migration across the codebase.packages/claude-code-plugin/commands/update-single-task.md (1)
69-69: LGTM! Namespace update is consistent.The command example correctly reflects the new
/task-master-ainamespace.packages/claude-code-plugin/package.json (1)
1-26: Verify missing dependencies and build scripts.The package manifest metadata is well-structured and follows monorepo conventions. However, the package lacks:
- Dependencies (devDependencies only includes types/node, tsx, typescript as mentioned in AI summary but not shown in the provided code)
- Build scripts or entry points ("main", "exports", "types" fields)
Given that the AI summary mentions this package includes "scripts (build, dev)" and "devDependencies (types/node, tsx, typescript)", please verify:
- Are the dependencies and scripts present but not shown in the annotated code?
- If they're missing, is this intentional for a documentation-only plugin package?
Based on learnings, internal
@tm/packages typically include proper export patterns with TypeScript source files. For a plugin package that provides commands and agents, ensure the package structure supports distribution through the Claude Code plugin marketplace.packages/claude-code-plugin/commands/remove-dependency.md (1)
58-58: LGTM! Namespace migration is consistent.The command example correctly uses the new
/task-master-ainamespace.packages/claude-code-plugin/commands/remove-task.md (1)
88-98: LGTM! Namespace migration is complete and consistent.All command references have been correctly updated to use the new
/task-master-ainamespace across the example flows.packages/claude-code-plugin/commands/remove-subtask.md (1)
66-72: LGTM! Namespace update is consistent.The example flows correctly reflect the new
/task-master-ainamespace for the remove-subtask command.src/profiles/claude.js (2)
41-48: LGTM! Behavioral change aligns with plugin architecture migration.The function now correctly logs deprecation messages and plugin installation instructions instead of copying the legacy
.claudedirectory. This aligns with the broader shift to a plugin-based architecture introduced in this PR.
109-114: LGTM! Behavioral change aligns with plugin architecture migration.The function now correctly logs instructions for plugin uninstallation instead of removing the
.claudedirectory. This is consistent with the deprecation of legacy directory management in favor of the plugin-based approach.packages/claude-code-plugin/commands/add-subtask.md (1)
59-64: LGTM! Namespace migration is consistent.The example flows correctly use the new
/task-master-ainamespace for the add-subtask command, maintaining consistency with the broader namespace migration across the plugin's command surface.packages/claude-code-plugin/.claude-plugin/plugin.json (1)
1-20: Metadata looks consistentManifest fields cover required basics (identity, links, keywords). No issues spotted.
.claude-plugin/marketplace.json (1)
1-31: Marketplace entry aligns with manifestMetadata, source path, and categorization all look coherent with the new plugin package.
packages/claude-code-plugin/mcp.json (1)
1-8: MCP configuration matches expected pattern
npx task-master-aivia stdio is the documented approach. Looks good.packages/claude-code-plugin/commands/init-project.md (1)
46-49: Updated invocation reads wellExample now points to
/task-master-ai:init, matching the new namespace.packages/claude-code-plugin/commands/complexity-report.md (1)
107-116: Command examples look consistentSamples reflect the
/task-master-ai:namespace throughout. No issues spotted.
| --- | ||
| "task-master-ai": minor | ||
| --- | ||
|
|
||
| Add Claude Code plugin with marketplace distribution | ||
|
|
||
| This release introduces official Claude Code plugin support, marking the evolution from legacy `.claude` directory copying to a modern plugin-based architecture. | ||
|
|
||
| **🎉 New: Claude Code Plugin** | ||
|
|
||
| Task Master AI commands and agents are now distributed as a proper Claude Code plugin: | ||
|
|
||
| - **49 slash commands** with clean naming (`/task-master-ai:command-name`) | ||
| - **3 specialized AI agents** (task-orchestrator, task-executor, task-checker) | ||
| - **MCP server integration** for deep Claude Code integration | ||
|
|
||
| **Installation:** | ||
|
|
||
| ```bash | ||
| /plugin marketplace add eyaltoledano/claude-task-master | ||
| /plugin install task-master-ai@task-master | ||
| ``` | ||
|
|
||
| **⚠️ Breaking Change: Legacy `.claude` Directory Deprecated** | ||
|
|
||
| The `rules add claude` command no longer copies commands and agents to `.claude/commands/` and `.claude/agents/`. Instead, it now: | ||
|
|
||
| - Shows plugin installation instructions | ||
| - Only manages CLAUDE.md imports for agent instructions | ||
| - Directs users to install the official plugin | ||
|
|
||
| **Migration for Existing Users:** | ||
|
|
||
| If you previously used `rules add claude`: | ||
|
|
||
| 1. The old commands in `.claude/commands/` will continue to work but won't receive updates | ||
| 2. Install the plugin for the latest features: `/plugin install task-master-ai@task-master` | ||
| 3. remove old `.claude/commands/` and `.claude/agents/` directories | ||
|
|
There was a problem hiding this comment.
Upgrade changeset to a major release
Line 2 currently marks this as a minor, but the notes announce a breaking change (legacy .claude directories stop being managed). That’s a contract break for existing users, so we should promote this to a major release to stay semver-compliant.
Apply this diff:
-"task-master-ai": minor
+"task-master-ai": majorBased on learnings
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| --- | |
| "task-master-ai": minor | |
| --- | |
| Add Claude Code plugin with marketplace distribution | |
| This release introduces official Claude Code plugin support, marking the evolution from legacy `.claude` directory copying to a modern plugin-based architecture. | |
| **🎉 New: Claude Code Plugin** | |
| Task Master AI commands and agents are now distributed as a proper Claude Code plugin: | |
| - **49 slash commands** with clean naming (`/task-master-ai:command-name`) | |
| - **3 specialized AI agents** (task-orchestrator, task-executor, task-checker) | |
| - **MCP server integration** for deep Claude Code integration | |
| **Installation:** | |
| ```bash | |
| /plugin marketplace add eyaltoledano/claude-task-master | |
| /plugin install task-master-ai@task-master | |
| ``` | |
| **⚠️ Breaking Change: Legacy `.claude` Directory Deprecated** | |
| The `rules add claude` command no longer copies commands and agents to `.claude/commands/` and `.claude/agents/`. Instead, it now: | |
| - Shows plugin installation instructions | |
| - Only manages CLAUDE.md imports for agent instructions | |
| - Directs users to install the official plugin | |
| **Migration for Existing Users:** | |
| If you previously used `rules add claude`: | |
| 1. The old commands in `.claude/commands/` will continue to work but won't receive updates | |
| 2. Install the plugin for the latest features: `/plugin install task-master-ai@task-master` | |
| 3. remove old `.claude/commands/` and `.claude/agents/` directories | |
| --- | |
| "task-master-ai": major | |
| --- | |
| Add Claude Code plugin with marketplace distribution | |
| This release introduces official Claude Code plugin support, marking the evolution from legacy `.claude` directory copying to a modern plugin-based architecture. | |
| **🎉 New: Claude Code Plugin** | |
| Task Master AI commands and agents are now distributed as a proper Claude Code plugin: | |
| - **49 slash commands** with clean naming (`/task-master-ai:command-name`) | |
| - **3 specialized AI agents** (task-orchestrator, task-executor, task-checker) | |
| - **MCP server integration** for deep Claude Code integration | |
| **Installation:** | |
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
5-5: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
9-9: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
🤖 Prompt for AI Agents
.changeset/mean-planes-wave.md lines 1-39: The changeset is marked "minor" but
the notes describe a breaking change (legacy .claude directory deprecation), so
update the release type to "major". Edit the YAML header on line 2 from "minor"
to "major" and keep the rest of the changelog content unchanged so the release
is semver-compliant.
| #### 🚀 Setup & Installation | ||
| - `/task-master-ai:install-taskmaster` - Comprehensive installation guide | ||
| - `/task-master-ai:quick-install-taskmaster` - One-line global install | ||
|
|
||
| #### 📋 Project Setup | ||
| - `/task-master-ai:init-project` - Initialize new project | ||
| - `/task-master-ai:init-project-quick` - Quick setup with auto-confirm | ||
| - `/task-master-ai:view-models` - View AI configuration | ||
| - `/task-master-ai:setup-models` - Configure AI providers | ||
|
|
||
| #### 🎯 Task Generation | ||
| - `/task-master-ai:parse-prd` - Generate tasks from PRD | ||
| - `/task-master-ai:parse-prd-with-research` - Enhanced parsing | ||
| - `/task-master-ai:generate-tasks` - Create task files | ||
|
|
||
| #### 📝 Task Management | ||
| - `/task-master-ai:list-tasks` - List all tasks | ||
| - `/task-master-ai:list-tasks-by-status` - List tasks filtered by status | ||
| - `/task-master-ai:list-tasks-with-subtasks` - List tasks with subtasks | ||
| - `/task-master-ai:show-task` - Display task details | ||
| - `/task-master-ai:add-task` - Create new task | ||
| - `/task-master-ai:update-task` - Update single task | ||
| - `/task-master-ai:update-tasks-from-id` - Update multiple tasks | ||
| - `/task-master-ai:next-task` - Get next task recommendation | ||
|
|
||
| #### 🔄 Status Management | ||
| - `/task-master-ai:to-pending` - Set task to pending | ||
| - `/task-master-ai:to-in-progress` - Set task to in-progress | ||
| - `/task-master-ai:to-done` - Set task to done | ||
| - `/task-master-ai:to-review` - Set task to review | ||
| - `/task-master-ai:to-deferred` - Set task to deferred | ||
| - `/task-master-ai:to-cancelled` - Set task to cancelled | ||
|
|
||
| #### 🔍 Analysis & Breakdown | ||
| - `/task-master-ai:analyze-complexity` - Analyze task complexity | ||
| - `/task-master-ai:complexity-report` - View complexity report | ||
| - `/task-master-ai:expand-task` - Break down complex task | ||
| - `/task-master-ai:expand-all-tasks` - Expand all eligible tasks | ||
|
|
||
| #### 🔗 Dependencies | ||
| - `/task-master-ai:add-dependency` - Add task dependency | ||
| - `/task-master-ai:remove-dependency` - Remove dependency | ||
| - `/task-master-ai:validate-dependencies` - Check for issues | ||
| - `/task-master-ai:fix-dependencies` - Auto-fix dependency issues | ||
|
|
||
| #### 📦 Subtasks | ||
| - `/task-master-ai:add-subtask` - Add subtask to task | ||
| - `/task-master-ai:convert-task-to-subtask` - Convert task to subtask | ||
| - `/task-master-ai:remove-subtask` - Remove subtask | ||
| - `/task-master-ai:clear-subtasks` - Clear specific task subtasks | ||
| - `/task-master-ai:clear-all-subtasks` - Clear all subtasks | ||
|
|
||
| #### 🗑️ Task Removal | ||
| - `/task-master-ai:remove-task` - Remove task permanently | ||
|
|
||
| #### 🤖 Workflows | ||
| - `/task-master-ai:smart-workflow` - Intelligent workflows | ||
| - `/task-master-ai:command-pipeline` - Command chaining | ||
| - `/task-master-ai:auto-implement-tasks` - Auto-implementation | ||
|
|
||
| #### 📊 Utilities | ||
| - `/task-master-ai:analyze-project` - Project analysis | ||
| - `/task-master-ai:project-status` - Project dashboard | ||
| - `/task-master-ai:sync-readme` - Sync README with tasks | ||
| - `/task-master-ai:learn` - Interactive learning | ||
| - `/task-master-ai:tm-main` - Main Task Master interface | ||
|
|
||
| ### Quick Start Examples | ||
|
|
||
| ``` | ||
| /task-master-ai:list-tasks | ||
| /task-master-ai:show-task 1.2 | ||
| /task-master-ai:add-task | ||
| /task-master-ai:next-task | ||
| ``` | ||
|
|
||
| ### Getting Started | ||
|
|
||
| 1. Install: `/task-master-ai:quick-install-taskmaster` | ||
| 2. Initialize: `/task-master-ai:init-project-quick` | ||
| 3. Learn: `/task-master-ai:learn` | ||
| 4. Work: `/task-master-ai:smart-workflow` | ||
|
|
||
| For detailed command info, run the specific command with `--help` or check command documentation. No newline at end of file |
There was a problem hiding this comment.
🧹 Nitpick | 🔵 Trivial
Fix Markdown formatting issues
markdownlint caught a few items:
- Add blank lines after each heading before the content list (MD022).
- Annotate the fenced block with a language (e.g., ```bash) (MD040).
- Ensure the file ends with a newline (MD047).
Example:
-### Quick Start Examples
-```
-/task-master-ai:list-tasks
+### Quick Start Examples
+
+```bash
+/task-master-ai:list-tasks
...
-/task-master-ai:next-task
-```
+/task-master-ai:next-task
+```🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
15-15: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
19-19: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
25-25: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
30-30: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
40-40: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
48-48: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
54-54: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
60-60: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
67-67: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
70-70: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
75-75: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
84-84: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
98-98: Files should end with a single newline character
(MD047, single-trailing-newline)
🤖 Prompt for AI Agents
In packages/claude-code-plugin/commands/help.md around lines 15 to 98, the
Markdown has lint issues: add a blank line after each heading (e.g., after "🚀
Setup & Installation", "📋 Project Setup", etc.) to satisfy MD022, annotate the
fenced code block in "Quick Start Examples" with a language tag such as ```bash
to satisfy MD040, and ensure the file ends with a single trailing newline
character to satisfy MD047; make these three edits and save the file.
| 1. Configure AI models if needed: | ||
| ``` | ||
| /project:tm/models/setup | ||
| /task-master-ai:models/setup | ||
| ``` | ||
|
|
||
| 2. Parse PRD if available: | ||
| ``` | ||
| /project:tm/parse-prd <file> | ||
| /task-master-ai:parse-prd <file> | ||
| ``` | ||
|
|
||
| 3. Or create first task: | ||
| ``` | ||
| /project:tm/add-task create initial setup | ||
| /task-master-ai:add-task create initial setup | ||
| ``` |
There was a problem hiding this comment.
🧹 Nitpick | 🔵 Trivial
Fix fenced code blocks for lint compliance.
markdownlint is flagging these code blocks for missing language tags (MD040) and spacing (MD031). Please add a language (e.g., bash) and ensure each block is wrapped with blank lines. For example:
- ```
+ ```bash
/task-master-ai:models/setup
```Apply the same pattern to the following blocks so the linter passes.
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
32-32: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
32-32: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
37-37: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
37-37: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
42-42: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
42-42: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
In packages/claude-code-plugin/commands/init-project-quick.md around lines 31 to
44, the fenced code blocks are missing language tags and proper surrounding
blank lines which triggers markdownlint MD040 and MD031; update each fenced
block to include a language specifier (e.g., bash) after the opening backticks
and ensure there is a blank line before the opening ``` and after the closing
``` for each block so all three command examples follow the same pattern and the
linter passes.
Crunchyman-ralph
left a comment
There was a problem hiding this comment.
self-reviewed
Regenerated plugin files from assets/claude/ source: - Updated plugin manifest (.claude-plugin/plugin.json) - Updated MCP configuration (.mcp.json) - Updated build metadata - All 49 commands and 3 agents copied from source These generated files must be committed for GitHub distribution. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
b1c36d8 to
1e27e86
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
packages/claude-code-plugin/commands/tm-main.md (1)
11-143: Fix markdownlint regressions around headingsmarkdownlint is flagging multiple MD022/MD031/MD040 violations on the sections you touched: headings need blank lines before/after, and the final fenced example needs an explicit language. Please insert blank lines around each
###heading and add a language (e.g.,text) to the fenced block so CI passes. Based on static analysis hintssrc/profiles/claude.js (1)
8-37: Remove unused helper functions in src/profiles/claude.js The functionscopyRecursiveSync(lines 8–23) andremoveDirectoryRecursive(26–37) are defined but never invoked in this module and can be deleted.
♻️ Duplicate comments (4)
packages/claude-code-plugin/commands/init-project-quick.md (1)
33-44: Restore fenced-code formatting for markdownlint compliance.These fenced blocks still lack the language tag and surrounding blank lines, so MD040/MD031 will keep firing (see prior review). Add blank lines around each block and specify
bashafter the opening backticks for the three commands under “Next Steps”.packages/claude-code-plugin/commands/help.md (1)
15-98: Address markdown formatting issues from previous review.The following markdown formatting issues flagged in the previous review remain unresolved:
- Add blank lines after headings (MD022) at lines 15, 19, 25, 30, 40, 48, 54, 60, 67, 70, 75
- Add language tag to the code fence at line 84 (e.g.,
```bash)- Ensure the file ends with a single newline character (MD047)
Example fix for the code fence:
-``` +```bash /taskmaster:list-tasks.changeset/mean-planes-wave.md (1)
2-2: Upgrade to major release for breaking change.Line 2 marks this as a
minorrelease, but lines 24-36 document a breaking change: therules add claudecommand no longer copies commands and agents to.claude/. This breaks existing workflows and requires a major version bump per semantic versioning.Apply this diff:
-"task-master-ai": minor +"task-master-ai": majorBased on coding guidelines
CLAUDE_CODE_PLUGIN.md (1)
37-49: Add language tag to the code fence.The fenced code block showing the directory tree structure is missing a language specifier, triggering markdownlint MD040.
Apply this diff:
-``` +```text claude-task-master/ ├── .claude-plugin/
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (69)
.changeset/mean-planes-wave.md(1 hunks).claude-plugin/marketplace.json(1 hunks).claude/agents/task-executor.md(0 hunks).claude/agents/task-orchestrator.md(0 hunks).claude/commands/tm/add-subtask/add-subtask.md(0 hunks).claude/commands/tm/help.md(0 hunks).claude/commands/tm/init/init-project.md(0 hunks).claude/commands/tm/remove-task/remove-task.md(0 hunks).claude/commands/tm/tm-main.md(0 hunks).claude/commands/tm/validate-dependencies/validate-dependencies.md(0 hunks)CLAUDE_CODE_PLUGIN.md(1 hunks)assets/claude/agents/task-checker.md(0 hunks)assets/claude/commands/tm/add-dependency/add-dependency.md(0 hunks)assets/claude/commands/tm/add-task/add-task.md(0 hunks)assets/claude/commands/tm/clear-subtasks/clear-all-subtasks.md(0 hunks)assets/claude/commands/tm/clear-subtasks/clear-subtasks.md(0 hunks)assets/claude/commands/tm/expand/expand-all-tasks.md(0 hunks)assets/claude/commands/tm/expand/expand-task.md(0 hunks)assets/claude/commands/tm/generate/generate-tasks.md(0 hunks)assets/claude/commands/tm/help.md(0 hunks)assets/claude/commands/tm/learn.md(0 hunks)assets/claude/commands/tm/list/list-tasks-by-status.md(0 hunks)assets/claude/commands/tm/list/list-tasks-with-subtasks.md(0 hunks)assets/claude/commands/tm/list/list-tasks.md(0 hunks)assets/claude/commands/tm/models/setup-models.md(0 hunks)assets/claude/commands/tm/models/view-models.md(0 hunks)assets/claude/commands/tm/next/next-task.md(0 hunks)assets/claude/commands/tm/parse-prd/parse-prd-with-research.md(0 hunks)assets/claude/commands/tm/parse-prd/parse-prd.md(0 hunks)assets/claude/commands/tm/remove-subtasks/remove-all-subtasks.md(0 hunks)assets/claude/commands/tm/set-status/to-cancelled.md(0 hunks)assets/claude/commands/tm/set-status/to-deferred.md(0 hunks)assets/claude/commands/tm/set-status/to-done.md(0 hunks)assets/claude/commands/tm/set-status/to-in-progress.md(0 hunks)assets/claude/commands/tm/set-status/to-pending.md(0 hunks)assets/claude/commands/tm/set-status/to-review.md(0 hunks)assets/claude/commands/tm/setup/install-taskmaster.md(0 hunks)assets/claude/commands/tm/setup/quick-install-taskmaster.md(0 hunks)assets/claude/commands/tm/show/show-task.md(0 hunks)assets/claude/commands/tm/status/project-status.md(0 hunks)assets/claude/commands/tm/sync-readme/sync-readme.md(0 hunks)assets/claude/commands/tm/update/update-task.md(0 hunks)assets/claude/commands/tm/update/update-tasks-from-id.md(0 hunks)assets/claude/commands/tm/utils/analyze-project.md(0 hunks)assets/claude/commands/tm/workflows/auto-implement-tasks.md(0 hunks)assets/claude/commands/tm/workflows/command-pipeline.md(0 hunks)assets/claude/commands/tm/workflows/smart-workflow.md(0 hunks)packages/claude-code-plugin/.claude-plugin/plugin.json(1 hunks)packages/claude-code-plugin/.gitignore(1 hunks)packages/claude-code-plugin/commands/add-dependency.md(1 hunks)packages/claude-code-plugin/commands/add-subtask.md(1 hunks)packages/claude-code-plugin/commands/analyze-complexity.md(1 hunks)packages/claude-code-plugin/commands/complexity-report.md(1 hunks)packages/claude-code-plugin/commands/convert-task-to-subtask.md(1 hunks)packages/claude-code-plugin/commands/fix-dependencies.md(1 hunks)packages/claude-code-plugin/commands/help.md(1 hunks)packages/claude-code-plugin/commands/init-project-quick.md(1 hunks)packages/claude-code-plugin/commands/init-project.md(1 hunks)packages/claude-code-plugin/commands/remove-dependency.md(1 hunks)packages/claude-code-plugin/commands/remove-subtask.md(1 hunks)packages/claude-code-plugin/commands/remove-subtasks.md(1 hunks)packages/claude-code-plugin/commands/remove-task.md(1 hunks)packages/claude-code-plugin/commands/tm-main.md(3 hunks)packages/claude-code-plugin/commands/update-single-task.md(1 hunks)packages/claude-code-plugin/commands/update-tasks-from-id.md(1 hunks)packages/claude-code-plugin/commands/validate-dependencies.md(1 hunks)packages/claude-code-plugin/mcp.json(1 hunks)packages/claude-code-plugin/package.json(1 hunks)src/profiles/claude.js(2 hunks)
💤 Files with no reviewable changes (44)
- assets/claude/commands/tm/generate/generate-tasks.md
- .claude/agents/task-orchestrator.md
- assets/claude/commands/tm/utils/analyze-project.md
- assets/claude/commands/tm/set-status/to-pending.md
- assets/claude/commands/tm/models/view-models.md
- .claude/commands/tm/help.md
- assets/claude/commands/tm/sync-readme/sync-readme.md
- assets/claude/agents/task-checker.md
- assets/claude/commands/tm/learn.md
- assets/claude/commands/tm/setup/quick-install-taskmaster.md
- .claude/commands/tm/validate-dependencies/validate-dependencies.md
- .claude/commands/tm/remove-task/remove-task.md
- assets/claude/commands/tm/parse-prd/parse-prd-with-research.md
- assets/claude/commands/tm/set-status/to-cancelled.md
- assets/claude/commands/tm/workflows/auto-implement-tasks.md
- assets/claude/commands/tm/update/update-task.md
- assets/claude/commands/tm/help.md
- .claude/commands/tm/init/init-project.md
- assets/claude/commands/tm/remove-subtasks/remove-all-subtasks.md
- assets/claude/commands/tm/list/list-tasks-by-status.md
- assets/claude/commands/tm/clear-subtasks/clear-all-subtasks.md
- assets/claude/commands/tm/models/setup-models.md
- assets/claude/commands/tm/status/project-status.md
- .claude/agents/task-executor.md
- assets/claude/commands/tm/set-status/to-in-progress.md
- assets/claude/commands/tm/expand/expand-task.md
- assets/claude/commands/tm/add-dependency/add-dependency.md
- .claude/commands/tm/add-subtask/add-subtask.md
- assets/claude/commands/tm/set-status/to-deferred.md
- assets/claude/commands/tm/list/list-tasks-with-subtasks.md
- assets/claude/commands/tm/workflows/smart-workflow.md
- assets/claude/commands/tm/parse-prd/parse-prd.md
- .claude/commands/tm/tm-main.md
- assets/claude/commands/tm/set-status/to-done.md
- assets/claude/commands/tm/clear-subtasks/clear-subtasks.md
- assets/claude/commands/tm/list/list-tasks.md
- assets/claude/commands/tm/setup/install-taskmaster.md
- assets/claude/commands/tm/expand/expand-all-tasks.md
- assets/claude/commands/tm/next/next-task.md
- assets/claude/commands/tm/workflows/command-pipeline.md
- assets/claude/commands/tm/add-task/add-task.md
- assets/claude/commands/tm/show/show-task.md
- assets/claude/commands/tm/update/update-tasks-from-id.md
- assets/claude/commands/tm/set-status/to-review.md
🧰 Additional context used
📓 Path-based instructions (4)
**/*.js
📄 CodeRabbit inference engine (.cursor/rules/tests.mdc)
**/*.js: Declare and initialize global variables at the top of modules to avoid hoisting issues.
Use proper function declarations to avoid hoisting issues and initialize variables before they are referenced.
Do not reference variables before their declaration in module scope.
Use dynamic imports (import()) to avoid initialization order issues in modules.
Files:
src/profiles/claude.js
.changeset/*.md
📄 CodeRabbit inference engine (.cursor/rules/changeset.mdc)
.changeset/*.md: When runningnpm run changesetornpx changeset add, provide a concise summary of the changes for theCHANGELOG.mdin imperative mood, typically a single line, and not a detailed Git commit message.
The changeset summary should be user-facing, describing what changed in the released version that is relevant to users or consumers of the package.
Do not use your detailed Git commit message body as the changeset summary.
Files:
.changeset/mean-planes-wave.md
.changeset/*
📄 CodeRabbit inference engine (.cursor/rules/new_features.mdc)
Create appropriate changesets for new features, use semantic versioning, include tagged system information in release notes, and document breaking changes if any.
Files:
.changeset/mean-planes-wave.md
.changeset/**/*.md
📄 CodeRabbit inference engine (CLAUDE.md)
Changeset entries should be user-facing, describing the end-user impact rather than code specifics
Files:
.changeset/mean-planes-wave.md
🧠 Learnings (52)
📓 Common learnings
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: CLAUDE.md:0-0
Timestamp: 2025-10-07T18:09:26.636Z
Learning: Applies to {CLAUDE.md,.taskmaster/CLAUDE.md} : Import Task Master's development workflow commands and guidelines, treating .taskmaster/CLAUDE.md as if it were included in the main CLAUDE.md
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1002
File: .changeset/puny-friends-give.md:2-3
Timestamp: 2025-07-17T21:33:57.585Z
Learning: In the eyaltoledano/claude-task-master repository, the MCP server code in mcp-server/src/ is part of the main "task-master-ai" package, not a separate "mcp-server" package. When creating changesets for MCP server changes, use "task-master-ai" as the package name.
📚 Learning: 2025-08-06T21:13:05.240Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1091
File: assets/claude/agents/task-orchestrator.md:69-78
Timestamp: 2025-08-06T21:13:05.240Z
Learning: For Claude agent instruction files in .claude/agents/ and assets/claude/agents/ directories, ignore markdownlint issues (like MD031 blanks-around-fences, MD040 fenced-code-language, MD041 missing top-level heading) as these files follow Claude's specific agent format requirements rather than standard markdown documentation conventions.
Applied to files:
CLAUDE_CODE_PLUGIN.mdpackages/claude-code-plugin/commands/init-project-quick.mdpackages/claude-code-plugin/commands/help.md
📚 Learning: 2025-08-06T21:11:37.259Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1091
File: .claude/agents/task-orchestrator.md:0-0
Timestamp: 2025-08-06T21:11:37.259Z
Learning: For files in .claude/agents/ and assets/claude/agents/ directories, ignore markdownlint issues like MD041 (missing top-level heading) as these are Claude Code agent instruction files that follow a specific format with YAML frontmatter and don't need to conform to standard markdown documentation conventions.
Applied to files:
CLAUDE_CODE_PLUGIN.mdpackages/claude-code-plugin/commands/help.mdpackages/claude-code-plugin/.gitignore
📚 Learning: 2025-10-07T18:09:26.636Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: CLAUDE.md:0-0
Timestamp: 2025-10-07T18:09:26.636Z
Learning: Applies to {CLAUDE.md,.taskmaster/CLAUDE.md} : Import Task Master's development workflow commands and guidelines, treating .taskmaster/CLAUDE.md as if it were included in the main CLAUDE.md
Applied to files:
CLAUDE_CODE_PLUGIN.md
📚 Learning: 2025-07-17T21:33:57.585Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1002
File: .changeset/puny-friends-give.md:2-3
Timestamp: 2025-07-17T21:33:57.585Z
Learning: In the eyaltoledano/claude-task-master repository, the MCP server code in mcp-server/src/ is part of the main "task-master-ai" package, not a separate "mcp-server" package. When creating changesets for MCP server changes, use "task-master-ai" as the package name.
Applied to files:
packages/claude-code-plugin/mcp.json
📚 Learning: 2025-09-24T15:12:58.855Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/AGENTS.md:0-0
Timestamp: 2025-09-24T15:12:58.855Z
Learning: Applies to assets/**/.mcp.json : Configure the Task Master MCP server in .mcp.json under mcpServers.task-master-ai using npx task-master-ai and provide required API key env vars
Applied to files:
packages/claude-code-plugin/mcp.json
📚 Learning: 2025-07-31T22:08:16.039Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/taskmaster.mdc:0-0
Timestamp: 2025-07-31T22:08:16.039Z
Learning: Applies to .taskmaster/config.json : Do not manually edit the .taskmaster/config.json file; always use the provided CLI or MCP tools for configuration changes.
Applied to files:
packages/claude-code-plugin/mcp.json
📚 Learning: 2025-07-31T22:08:16.039Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/taskmaster.mdc:0-0
Timestamp: 2025-07-31T22:08:16.039Z
Learning: Applies to .taskmaster/config.json : Do not manually edit the .taskmaster/config.json file. Use the included commands either in the MCP or CLI format as needed. Always prioritize MCP tools when available and use the CLI as a fallback.
Applied to files:
packages/claude-code-plugin/mcp.json
📚 Learning: 2025-09-26T19:05:47.555Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1252
File: packages/ai-sdk-provider-grok-cli/package.json:11-13
Timestamp: 2025-09-26T19:05:47.555Z
Learning: In the eyaltoledano/claude-task-master repository, internal tm/ packages use a specific export pattern where the "exports" field points to TypeScript source files (./src/index.ts) while "main" points to compiled output (./dist/index.js) and "types" points to source files (./src/index.ts). This pattern is used consistently across internal packages like tm/core and tm/ai-sdk-provider-grok-cli because they are consumed directly during build-time bundling with tsdown rather than being published as separate packages.
Applied to files:
packages/claude-code-plugin/package.json
📚 Learning: 2025-09-26T19:03:33.225Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1252
File: package.json:130-132
Timestamp: 2025-09-26T19:03:33.225Z
Learning: In the eyaltoledano/claude-task-master repository, all packages with tm prefix are internal packages that are part of the monorepo structure and are not published externally.
Applied to files:
packages/claude-code-plugin/package.json
📚 Learning: 2025-09-24T15:12:12.658Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/.windsurfrules:0-0
Timestamp: 2025-09-24T15:12:12.658Z
Learning: Start new projects with task-master init or parse a PRD via task-master parse-prd --input=<file> to generate an initial tasks.json
Applied to files:
packages/claude-code-plugin/commands/init-project-quick.mdpackages/claude-code-plugin/commands/init-project.mdpackages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-07-31T22:08:16.039Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/taskmaster.mdc:0-0
Timestamp: 2025-07-31T22:08:16.039Z
Learning: After initializing a project with Taskmaster, you must parse a PRD in order to generate tasks. There will be no tasks files until then.
Applied to files:
packages/claude-code-plugin/commands/init-project-quick.mdpackages/claude-code-plugin/commands/init-project.md
📚 Learning: 2025-09-24T15:12:12.658Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/.windsurfrules:0-0
Timestamp: 2025-09-24T15:12:12.658Z
Learning: Add tasks with task-master add-task using AI with prompt, dependencies, and priority options
Applied to files:
packages/claude-code-plugin/commands/init-project-quick.mdpackages/claude-code-plugin/commands/convert-task-to-subtask.mdpackages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-09-24T15:12:12.658Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/.windsurfrules:0-0
Timestamp: 2025-09-24T15:12:12.658Z
Learning: Initialize projects with task-master init to scaffold structure and merge with existing files when appropriate
Applied to files:
packages/claude-code-plugin/commands/init-project-quick.mdpackages/claude-code-plugin/commands/init-project.mdpackages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-07-18T21:57:56.681Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1011
File: scripts/modules/task-manager/models.js:29-30
Timestamp: 2025-07-18T21:57:56.681Z
Learning: The `task-master init` command creates the config.json file inside the .taskmaster directory, while `task-master models --setup` does not create this file. When the configuration file is missing, users should be directed to run `task-master init`.
Applied to files:
packages/claude-code-plugin/commands/init-project-quick.mdpackages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-07-18T17:14:29.399Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/tasks.mdc:0-0
Timestamp: 2025-07-18T17:14:29.399Z
Learning: Applies to scripts/modules/task-manager.js : Extract tasks from PRD documents using AI, create them in the current tag context (defaulting to 'master'), provide clear prompts to guide AI task generation, and validate/clean up AI-generated tasks.
Applied to files:
packages/claude-code-plugin/commands/init-project-quick.mdpackages/claude-code-plugin/commands/init-project.mdpackages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-07-18T17:06:57.833Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/ai_services.mdc:0-0
Timestamp: 2025-07-18T17:06:57.833Z
Learning: Ensure `.taskmasterconfig` exists and has valid provider/model IDs for the roles you intend to use (manage via `task-master models --setup`).
Applied to files:
packages/claude-code-plugin/commands/init-project-quick.mdpackages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-07-18T17:18:17.759Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/utilities.mdc:0-0
Timestamp: 2025-07-18T17:18:17.759Z
Learning: Applies to .taskmasterconfig : Use `.taskmasterconfig` (JSON) in the project root for storing Taskmaster configuration (excluding API keys), and manage it via the `task-master models --setup` CLI command or the `models` MCP tool.
Applied to files:
packages/claude-code-plugin/commands/init-project-quick.mdpackages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-07-18T17:10:12.881Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-07-18T17:10:12.881Z
Learning: For CLI usage, install Taskmaster globally with `npm install -g task-master-ai` or use locally via `npx task-master-ai ...`.
Applied to files:
packages/claude-code-plugin/commands/init-project-quick.mdpackages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-09-24T15:12:12.658Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/.windsurfrules:0-0
Timestamp: 2025-09-24T15:12:12.658Z
Learning: Manage dependencies with task-master add-dependency and remove-dependency; validate and fix using validate-dependencies and fix-dependencies
Applied to files:
packages/claude-code-plugin/commands/fix-dependencies.mdpackages/claude-code-plugin/commands/remove-dependency.mdpackages/claude-code-plugin/commands/validate-dependencies.mdpackages/claude-code-plugin/commands/add-dependency.md
📚 Learning: 2025-09-24T15:12:58.855Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/AGENTS.md:0-0
Timestamp: 2025-09-24T15:12:58.855Z
Learning: Applies to assets/.claude/commands/taskmaster-complete.md : Create .claude/commands/taskmaster-complete.md with steps to review task, verify, run tests, set status done, and show next task
Applied to files:
packages/claude-code-plugin/commands/add-subtask.mdpackages/claude-code-plugin/commands/remove-task.md
📚 Learning: 2025-08-03T12:13:33.875Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/test_workflow.mdc:0-0
Timestamp: 2025-08-03T12:13:33.875Z
Learning: Document testing setup and progress in TaskMaster subtasks using task-master update-subtask commands
Applied to files:
packages/claude-code-plugin/commands/add-subtask.md
📚 Learning: 2025-07-31T22:08:16.039Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/taskmaster.mdc:0-0
Timestamp: 2025-07-31T22:08:16.039Z
Learning: When removing tasks or subtasks, use the remove-task or remove-subtask commands with caution, as this operation cannot be undone. Consider using 'blocked', 'cancelled', or 'deferred' status instead if you want to keep the task for reference.
Applied to files:
packages/claude-code-plugin/commands/remove-task.mdpackages/claude-code-plugin/commands/remove-subtasks.mdpackages/claude-code-plugin/commands/remove-subtask.md
📚 Learning: 2025-07-18T17:10:12.881Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-07-18T17:10:12.881Z
Learning: Use the Taskmaster command set (`task-master` CLI or MCP tools) for all task management operations: listing, expanding, updating, tagging, and status changes.
Applied to files:
packages/claude-code-plugin/commands/remove-task.mdpackages/claude-code-plugin/commands/remove-subtasks.mdpackages/claude-code-plugin/commands/analyze-complexity.mdpackages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-09-17T19:28:51.486Z
Learnt from: joedanz
PR: eyaltoledano/claude-task-master#1186
File: src/profiles/cursor.js:37-43
Timestamp: 2025-09-17T19:28:51.486Z
Learning: In the eyaltoledano/claude-task-master repository cursor profile implementation, the onAdd lifecycle hook sources command files from 'assets/claude/commands' and transforms them for Cursor IDE compatibility, rather than using separate cursor-specific command files.
Applied to files:
src/profiles/claude.js
📚 Learning: 2025-08-06T21:12:20.981Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1091
File: assets/claude/agents/task-executor.md:1-6
Timestamp: 2025-08-06T21:12:20.981Z
Learning: In the eyaltoledano/claude-task-master repository, agent files in assets/claude/agents/ are intended for distribution to users (for copying), while identical files in .claude/agents/ are for internal project use. This intentional duplication serves different purposes and is not a DRY violation.
Applied to files:
src/profiles/claude.js
📚 Learning: 2025-07-31T20:49:04.638Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#997
File: apps/extension/package.publish.json:2-8
Timestamp: 2025-07-31T20:49:04.638Z
Learning: In the eyaltoledano/claude-task-master repository, the VS Code extension uses a 3-file packaging system where package.json (with name "extension") is for development within the monorepo, while package.publish.json (with name "task-master-hamster") contains the clean manifest for VS Code marketplace publishing. The different names are intentional and serve distinct purposes in the build and publishing workflow.
Applied to files:
.claude-plugin/marketplace.json
📚 Learning: 2025-09-24T15:12:12.658Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/.windsurfrules:0-0
Timestamp: 2025-09-24T15:12:12.658Z
Learning: Break down tasks using task-master expand --id=<id> with appropriate flags; clear and regenerate subtasks as needed
Applied to files:
packages/claude-code-plugin/commands/remove-subtasks.mdpackages/claude-code-plugin/commands/analyze-complexity.md
📚 Learning: 2025-07-31T22:07:49.716Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/commands.mdc:0-0
Timestamp: 2025-07-31T22:07:49.716Z
Learning: Applies to scripts/modules/commands.js : Follow the provided structure for removing subtasks, including options for conversion, file path, and regeneration, with detailed error handling.
Applied to files:
packages/claude-code-plugin/commands/remove-subtask.md
📚 Learning: 2025-07-18T17:08:48.695Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/commands.mdc:0-0
Timestamp: 2025-07-18T17:08:48.695Z
Learning: Applies to scripts/modules/commands.js : Follow the provided structure for removing subtasks, including required options, conversion option, and detailed error handling.
Applied to files:
packages/claude-code-plugin/commands/remove-subtask.md
📚 Learning: 2025-07-18T17:09:13.815Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/context_gathering.mdc:0-0
Timestamp: 2025-07-18T17:09:13.815Z
Learning: Commands such as `analyze-complexity`, `expand-task`, `update-task`, and `add-task` should consider adopting the context gathering pattern for improved AI-powered assistance.
Applied to files:
packages/claude-code-plugin/commands/analyze-complexity.mdpackages/claude-code-plugin/commands/complexity-report.md
📚 Learning: 2025-09-24T15:12:12.658Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/.windsurfrules:0-0
Timestamp: 2025-09-24T15:12:12.658Z
Learning: Use task-master complexity-report to view formatted complexity insights and recommendations
Applied to files:
packages/claude-code-plugin/commands/analyze-complexity.mdpackages/claude-code-plugin/commands/complexity-report.md
📚 Learning: 2025-07-18T17:10:02.683Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-07-18T17:10:02.683Z
Learning: When breaking down complex tasks in Taskmaster, use the `expand_task` command with appropriate flags (`--num`, `--research`, `--force`, `--prompt`) and review generated subtasks for accuracy.
Applied to files:
packages/claude-code-plugin/commands/analyze-complexity.mdpackages/claude-code-plugin/commands/complexity-report.md
📚 Learning: 2025-07-18T17:10:12.881Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-07-18T17:10:12.881Z
Learning: When breaking down complex tasks, use the `expand_task` command with appropriate flags (`--force`, `--research`, `--num`, `--prompt`) and review generated subtasks for accuracy.
Applied to files:
packages/claude-code-plugin/commands/analyze-complexity.md
📚 Learning: 2025-09-24T15:12:12.658Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/.windsurfrules:0-0
Timestamp: 2025-09-24T15:12:12.658Z
Learning: Analyze task complexity with task-master analyze-complexity --research and use results to plan breakdown
Applied to files:
packages/claude-code-plugin/commands/analyze-complexity.mdpackages/claude-code-plugin/commands/complexity-report.md
📚 Learning: 2025-07-18T17:09:45.690Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dependencies.mdc:0-0
Timestamp: 2025-07-18T17:09:45.690Z
Learning: Applies to scripts/modules/dependency-manager.js : Allow numeric subtask IDs to reference other subtasks within the same parent
Applied to files:
packages/claude-code-plugin/commands/convert-task-to-subtask.md
📚 Learning: 2025-09-24T15:12:58.855Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/AGENTS.md:0-0
Timestamp: 2025-09-24T15:12:58.855Z
Learning: Applies to assets/.taskmaster/docs/*.{txt,md} : Keep PRDs as .txt or .md under .taskmaster/docs and parse them with task-master parse-prd (use --append for incremental updates)
Applied to files:
packages/claude-code-plugin/commands/init-project.md
📚 Learning: 2025-07-18T17:10:12.881Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-07-18T17:10:12.881Z
Learning: Applies to .taskmaster/docs/*.txt : Place Product Requirements Documents (PRDs) for features or initiatives in `.taskmaster/docs/` with descriptive filenames (e.g., `.taskmaster/docs/feature-xyz-prd.txt`).
Applied to files:
packages/claude-code-plugin/commands/init-project.md
📚 Learning: 2025-07-18T17:10:12.881Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-07-18T17:10:12.881Z
Learning: For PRD-driven feature development, create a dedicated tag, draft a PRD in `.taskmaster/docs/`, parse it into tasks, and add a high-level reference in the master tag.
Applied to files:
packages/claude-code-plugin/commands/init-project.md
📚 Learning: 2025-09-24T15:12:12.658Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/.windsurfrules:0-0
Timestamp: 2025-09-24T15:12:12.658Z
Learning: Use task-master generate to create or update task files from tasks.json and keep dependencies valid with fix-dependencies
Applied to files:
packages/claude-code-plugin/commands/validate-dependencies.md
📚 Learning: 2025-07-18T17:09:45.690Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dependencies.mdc:0-0
Timestamp: 2025-07-18T17:09:45.690Z
Learning: Applies to scripts/modules/dependency-manager.js : Remove references to non-existent tasks during validation
Applied to files:
packages/claude-code-plugin/commands/validate-dependencies.md
📚 Learning: 2025-09-26T19:10:32.906Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1252
File: tsconfig.json:22-28
Timestamp: 2025-09-26T19:10:32.906Z
Learning: In the eyaltoledano/claude-task-master repository, all internal tm/ package path mappings in tsconfig.json consistently point to TypeScript source files (e.g., "./packages/*/src/index.ts") rather than built JavaScript. This is intentional architecture because tsdown bundles internal packages directly from source during build time, eliminating the need for separate compilation of internal packages.
Applied to files:
packages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-07-31T22:08:16.039Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/taskmaster.mdc:0-0
Timestamp: 2025-07-31T22:08:16.039Z
Learning: Applies to .taskmaster/config.json : All other Taskmaster settings (model choice, max tokens, temperature, log level, custom endpoints) are managed in .taskmaster/config.json via the task-master models command or models MCP tool.
Applied to files:
packages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-07-18T17:10:02.683Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-07-18T17:10:02.683Z
Learning: Applies to .taskmaster/config.json : Store Taskmaster configuration settings (AI model selections, parameters, logging level, default subtasks/priority, project name, tag management) in `.taskmaster/config.json` in the project root. Do not configure these via environment variables.
Applied to files:
packages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-07-18T17:10:12.881Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-07-18T17:10:12.881Z
Learning: Applies to .taskmaster/config.json : Store Taskmaster configuration settings (AI model selections, parameters, logging level, default subtasks/priority, project name, etc.) in the `.taskmaster/config.json` file located in the project root directory. Do not configure non-API key settings via environment variables.
Applied to files:
packages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-09-24T15:12:58.855Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/AGENTS.md:0-0
Timestamp: 2025-09-24T15:12:58.855Z
Learning: Applies to assets/.taskmaster/config.json : Never manually edit .taskmaster/config.json; use task-master models to change AI model settings
Applied to files:
packages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-07-18T17:10:12.881Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/dev_workflow.mdc:0-0
Timestamp: 2025-07-18T17:10:12.881Z
Learning: Applies to .taskmaster/config.json : Do not manually edit `.taskmaster/config.json` unless you are certain of the changes; use the `task-master models` command or `models` MCP tool for configuration.
Applied to files:
packages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-07-18T17:10:53.657Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/glossary.mdc:0-0
Timestamp: 2025-07-18T17:10:53.657Z
Learning: Comprehensive reference for Taskmaster MCP tools and CLI commands with tagged task lists information (taskmaster.mdc).
Applied to files:
packages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-07-18T17:10:53.657Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/glossary.mdc:0-0
Timestamp: 2025-07-18T17:10:53.657Z
Learning: Guide for using Task Master to manage task-driven development workflows with tagged task lists support (dev_workflow.mdc).
Applied to files:
packages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-07-18T17:10:53.657Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: .cursor/rules/glossary.mdc:0-0
Timestamp: 2025-07-18T17:10:53.657Z
Learning: Describes the high-level architecture of the Task Master CLI application, including the new tagged task lists system (architecture.mdc).
Applied to files:
packages/claude-code-plugin/commands/tm-main.md
📚 Learning: 2025-08-06T21:11:28.852Z
Learnt from: Crunchyman-ralph
PR: eyaltoledano/claude-task-master#1091
File: .claude/agents/task-executor.md:0-0
Timestamp: 2025-08-06T21:11:28.852Z
Learning: For files in .claude/agents/ or assets/claude/agents/ directories, ignore markdownlint issues as these are Claude agent instruction files where formatting flexibility is preferred over strict markdown compliance.
Applied to files:
packages/claude-code-plugin/.gitignore
📚 Learning: 2025-09-24T15:12:58.855Z
Learnt from: CR
PR: eyaltoledano/claude-task-master#0
File: assets/AGENTS.md:0-0
Timestamp: 2025-09-24T15:12:58.855Z
Learning: Applies to assets/.claude/settings.json : Include the recommended tool allowlist in .claude/settings.json (Edit, Bash(task-master *), Bash(git commit:*), Bash(git add:*), Bash(npm run *), mcp__task_master_ai__*)
Applied to files:
packages/claude-code-plugin/.gitignore
🪛 markdownlint-cli2 (0.18.1)
CLAUDE_CODE_PLUGIN.md
37-37: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
.changeset/mean-planes-wave.md
37-37: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
packages/claude-code-plugin/commands/tm-main.md
11-11: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
15-15: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
24-24: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
28-28: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
33-33: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
38-38: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
46-46: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
49-49: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
54-54: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
57-57: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
62-62: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
66-66: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
69-69: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
75-75: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
78-78: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
81-81: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
88-88: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
91-91: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
94-94: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
99-99: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
102-102: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
105-105: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
108-108: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
113-113: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
120-120: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
123-123: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
137-137: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
139-139: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
139-139: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Test
🔇 Additional comments (6)
.claude-plugin/marketplace.json (1)
1-32: LGTM! Marketplace configuration is well-structured.The marketplace manifest correctly defines the owner, metadata, and plugin entry pointing to
./packages/claude-code-plugin. The structure aligns with Claude Code plugin marketplace requirements.packages/claude-code-plugin/commands/init-project.md (1)
48-48: LGTM! Namespace migration is consistent.The command reference correctly updated from
/project:tm/initto/taskmaster:init, aligning with the broader namespace migration across the plugin.packages/claude-code-plugin/commands/update-single-task.md (1)
69-69: LGTM! Namespace update is correct.The example command correctly migrated from
/project:tm/update/singleto/taskmaster:update/single, consistent with the plugin-wide namespace changes.packages/claude-code-plugin/commands/complexity-report.md (1)
108-116: LGTM! All command examples updated consistently.The command examples correctly reference the new
/taskmaster:complexity-reportand/taskmaster:expandnamespaces, maintaining consistency with the plugin-wide migration.src/profiles/claude.js (2)
41-48: LGTM! Deprecation notice properly guides users to plugin installation.The updated
onAddRulesProfilecorrectly replaces legacy.claudedirectory copying with clear plugin installation instructions, while preserving the CLAUDE.md import functionality for backward compatibility.
109-114: LGTM! Removal logic correctly preserves plugin-managed directories.The updated
onRemoveRulesProfilecorrectly delegates.claudedirectory management to the plugin system while still handling CLAUDE.md cleanup.
| ```bash | ||
| /plugin marketplace add eyaltoledano/claude-task-master | ||
| /plugin install taskmaster@taskmaster | ||
| ``` |
There was a problem hiding this comment.
🧹 Nitpick | 🔵 Trivial
Add language tag to code fence.
The bash code block is missing a language specifier, triggering markdownlint MD040.
Apply this diff:
-```
+```bash
/plugin marketplace add eyaltoledano/claude-task-master🤖 Prompt for AI Agents
In .changeset/mean-planes-wave.md around lines 19 to 22, the opening code fence
for the bash snippet is missing a language tag; change the opening fence from
``` to ```bash for that block (so the code block begins with ```bash before the
/plugin marketplace add eyaltoledano/claude-task-master line) to satisfy
markdownlint MD040.
This PR was automatically generated to update documentation based on recent changes. Original commit: feat: add claude code plugin support (#1293)\n\nCo-authored-by: Claude <noreply@anthropic.com>\n\n Co-authored-by: Claude <claude-assistant@anthropic.com>
Co-authored-by: Claude <noreply@anthropic.com>
What type of PR is this?
Description
Related Issues
How to Test This
# Example commands or stepsExpected result:
Contributor Checklist
npm run changesetnpm testnpm run format-check(ornpm run formatto fix)Changelog Entry
For Maintainers
Summary by CodeRabbit