* centralize prompt management * add changeset * add variant key to determine prompt version * update tests and add prompt manager test * determine internal path, don't use projectRoot * add promptManager mock * detailed prompt docs * add schemas and validator packages * add validate prompts command * add schema validation * update tests * move schemas to src/prompts/schemas * use this.promptsDir for better semantics * add prompt schemas * version schema files & update links * remove validate command * expect dependencies * update docs * fix test * remove suggestmode to ensure clean keys * remove default variant from research and update schema * now handled by prompt manager * add manual test to verify prompts * remove incorrect batch variant * consolidate variants * consolidate analyze-complexity to just default variant * consolidate parse-prd variants * add eq handler for handlebars * consolidate research prompt variants * use brevity * consolidate variants for update subtask * add not handler * consolidate variants for update-task * consolidate update-tasks variants * add conditional content to prompt when research used * update prompt tests * show correct research variant * make variant names link to below * remove changset * restore gitignore * Merge branch 'next' of https://github.com/eyaltoledano/claude-task-master into joedanz/centralize-prompts # Conflicts: # package-lock.json # scripts/modules/task-manager/expand-task.js # scripts/modules/task-manager/parse-prd.js remove unused * add else * update tests * update biome optional dependencies * responsive html output for mobile
57 lines
3.7 KiB
JSON
57 lines
3.7 KiB
JSON
{
|
|
"id": "add-task",
|
|
"version": "1.0.0",
|
|
"description": "Generate a new task based on description",
|
|
"metadata": {
|
|
"author": "system",
|
|
"created": "2024-01-01T00:00:00Z",
|
|
"updated": "2024-01-01T00:00:00Z",
|
|
"tags": ["task-creation", "generation"]
|
|
},
|
|
"parameters": {
|
|
"prompt": {
|
|
"type": "string",
|
|
"required": true,
|
|
"description": "User's task description"
|
|
},
|
|
"newTaskId": {
|
|
"type": "number",
|
|
"required": true,
|
|
"description": "ID for the new task"
|
|
},
|
|
"existingTasks": {
|
|
"type": "array",
|
|
"description": "List of existing tasks for context"
|
|
},
|
|
"gatheredContext": {
|
|
"type": "string",
|
|
"description": "Context gathered from codebase analysis"
|
|
},
|
|
"contextFromArgs": {
|
|
"type": "string",
|
|
"description": "Additional context from manual args"
|
|
},
|
|
"priority": {
|
|
"type": "string",
|
|
"default": "medium",
|
|
"enum": ["high", "medium", "low"],
|
|
"description": "Task priority"
|
|
},
|
|
"dependencies": {
|
|
"type": "array",
|
|
"description": "Task dependency IDs"
|
|
},
|
|
"useResearch": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Use research mode"
|
|
}
|
|
},
|
|
"prompts": {
|
|
"default": {
|
|
"system": "You are a helpful assistant that creates well-structured tasks for a software development project. Generate a single new task based on the user's description, adhering strictly to the provided JSON schema. Pay special attention to dependencies between tasks, ensuring the new task correctly references any tasks it depends on.\n\nWhen determining dependencies for a new task, follow these principles:\n1. Select dependencies based on logical requirements - what must be completed before this task can begin.\n2. Prioritize task dependencies that are semantically related to the functionality being built.\n3. Consider both direct dependencies (immediately prerequisite) and indirect dependencies.\n4. Avoid adding unnecessary dependencies - only include tasks that are genuinely prerequisite.\n5. Consider the current status of tasks - prefer completed tasks as dependencies when possible.\n6. Pay special attention to foundation tasks (1-5) but don't automatically include them without reason.\n7. Recent tasks (higher ID numbers) may be more relevant for newer functionality.\n\nThe dependencies array should contain task IDs (numbers) of prerequisite tasks.{{#if useResearch}}\n\nResearch current best practices and technologies relevant to this task.{{/if}}",
|
|
"user": "You are generating the details for Task #{{newTaskId}}. Based on the user's request: \"{{prompt}}\", create a comprehensive new task for a software development project.\n \n {{gatheredContext}}\n \n {{#if useResearch}}Research current best practices, technologies, and implementation patterns relevant to this task. {{/if}}Based on the information about existing tasks provided above, include appropriate dependencies in the \"dependencies\" array. Only include task IDs that this new task directly depends on.\n \n Return your answer as a single JSON object matching the schema precisely:\n \n {\n \"title\": \"Task title goes here\",\n \"description\": \"A concise one or two sentence description of what the task involves\",\n \"details\": \"Detailed implementation steps, considerations, code examples, or technical approach\",\n \"testStrategy\": \"Specific steps to verify correct implementation and functionality\",\n \"dependencies\": [1, 3] // Example: IDs of tasks that must be completed before this task\n }\n \n Make sure the details and test strategy are comprehensive and specific{{#if useResearch}}, incorporating current best practices from your research{{/if}}. DO NOT include the task ID in the title.\n {{#if contextFromArgs}}{{contextFromArgs}}{{/if}}"
|
|
}
|
|
}
|
|
}
|