Gate 0 research phase for pre-dev workflow. Dispatches 4 parallel research agents to gather codebase patterns, external best practices, framework documentation, and UX/product research BEFORE creating PRD/TRD. Outputs research.md with file:line references and user research findings.
npx claudepluginhub lerianstudio/ringThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Purpose: Gather comprehensive research BEFORE writing planning documents, ensuring PRDs and TRDs are grounded in codebase reality and industry best practices.
Traditional: Request → PRD → Discover problems during implementation
Research-First: Request → Research → Informed PRD → Smoother implementation
Research prevents: Reinventing existing patterns, ignoring conventions, missing framework constraints, repeating solved problems
BLOCKING GATE: Before dispatching agents, determine the research mode.
| Mode | When to Use | Example |
|---|---|---|
| greenfield | No existing patterns | "Add GraphQL API" (when project has none) |
| modification | Extending existing functionality | "Add pagination to user list API" |
| integration | Connecting external systems | "Integrate Stripe payments" |
If unclear, ask:
Before starting research: Is this (1) Greenfield - new capability, (2) Modification - extends existing, or (3) Integration - connects external systems?
Mode affects agent priority:
Run 4 agents in PARALLEL (single message, 4 Task calls):
| Agent | Prompt Focus | Mode |
|---|---|---|
ring:repo-research-analyst | Codebase patterns for [feature]. Search docs/solutions/ knowledge base. Return file:line references. | PRIMARY in modification |
ring:best-practices-researcher | External best practices for [feature]. Use Context7 + WebSearch. Return URLs. | PRIMARY in greenfield |
ring:framework-docs-researcher | Tech stack docs for [feature]. Detect versions from manifests. Use Context7. Return version constraints. | PRIMARY in integration |
ring:product-designer | User problem validation, personas, competitive UX analysis, design constraints for [feature]. Mode: ux-research. | PRIMARY in greenfield, SECONDARY in others |
Task invocation for product-designer:
Task(
subagent_type="ring:product-designer",
prompt="Analyze user needs for [feature]. Mode: ux-research. Return: problem validation, preliminary personas, competitive analysis, design constraints."
)
If TopologyConfig is provided (from command's topology discovery):
---
feature: {feature-name}
gate: 0
date: {YYYY-MM-DD}
research_mode: greenfield | modification | integration
agents_dispatched: 4
topology:
scope: fullstack | backend-only | frontend-only
structure: single-repo | monorepo | multi-repo
modules: # Only if monorepo or multi-repo
backend:
path: {path}
language: golang | typescript
frontend:
path: {path}
framework: nextjs | react | vue
doc_organization: unified | per-module
api_pattern: direct | bff | other # Only if scope=fullstack
---
Document Placement (based on topology.structure):
| Structure | research.md Location |
|---|---|
| single-repo | docs/pre-dev/{feature-name}/research.md |
| monorepo | docs/pre-dev/{feature-name}/research.md (root) |
| multi-repo | Write to BOTH: {backend.path}/docs/pre-dev/{feature-name}/research.md AND {frontend.path}/docs/pre-dev/{feature-name}/research.md |
Multi-repo directory creation:
# Create directories in both repos
mkdir -p "{backend.path}/docs/pre-dev/{feature-name}"
mkdir -p "{frontend.path}/docs/pre-dev/{feature-name}"
Multi-repo sync note: Add this footer to research.md for multi-repo:
---
**Sync Status:** This document is maintained in both repositories.
- Primary: {backend.path}/docs/pre-dev/{feature-name}/research.md
- Mirror: {frontend.path}/docs/pre-dev/{feature-name}/research.md
If topology.structure is monorepo or multi-repo:
{topology.modules.backend.path} for patterns{topology.modules.frontend.path} for patterns### Codebase Research
#### Backend Module ({path})
[Agent output for backend]
#### Frontend Module ({path})
[Agent output for frontend]
target: based on topologyOutput:
docs/pre-dev/{feature-name}/research.md{backend.path}/docs/pre-dev/{feature-name}/research.md AND {frontend.path}/docs/pre-dev/{feature-name}/research.md| Section | Content |
|---|---|
| Metadata (YAML frontmatter) | date, feature, research_mode, agents_dispatched, topology |
| Executive Summary | 2-3 sentences synthesizing key findings |
| Research Mode | Why selected, what it means for focus |
| Codebase Research | Agent output (file:line references) |
| Best Practices Research | Agent output (URLs) |
| Framework Documentation | Agent output (version constraints) |
| Product/UX Research | Agent output (user problem, personas, design constraints) |
| Synthesis | Key patterns to follow (file:line, URL, doc ref); Constraints identified; Prior solutions from docs/solutions/; UX considerations; Open questions for PRD |
BLOCKING CHECKLIST:
| Check | Required For |
|---|---|
| Research mode documented | All modes |
| All 4 agents returned | All modes |
| research.md created | All modes |
| TopologyConfig in frontmatter | All modes (if provided by command) |
| At least one file:line reference | modification, integration |
| At least one external URL | greenfield, integration |
| docs/solutions/ searched | All modes |
| Tech stack versions documented | All modes |
| Product/UX research documented | All modes |
| User problem identified | All modes |
| Synthesis section complete | All modes |
| Module-specific research (if multi-module) | monorepo, multi-repo |
If validation fails:
ring:pre-dev-full (10-gate): Gate 0 Research → Gate 1 PRD (reads research.md) → ... → Gate 3 TRD (reads research.md)
ring:pre-dev-feature (5-gate): Gate 0 Research → Gate 1 PRD → Gate 2 TRD → Gate 3 Tasks
In Gate 1 (PRD): Reference existing patterns with file:line; cite docs/solutions/; include external URLs; note framework constraints
In Gate 3 (TRD): Reference implementation patterns; use version constraints; cite similar implementations
This skill is a research/analysis skill and does NOT require WebFetch of language-specific standards.
Purpose: This skill gathers research BEFORE technical decisions are made. Standards are loaded in TRD (Gate 3) after research establishes context.
However, research agents dispatched by this skill (e.g., ring:framework-docs-researcher) MUST use WebSearch and Context7 to gather current best practices.
| Condition | Action | Severity |
|---|---|---|
| Research mode cannot be determined | STOP and ask user for clarification | CRITICAL |
| All 4 research agents failed to return results | STOP and investigate connectivity/availability | CRITICAL |
| No docs/solutions/ directory exists to search | Continue but document as limitation | MEDIUM |
| TopologyConfig provided but invalid | STOP and request valid topology | HIGH |
| research.md cannot be created (permissions) | STOP and report filesystem error | CRITICAL |
These requirements are NON-NEGOTIABLE:
ring:product-designer| Severity | Definition | Example |
|---|---|---|
| CRITICAL | Research cannot proceed | All research agents failed, no mode determined |
| HIGH | Research incomplete but usable | Missing agent output (1 of 4) |
| MEDIUM | Research quality degraded | No file:line references in codebase research |
| LOW | Minor gaps in documentation | Missing one external URL reference |
| User Says | Your Response |
|---|---|
| "Skip research, just write the PRD" | "Cannot proceed. Research prevents reinventing existing patterns. Gate 0 takes 30 minutes, saves hours of rework." |
| "We already researched this manually" | "Cannot skip automated research. Manual research may miss codebase patterns. I'll run systematic analysis now." |
| "Only run codebase research, skip external" | "Cannot skip agents. Mode determines focus, not exclusion. Greenfield needs external research; modification needs both." |
| "Product research isn't needed, we know users" | "Cannot skip product-designer. User assumptions need validation. UX research prevents building wrong features." |
| "docs/solutions/ is empty, skip that check" | "Cannot skip the check. Empty result is documented. Future features benefit from knowing what doesn't exist." |
| Rationalization | Why It's WRONG | Required Action |
|---|---|---|
| "Feature is simple, research is overkill" | Simple features have conventions too. Research validates simplicity | Run all 4 agents regardless of perceived simplicity |
| "I know the codebase, skip repo research" | Personal knowledge isn't documented or shared | Run ring:repo-research-analyst anyway |
| "External best practices don't apply to us" | Best practices exist for reasons. Evaluate, don't dismiss | Run ring:best-practices-researcher |
| "Framework docs are the same as last time" | Versions change. Patterns evolve. Check current state | Run ring:framework-docs-researcher |
| "User research slows us down" | Building wrong features slows down 100x more | Run ring:product-designer in ux-research mode |
| "Synthesis is just summary, I can skip it" | Synthesis extracts actionable insights. Summary isn't enough | Complete synthesis section with patterns/constraints |
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.