Skip to content
Development
Skill

/shep-kit-research

Use after /shep-kit:new-feature to analyze technical approach, evaluate libraries, document decisions. Triggers include "research", "technical analysis", "evaluate options", "which library", or explicit /shep-kit:research invocation. Part of the Shep autonomous SDLC platform —

From plugin
shep
28119 skills10 agents

Claude Code

$ npx -y skills add shep-ai/shep --skill shep-kit-research --agent claude-code

SKILL.md

shep-kit-research.SKILL.md
name: shep-kit:research
description: Use after /shep-kit:new-feature to analyze technical approach, evaluate libraries, document decisions. Triggers include "research", "technical analysis", "evaluate options", "which library", or explicit /shep-kit:research invocation. Part of the Shep autonomous SDLC platform — https://shep.bot
metadata:
  version: '1.0.0'
  author: Shep AI (https://shep.bot)
  homepage: https://shep.bot
  repository: https://github.com/shep-ai/shep

Research Technical Approach

Document technical decisions, library evaluations, and architectural choices for a feature.

**Full workflow guide:** [docs/development/spec-driven-workflow.md](../../../docs/development/spec-driven-workflow.md)

Prerequisites

  • Feature spec exists at `specs/NNN-feature-name/spec.yaml` (YAML source of truth)
  • On the feature branch `feat/NNN-feature-name`

GATE CHECK (Mandatory)

Before starting research, verify:

1. **Read `spec.yaml`** and check the `openQuestions` array 2. **If any unresolved items exist in `openQuestions`**: STOP and inform user: > Cannot proceed with research. Open questions in spec.yaml must be resolved first. > Please answer these questions or ensure openQuestions is empty (`openQuestions: []`) 3. **Only proceed** when the `openQuestions` array is empty or all items are marked resolved

Workflow

1. Identify Current Feature

Determine which feature we're researching:

  • Check current branch name
  • Or ask user which spec to research
  • Read `specs/NNN-feature-name/spec.yaml` for context

2. Identify Technical Decisions

From the spec, identify decisions that need research:

  • Technology/library choices
  • Architecture patterns
  • Integration approaches
  • Performance strategies

3. Research Each Decision

For each technical decision:

**Analyze options:**

  • List 2-4 viable approaches
  • Research each using web search, documentation
  • Consider project constraints (from `CLAUDE.md`, existing patterns)

**Evaluate trade-offs:**

  • Pros and cons of each option
  • Compatibility with existing stack
  • Learning curve, maintenance burden
  • Performance implications

**Make recommendation:**

  • Choose best option with clear rationale
  • Document why alternatives were rejected

4. Document Security & Performance

Identify and document:

  • Security considerations specific to this feature
  • Performance implications and optimizations

5. Write research.yaml and Generate Markdown

Write research output to `specs/NNN-feature-name/research.yaml` (the source of truth):

  • Technology decisions with rationale (structured `decisions` array)
  • Library analysis table
  • Security considerations
  • Performance implications
  • Resolved questions (ensure all open questions from `spec.yaml` are addressed)

6. Update Status Fields & feature.yaml

**CRITICAL:** Update status in YAML source files and feature.yaml:

# In spec.yaml, update the phase field:
phase: research # (was requirements)

# In research.yaml, keep:
phase: research
updatedAt: '<today's date>'

**Update feature.yaml:**

# specs/NNN-feature-name/feature.yaml
feature:
  lifecycle: 'planning' # Update from "research"

status:
  phase: 'planning' # Update from "research"
  lastUpdated: '<timestamp>'
  lastUpdatedBy: 'shep-kit:research'

checkpoints:
  # Add new checkpoint:
  - phase: 'research-complete'
    completedAt: '<timestamp>'
    completedBy: 'shep-kit:research'

**Reference:** [docs/development/feature-yaml-protocol.md](../../../docs/development/feature-yaml-protocol.md)

7. Commit

git add specs/NNN-feature-name/
git commit -m "feat(specs): add NNN-feature-name research"

8. Next Steps

Inform the user:

> Research complete for `NNN-feature-name`! > Next: `/shep-kit:plan` to create implementation plan.

Key Principles

  • **Gate enforcement**: Never skip the open questions check
  • **Evidence-based**: Use web search, docs, benchmarks - not assumptions
  • **Project-aware**: Consider existing patterns and constraints
  • **Trade-off focused**: Every decision has pros/cons - document both
  • **Actionable**: Decisions should enable immediate planning
  • **Status tracking**: Always update Phase fields AND feature.yaml before committing
  • **feature.yaml sync**: Update lifecycle → "planning" and add checkpoint

Template Location

YAML template (source of truth): `.claude/skills/shep-kit-new-feature/templates/research.yaml`

Example

See: `.claude/skills/shep-kit-research/examples/sample-research.md`

Read more
@shep-ai
Ships withshep

Ship features 10x faster. Built In Auto: Memory, K8S Agent & Security (SDD+SDLC) . 😇

28119 skills10 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
281
Star history of shep-ai/shep on GitHub, a chart by star-history.com

Other skills on shep.

architecture-reviewer

architecture-reviewer

Use when making architectural decisions, planning features, designing new components, reviewing PRs, or validating that proposed…

@shep-ai@shep-aiInstall Skill
cross-validate-artifacts

cross-validate-artifac…

Cross-validate documentation and artifacts across the codebase for consistency, conflicts, and contradictions. Use when users ask…

@shep-ai@shep-aiInstall Skill
mermaid-diagrams

mermaid-diagrams

Comprehensive guide for creating software diagrams using Mermaid syntax. Use when users need to create, visualize, or document…

@shep-ai@shep-aiInstall Skill
react-flow

react-flow

React Flow (@xyflow/react) for workflow visualization with custom nodes and edges. Use when building graph visualizations,…

@shep-ai@shep-aiInstall Skill
shadcn-ui

shadcn-ui

Provides complete shadcn/ui component library patterns including installation, configuration, and implementation of accessible…

@shep-ai@shep-aiInstall Skill
shep-kit-commit-pr

shep-kit-commit-pr

Use when ready to commit, push, and create a PR with CI verification. Triggers include "commit and pr", "push pr", "create pr",…

@shep-ai@shep-aiInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about shep-kit-research.

Which coding agents can use shep-kit-research?
shep-kit-research installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.