Skill Definitions
The four research skills -- router, scan, deep, and output -- their responsibilities, prompt structure, and research type support.
Trovella's research system consists of four skills that work together. Each skill is a markdown file at .claude/skills/<name>/SKILL.md with YAML frontmatter (name, description) and structured instructions that the AI platform follows during execution.
Router Skill: /research
File: .claude/skills/research/SKILL.md
The router skill is the only skill the user invokes directly. It handles the interview phase, classifies the request, and delegates to either scan or deep mode. The user never sees the routing decision.
Responsibilities
- Interview -- parse the user's message to extract eight elements:
topic,researchType,scope,depthSignals,decisionContext,knownContext,outputMediaType, andoutputFormattingInstructions - Clarification -- ask 0-2 follow-up questions when the topic is ambiguous or scope is unclear (never more than 2)
- Route -- classify as scan or deep based on complexity, depth signals, and scope (see Routing Logic)
- Initialize tracking -- call
log_skill_executionwith all extracted metadata - Delegate -- execute the scan or deep workflow inline (the router skill contains both execution paths)
Research Types
The router classifies every request into one of three types, which determines plan structure in both scan and deep modes:
| Type | Trigger patterns | Example |
|---|---|---|
general_topic | "What is X?", "Tell me about X", "Current state of X" | "Research the current state of WebAssembly adoption" |
competitive_analysis | "Compare X and Y", "Who competes with X?", "Market for X" | "Give me a competitive analysis of AI code assistants" |
decision_support | "Should I use X or Y?", "Pros and cons", "Which is better for..." | "Should I use Postgres or MongoDB for our new service?" |
Output Media Types
The router extracts the user's preferred output format. If the prompt does not indicate a format, the router always asks:
conversation | markdown | html | word | excel | powerpoint
Scan Skill: /research-scan
File: .claude/skills/research-scan/SKILL.md
Fast, focused research producing key facts and a concise summary. Activated when the router classifies the request as simple or the user signals they want speed.
Plan Templates
Plans have 2-4 steps with no branching conditions and no checkpoints.
General topic (2-3 steps):
search-- gather key facts, statistics, and current stateanalyze-- organize findings into themes, assess confidencesynthesize-- produce concise summary with key takeaways
Competitive analysis (3-4 steps):
search-- identify key players and positioningextract-- structured per-competitor dataanalyze-- compare across dimensionssynthesize-- comparison summary with positioning insights
Decision support (3 steps):
search-- research all options, gather evidenceanalyze-- evaluate against criteria, weigh trade-offssynthesize-- recommendation with confidence and key trade-offs
Plan naming convention: [Scan] <descriptive topic name>
Key Behaviors
- No branching conditions -- plans are always linear
- No checkpoint steps -- runs straight through
- Every step requires a
stepExecutionReportdocumenting the AI platform's reasoning, web searches, web fetches, and tool calls - Significant outputs are stored as research artifacts via
store_research
Deep Skill: /research-deep
File: .claude/skills/research-deep/SKILL.md
Comprehensive, multi-perspective research with human checkpoints and adaptive branching. Activated when the router classifies the request as complex or the user signals they want depth.
Decomposition Phase
Before creating a plan, the deep skill decomposes the research question into:
- Core question -- what the user ultimately needs to understand or decide
- Known entities -- what is already established from the user's message
- Unknown entities -- what needs to be discovered
- Sub-questions (2-5) -- questions that, when answered, fully address the core question
This decomposition directly shapes the plan steps.
Plan Templates
Plans have 5-8+ steps, always including at least one checkpoint before synthesis.
General topic (5-7 steps):
search-- broad survey: concepts, history, current state, major playerssearch-- focused investigation of specific sub-questionsextract-- structure key data points, statistics, claims with sourcesanalyze-- cross-reference, patterns, contradictions, gapscritique-- challenge the analysis: missing info, biases, confidencecheckpoint-- present interim findings for user reviewsynthesize-- final synthesis with user feedback incorporated
Competitive analysis (6-8 steps):
search-- identify all relevant competitorssearch-- deep dive per competitor: product, positioning, strategyextract-- structured per-competitor extraction (consistent schema viaextract_data)analyze-- comparative analysis across dimensionscritique-- gaps, biases, confidence per competitorcheckpoint-- present landscape for user reviewsynthesize-- final comparison with strategic insights- (Optional)
custom-- follow up on user feedback from checkpoint
Decision support (6-7 steps):
search-- all options plus alternatives user may not have consideredsearch-- decision criteria: what factors matter for this type of decisionextract-- structured pros, cons, risks, costs per optionanalyze-- multi-criteria scoringcritique-- sensitivity analysis: which assumptions matter mostcheckpoint-- present analysis for user reviewsynthesize-- recommendation with confidence, trade-offs, and conditions
Plan naming convention: [Deep] <descriptive topic name>
Branching and Adaptation
Deep plans use branching conditions for quality gates. The primary pattern:
branchingConditions: [{
afterStepOrder: <critique step>,
conditionExpression: "confidence < 0.5",
ifTrueAction: "fail"
}]
Additionally, the critique step instructions direct the AI platform to call modify_plan if confidence is below 0.6, adding targeted search steps to fill identified gaps. All modifications require a modificationRationale explaining why the change was needed.
Checkpoint Behavior
At checkpoint steps, the plan pauses via request_user_review and presents:
- A markdown summary of findings so far
- Specific questions for the user
User responses and their effects:
| Decision | Effect |
|---|---|
approve | Step marked completed, plan resumes |
modify | Feedback appended to instructions, step returns to in_progress |
skip | Step marked skipped, plan resumes |
reject | Step and plan marked failed |
Subagent Support
Deep dives can spawn subagents for parallel research across competitors or sub-topics. Each subagent calls submit_subagent_report to persist its execution report as a research artifact, returning a reportId that the parent includes in its own stepExecutionReport.subagents[] array.
Output Skill: /research-output
File: .claude/skills/research-output/SKILL.md
Generates and delivers the final research deliverable after a plan completes. Invoked automatically when get_next_step returns plan_complete, or manually by the user.
Responsibilities
- Load context -- call
get_research_contextto load all step results, artifacts, and metadata - Generate deliverable -- format results according to the user's requested media type and formatting instructions
- Store deliverable -- call
store_research_outputto persist the output for later retrieval - Present to user -- deliver the formatted output
- Capture feedback -- collect initial feedback immediately, then closing feedback when the conversation shifts
Formatting Priority
When generating output, formatting instructions are applied in this priority order:
- User's formatting instructions (
outputFormattingInstructions) -- highest priority - Planning agent's notes (
planFormattingNotes) -- structural guidance from plan creation - Step formatting notes (
stepFormattingNotes) -- ideas discovered during execution - Output skill's judgment -- fills gaps based on what the research actually found
Feedback Capture
Two feedback moments ensure user satisfaction is always recorded:
| Moment | Trigger | Tool call |
|---|---|---|
| Initial | Right after delivering results | submit_research_feedback({ feedbackType: "initial", ... }) |
| Closing | When conversation shifts to another topic | submit_research_feedback({ feedbackType: "closing", ... }) |
If the user does not respond to the feedback prompt, the skill still records userSatisfaction: "none" with a note that the user did not respond.
Related Pages
- Execution Flow -- the end-to-end lifecycle these skills drive
- Routing Logic -- how the router decides between scan and deep
- Lifecycle Tracking -- how skill invocations are tracked
- Plan Orchestration -- the plan state machine and step types
- Reasoning -- the AI integration layer
Skills Overview
How Trovella's research skills orchestrate structured, multi-step research via prompt-driven workflows and MCP tool integration.
Execution Flow
End-to-end lifecycle of a research skill invocation -- from user prompt through interview, routing, planning, step execution, output delivery, and feedback capture.