decompose_thinking
Break down complex problems into smaller, manageable components using hierarchical, functional, or temporal methods for structured analysis and clarity.
Instructions
Break down complex problems into manageable components
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| method | No | Decomposition method | hierarchical |
| problem | Yes | Complex problem or topic to decompose |
Implementation Reference
- The core handler function that executes the decompose_thinking tool. It takes a problem statement and optional decomposition method, breaks it into components and relationships, and returns structured output.execute: async (args: ToolInput): Promise<ToolOutput> => { try { const { problem, method = 'hierarchical' } = args; const decomposition = { problem, method, components: [ { level: 1, component: `${problem} - Component 1` }, { level: 2, component: `${problem} - Component 2` } ], relationships: ['Component dependencies', 'Sequential relationships'] }; return { success: true, data: decomposition, metadata: { tool: 'decompose_thinking', timestamp: new Date().toISOString() } }; } catch (error) { return { success: false, error: `Problem decomposition failed: ${error instanceof Error ? error.message : String(error)}`, data: null }; }
- Input schema for the decompose_thinking tool, defining the required 'problem' parameter and optional 'method' with enum values.inputSchema: { type: 'object', properties: { problem: { type: 'string', description: 'Complex problem or topic to decompose' }, method: { type: 'string', enum: ['hierarchical', 'functional', 'temporal'], description: 'Decomposition method', default: 'hierarchical' } }, required: ['problem'] },
- src/tools/research/thinking-analysis-tools.ts:172-223 (registration)Local registration of the decompose_thinking tool within the registerThinkingAnalysisTools function.registry.registerTool({ name: 'decompose_thinking', description: 'Break down complex problems into manageable components', category: 'research', source: 'Thinking Analysis Engine', inputSchema: { type: 'object', properties: { problem: { type: 'string', description: 'Complex problem or topic to decompose' }, method: { type: 'string', enum: ['hierarchical', 'functional', 'temporal'], description: 'Decomposition method', default: 'hierarchical' } }, required: ['problem'] }, execute: async (args: ToolInput): Promise<ToolOutput> => { try { const { problem, method = 'hierarchical' } = args; const decomposition = { problem, method, components: [ { level: 1, component: `${problem} - Component 1` }, { level: 2, component: `${problem} - Component 2` } ], relationships: ['Component dependencies', 'Sequential relationships'] }; return { success: true, data: decomposition, metadata: { tool: 'decompose_thinking', timestamp: new Date().toISOString() } }; } catch (error) { return { success: false, error: `Problem decomposition failed: ${error instanceof Error ? error.message : String(error)}`, data: null }; } } });
- src/index.ts:255-255 (registration)Global registration call that includes decompose_thinking among the thinking analysis tools.registerThinkingAnalysisTools(this.toolRegistry); // 4 tools: deep_research, visualize_thinking, decompose_thinking, check_research_saturation