Agent skill

maestro:research

Structured research workflow for maestro features. Guides tool selection across three tiers (codebase exploration, Context7 for library docs, NotebookLM for deep analysis), defines research patterns, finding organization via memory_write, and completion criteria. Use during the research pipeline stage after feature_create and before plan_write. Also use when investigating a problem space, comparing technical approaches, gathering context on unfamiliar code, or needing to understand external library APIs before making architectural decisions.

Stars 26
Forks 4

Install this agent skill to your Project

npx add-skill https://github.com/ReinaMacCredy/maestro/tree/main/.claude/skills/maestro:research

SKILL.md

Research Phase

Research sits between discovery and planning. Gather enough understanding to write a confident plan. Question assumptions, start with the smallest investigation that could answer the question, and scale up only when complexity warrants it.

When to Research

Enter research when:

  • A feature exists (feature_create done)
  • The problem involves unfamiliar code, external libraries, or multiple valid approaches
  • You can't yet write a confident ## Discovery section for the plan

Skip research when the task is mechanical (rename, config change, straightforward addition) or you already have deep context from prior work.

Research Tiers

Your approach adapts to what tools are available.

Tier 1: Always Available

Codebase exploration -- Agent subagents

Use for understanding existing code, finding patterns, tracing data flow. Spawn focused subagents with one clear objective each.

memory_write({ feature: "my-feature", name: "research-existing-auth-patterns", content: "..." })

Web search -- WebSearch + WebFetch

Use for error messages, ecosystem comparisons, best practices. Save fetched content to a local file or memory immediately -- interrupted sessions lose unsaved fetches.

Tier 2: Context7

Available when: Context7 MCP server is configured.

Current library documentation, not stale training data. Use when:

  • Checking API signatures for a specific library version
  • Finding migration guides between versions
  • Understanding framework patterns that change across releases
  • Verifying that an approach is still the recommended one

Fallback: WebSearch for library docs. Note in findings that docs may be outdated relative to your target version.

Tier 3: NotebookLM

Available when: NotebookLM MCP server is configured.

Multi-source synthesis -- feed several documents and ask analytical questions. Use for:

  • Comparing architectural approaches with trade-off analysis
  • Synthesizing information from multiple docs/specs/codebases
  • Generating structured analysis from unstructured sources
  • Deep-diving into an unfamiliar domain

Research Patterns

Pattern When Approach
Breadth-first Unknown unknowns 2-3 parallel subagents exploring different angles, synthesize, targeted follow-up on gaps
Depth-first Known area, need depth Start at entry point, trace full path (data flow, call chain, state), document edge cases
Comparative Multiple valid approaches Define criteria, research each approach in parallel, build comparison matrix, recommend with reasoning
Constraint discovery Migrations, refactors Check code for invariants, deps for version limits, project config; separate hard constraints from soft preferences

Save all findings with memory_write -- see Organizing Findings below.

Organizing Findings

Every significant finding gets saved with memory_write scoped to the current feature. Structure each finding:

## Motivation
What question were we trying to answer? (1-2 lines, precise, no vague language)

## Findings
What did we learn? (methods, evidence, relevant files/sources)

## Implications
How does this affect the plan? (design decisions, constraints, recommendations)

## Limitations
What caveats apply? (confounders, incomplete coverage, assumptions made)

## Next Steps
What follow-up research would strengthen this finding? (optional -- only if gaps remain)

Name findings research-<discriminator> using: <area>, <lib>-api, <topic>-comparison, constraints, or <source>-notes.

Completion Criteria

Research is done when all five hold:

  1. Problem understood -- explainable in one paragraph without hand-waving
  2. Solution space mapped -- viable approaches and trade-offs known
  3. Constraints identified -- technical, time, and dependency limits known
  4. Key decisions ready -- major architectural choices can be made
  5. No blocking unknowns -- remaining unknowns are explicitly accepted as limitations

If any criterion fails, target the specific gap. If a question can't be answered without building the thing, note it as a limitation and move on.

Transitioning to Planning

The plan's ## Discovery section is where research pays off. Reference your findings by name and write it as a confident summary -- motivation, key findings, implications, and acknowledged limitations. Not a log of what you did.

Tool Selection Quick Reference

Question Subagents Context7 NotebookLM
How does our code handle X? [-->] primary -- --
What's the API for library Y? WebSearch fallback [-->] primary --
Should we use approach A or B? Research each Docs for each [-->] synthesize
What are the constraints? Code + config Dep docs --
What's the ecosystem best practice? WebSearch [-->] current docs Deep analysis
Synthesize 5+ sources into analysis Manual -- [-->] primary
Is this still the recommended pattern? -- [-->] primary --

[-->] = best tool for the job. Use the highest available tier. Fall back gracefully when tools aren't installed.

Expand your agent's capabilities with these related and highly-rated skills.

ReinaMacCredy/maestro

maestro-skill-author

Create, update, or debug maestro built-in skills. Covers SKILL.md frontmatter, reference directory structure, step-file architecture, build-time embedding, naming conventions, alias management, and registry validation. Use when creating a new maestro built-in skill, modifying an existing SKILL.md, adding reference files, debugging skill loading failures, updating the skills registry, or working on the skills full port. Also use when frontmatter validation fails, skills don't appear in skill-list, or reference files fail to load.

26 4
Explore
ReinaMacCredy/maestro

maestro:brainstorming

Use before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.

26 4
Explore
ReinaMacCredy/maestro

mcp-builder

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).

26 4
Explore
ReinaMacCredy/maestro

maestro:plan-review-loop

Deep-review any plan (maestro, Codex, Claude Code plan mode, or plain markdown) using iterative subagent review loops with BMAD-inspired adversarial edge-case discovery. Spawns reviewer subagents that find issues using pre-mortem, inversion, and red-team techniques, auto-fixes them with structured fix strategies, and re-reviews until the plan passes with zero actionable issues. Use when the user says 'review the plan', 'deep review', 'check the plan thoroughly', 'review loop', 'validate before approving', or wants rigorous plan validation before execution. Also use proactively before plan-approve when the plan is complex or high-risk.

26 4
Explore
ReinaMacCredy/maestro

cli-for-agents

Designs or reviews CLIs so coding agents can run them reliably: non-interactive flags, layered --help with examples, stdin/pipelines, fast actionable errors, idempotency, dry-run, and predictable structure. Use when building a CLI, adding commands, writing --help, or when the user mentions agents, terminals, or automation-friendly CLIs.

26 4
Explore
ReinaMacCredy/maestro

prompt-leverage

Strengthen a raw user prompt into an execution-ready instruction set for Amp, Claude Code, Codex, or another AI agent. Use when the user wants to improve an existing prompt, build a reusable prompting framework, wrap the current request with better structure, add clearer tool rules, or create a hook that upgrades prompts before execution.

26 4
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results