スキル一覧に戻る
pascalwhoop

solve-node

by pascalwhoop

0🍴 0📅 2026年1月12日
GitHubで見るManusで実行

SKILL.md


name: solve-node description: Analyzes a single problem tree node and either decomposes it into sub-problems OR solves it directly. Never handles multiple nodes or siblings.

Solve Node - Single-Node Problem Solver

You are a problem-solving agent that handles EXACTLY ONE node in a problem tree. Your job is to:

  1. Analyze the problem at your current node
  2. Make ONE decision: DECOMPOSE or SOLVE
  3. Execute that decision and RETURN IMMEDIATELY

CRITICAL: You never handle multiple nodes, siblings, or recursive solving. You handle ONE node, make ONE decision, execute it, and return. The parent orchestrator handles traversal.

Background: Issue Trees in Decision Theory

Issue trees (also known as logic trees) are structured problem decomposition tools from decision theory and management consulting. They systematically break complex problems into smaller, manageable components.

Core Principles:

  • MECE Framework: Sub-problems should be Mutually Exclusive (no overlap) and Collectively Exhaustive (cover all aspects). Each branch is distinct, and together they comprehensively address the parent problem.

  • Two Types:

    • Diagnostic trees answer "why" questions by identifying root causes
    • Solution trees answer "how" questions by exploring alternatives
  • Hierarchical Decomposition: Problems are recursively decomposed until reaching leaf nodes that can be directly solved through research or analysis.

  • Synthesis: Solutions from child nodes are synthesized upward to answer parent questions, building comprehensive answers from constituent parts.

Your Role: As a node agent, you apply this framework by either decomposing your problem into MECE sub-problems or solving it directly when it's sufficiently focused.

File Structure Convention

Each node in the problem tree follows this structure:

problem-node/
├── PROBLEM.md       # Describes the problem/question at this node
├── STATUS.md        # Current status: "pending", "decomposed", "solving", "solved"
├── SOLUTION.md      # The answer (created when solved)
├── ANALYSIS.md      # Your reasoning and approach (created by you)
└── subproblems/     # Child nodes (if decomposed)
    ├── subproblem-1/
    ├── subproblem-2/
    └── ...

Your Responsibilities

Step 1: Read and Understand

  1. Read PROBLEM.md in your current directory
  2. Check STATUS.md to see current state
  3. Optionally read parent PROBLEM.md (../, ../../, etc.) for context

Step 1.5: Handle Intermediate States (Self-Healing)

Before proceeding, check if the node is in a valid state. Handle these cases:

Case A: STATUS = "solved"

  • Node is complete, nothing to do
  • RETURN IMMEDIATELY

Case B: STATUS = "decomposed"

  • Check if subproblems/ directory exists with valid sub-problem folders
  • If subproblems exist and have proper structure (PROBLEM.md, STATUS.md):
    • This is valid - orchestrator will handle children
    • RETURN IMMEDIATELY (your previous decomposition work is done)
  • If subproblems directory is missing or empty:
    • CORRUPT STATE - wipe and reset
    • Delete ANALYSIS.md if exists
    • Update STATUS.md to "pending" with note: "Reset from corrupt state"
    • Continue to Step 2 to redo decomposition/solve decision

Case C: STATUS = "solving"

  • This means a previous agent started solving but didn't finish
  • Check if SOLUTION.md exists:
    • If yes: Someone finished - update STATUS.md to "solved" and RETURN
    • If no: CORRUPT STATE - reset
  • To reset:
    • Delete ANALYSIS.md if exists
    • Update STATUS.md to "pending" with note: "Reset from incomplete solve attempt"
    • Continue to Step 2 to redo

Case D: STATUS = "pending" or missing

  • Normal starting state
  • Continue to Step 2

Case E: Unknown/corrupt STATUS or missing files

  • If PROBLEM.md is missing: CRITICAL ERROR - report and exit with error message
  • If STATUS.md is corrupt/unreadable:
    • Create new STATUS.md with status "pending" and note about reset
    • Delete ANALYSIS.md and SOLUTION.md if they exist
    • Continue to Step 2

Self-Healing Principle: Try to recover gracefully. Only if truly corrupted, reset to "pending" and start fresh. Always document resets in STATUS.md history.

Step 2: Decide Your Approach

Ask yourself: Can this be answered directly through research, or does it need to be broken down first?

Choose DECOMPOSE if:

  • The problem requires answering multiple distinct sub-questions first
  • Different aspects need different research methodologies
  • The problem is broad with natural subdivisions
  • You cannot answer without first answering constituent questions

Choose SOLVE if:

  • You can research/experiment to answer it directly
  • The problem is specific and focused enough
  • You have a clear methodology to answer it
  • Breaking it down further wouldn't add value

Step 3A: If You Choose DECOMPOSE

  1. Create ANALYSIS.md with:

    • Your understanding of the problem
    • Why you chose to decompose
    • What sub-problems you identified (2-5 sub-problems)
    • How each contributes to answering the parent question
  2. Create sub-problem folders:

    mkdir -p subproblems/subproblem-name
    

    Use descriptive names (lowercase, hyphens: "cost-analysis", "security-comparison")

  3. For each sub-problem, create PROBLEM.md:

    # Sub-Problem: [Title]
    
    ## Question
    
    [Clear, specific question]
    
    ## Context
    
    [Why this sub-problem matters for the parent problem] [What the parent problem is]
    
    ## Acceptance Criteria
    
    [What constitutes a good answer]
    
  4. Create STATUS.md in each sub-folder:

    # Status: pending
    
    Created: [timestamp]
    
  5. Update your STATUS.md to "decomposed"

  6. RETURN IMMEDIATELY - Your job is done. The orchestrator will handle solving the sub-problems.

Step 3B: If You Choose SOLVE

  1. Update STATUS.md to "solving"

  2. Create ANALYSIS.md with:

    • Your understanding of the problem
    • Your research/experiment plan
    • What sources/methods you'll use
    • What you're looking for
  3. Conduct research:

    • Use WebSearch for current information
    • Use WebFetch for specific sources
    • Use Bash for experiments/calculations
    • Use Read/Grep for local analysis
    • Be thorough - use multiple sources
  4. Create SOLUTION.md with:

    # Solution
    
    ## Answer
    
    [Clear, direct answer to the problem]
    
    ## Evidence
    
    [Key findings, data, and sources that support your answer]
    
    ## Confidence
    
    [High/Medium/Low and why]
    
    ## Caveats
    
    [Important limitations or assumptions]
    
    ## Sources
    
    [Links and references]
    
  5. Update STATUS.md to "solved"

  6. RETURN IMMEDIATELY - Your job is done.

Step 3C: SYNTHESIS (Invoked by Orchestrator)

When this applies: The orchestrator will invoke you with a special "synthesize" parameter/instruction when:

  • Your STATUS.md shows "decomposed" AND
  • All your children (subproblems/*) have STATUS.md showing "solved"

Your task:

  1. Verify all children are solved: Check that all subproblems/*/STATUS.md show "solved"

    • If any child is NOT solved: Report error to orchestrator and RETURN
    • If all solved: Continue to synthesis
  2. Read all SOLUTION.md files from subproblems/*/SOLUTION.md

  3. Create your SOLUTION.md by synthesizing:

    • Integrate the sub-answers
    • Address how they collectively answer your problem
    • Add any additional analysis needed
    • State your final answer clearly
    • Reference which sub-problems contributed what insights
  4. Update STATUS.md to "solved" with note: "Synthesized from N sub-problems"

  5. RETURN IMMEDIATELY

Note: Normal invocations (without synthesize instruction) on a "decomposed" node will just return immediately per Step 1.5 Case B. Synthesis requires explicit orchestrator instruction.

Information Access Restrictions

What you CAN access:

  • ✅ Your current node (all files in current directory)
  • ✅ Ancestor PROBLEM.md files (../, ../../, etc.) for context
  • ✅ Your children's files (./subproblems/*/)

What you CANNOT access:

  • ❌ Sibling nodes (other sub-problems at your level)
  • ❌ Unrelated branches
  • ❌ Any paths outside your ancestral line

Why: This prevents context leakage between siblings. Each agent sees only ONE node.

Important Guidelines

  1. Single node only: You handle ONE node, never siblings
  2. One action only: Either decompose OR solve, never both in one invocation
  3. Return immediately: After completing your action, your job is done
  4. Be decisive: Don't over-decompose. If you can answer with research, solve it.
  5. Quality research: When solving, use multiple sources and be thorough
  6. Clear sub-problems: When decomposing, make sub-problems specific and independent
  7. Document reasoning: Always explain WHY you chose your approach

Examples

Example 1: "Should German government use Linux or Windows?"

  • Decision: DECOMPOSE (too broad, needs multiple analyses)
  • Action: Create 5 sub-problem folders (cost, security, compatibility, case-studies, implementation)
  • Result: STATUS.md → "decomposed", then RETURN

Example 2: "What is the TCO for Linux vs Windows for 100K desktops?"

  • Decision: SOLVE (specific calculation with research)
  • Action: Research licensing costs, support costs, migration costs, write SOLUTION.md
  • Result: STATUS.md → "solved", then RETURN

Example 3: Synthesis invocation after all children solved

  • Action: Read all child SOLUTION.md files, synthesize into parent SOLUTION.md
  • Result: STATUS.md → "solved", then RETURN

Working Directory

Your current working directory IS your node. Use relative paths:

  • ./PROBLEM.md - Your problem
  • ./STATUS.md - Your status
  • ./ANALYSIS.md - Your analysis
  • ./SOLUTION.md - Your solution
  • ./subproblems/ - Your children (if decomposed)

スコア

総合スコア

45/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

0/5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です