Help us improve
Share bugs, ideas, or general feedback.
From pipeline
Gathers context from ai-memory, RAG, web search, and DM domain plugins for feature planning. Use when starting a feature and needing comprehensive background before planning. Dispatches parallel research agents across all DM knowledge sources -- ai-memory knowledge graph, personal RAG library, web search, Context7 framework docs, and compound-engineering research agents. Invoke with /pipeline (research phase) or load directly when planning any DM project feature.
npx claudepluginhub design-machines-studio/depot --plugin pipelineHow this skill is triggered — by the user, by Claude, or both
Slash command
/pipeline:researchThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Gather context from all available DM knowledge sources before planning a feature. Produces a Research Brief that informs plan creation and prompt generation.
Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Share bugs, ideas, or general feedback.
Gather context from all available DM knowledge sources before planning a feature. Produces a Research Brief that informs plan creation and prompt generation.
Requires two things:
Determine which research sources are available. Check each and note availability:
| Source | How to Check | Required |
|---|---|---|
| ai-memory | Call mcp__ai-memory__search_entities with a test query | Yes (hard dep on ned) |
| RAG | Call mcp__rag__rag_search with a test query | No -- graceful skip |
| Web search | WebSearch tool available | No -- graceful skip |
| Context7 | mcp__plugin_context7_context7__resolve-library-id available | No -- graceful skip |
| compound-engineering | Check if repo-research-analyst agent is available | No -- graceful skip |
| Gemini CLI | Run timeout 10 gemini -p "test" -m flash-lite --yolo --output-format json --raw-output 2>/dev/null and check for valid JSON | No -- graceful skip |
Detect the project type to determine which domain plugins to load as companions. Use the same detection logic as dm-review:
| Marker | Project Type | Companion Skill |
|---|---|---|
go.mod | Go+Templ+Datastar | assembly development |
craft/ or config/ with craft | Craft CMS | craft-developer craft-development |
CSS files in src/css/ or Live Wires patterns | Live Wires CSS | live-wires livewires |
| Design/UX context in feature description | Design practice | design-practice skills |
| Cooperative governance context | Governance | council governance |
Launch all available research agents simultaneously. Each agent gets the feature description and assessment brief (if available).
Agent 1: ai-memory Researcher
Search the knowledge graph for everything related to the feature area:
get_entityAgent 2: RAG Researcher (if available)
Search the personal knowledge library:
Agent 3: Domain Plugin Researcher
Load companion skills based on project type and extract relevant patterns:
This agent reads the companion skill content and extracts the sections most relevant to the feature.
Agent 4: Web + Context7 Researcher (if available)
Search for current best practices:
Agent 5: Codebase Researcher (if compound-engineering available)
Delegate to compound-engineering's research agents:
repo-research-analyst -- Repository structure and conventionsbest-practices-researcher -- Industry best practices for the feature typeframework-docs-researcher -- Framework-specific documentationIf compound-engineering is not installed, perform basic codebase research directly:
Agent 6: Gemini Search Researcher (if Gemini CLI available)
Search with Google grounding for current, cited results:
TEMPLATES_PATH=""
PROTOCOL_PATH=""
for CACHE_ROOT in "$HOME/.claude/plugins/cache/depot" "$HOME/.codex/plugins/cache/depot"; do
TEMPLATES_PATH=$(ls -t "$CACHE_ROOT"/gemini/*/skills/gemini-delegate/references/prompt-templates.md 2>/dev/null | head -1)
PROTOCOL_PATH=$(ls -t "$CACHE_ROOT"/gemini/*/skills/gemini-delegate/references/invocation-protocol.md 2>/dev/null | head -1)
[ -n "$TEMPLATES_PATH" ] && [ -n "$PROTOCOL_PATH" ] && break
done
Load the Search Grounding Template from $TEMPLATES_PATH. Fill in the topic queries and project context, then invoke per $PROTOCOL_PATH (which itself resolves the gemini-wrapper.sh via the cache). Use flash model with 60s timeout.response field from JSON output. Verify stats.tools.byName.google_web_search is present (confirms search grounding was used).Advantage over Agent 4 (Web + Context7): Gemini's search grounding returns structured citations with URLs automatically. Context7 is better for framework API docs; Gemini is better for current best practices, recent changes, and community patterns. They complement each other.
After parallel research completes, run these mandatory verification steps. These prevent the most common pipeline failures:
1. API Existence Verification
If the research suggests using specific framework functions, APIs, or library features, verify they exist in the actual installed version:
# Go: check if a function exists in the module
docker compose exec app grep -r "func.*WithID" /go/pkg/mod/github.com/a-h/templ* 2>/dev/null
# Node: check exports
node -e "console.log(Object.keys(require('package-name')))"
# General: check go.mod/package.json for actual version installed
Do NOT propose using an API that hasn't been verified to exist in the installed version. Hallucinated APIs are the #1 cause of pipeline failures.
2. Codebase Pattern Verification
When research finds framework patterns (e.g., Datastar attribute syntax), verify the EXACT syntax used in the CURRENT codebase, not documentation:
# Find actual Datastar modifier syntax in use
grep -r "data-on:" backend/internal/ --include="*.templ" | head -5
If the codebase uses data-on:keydown__window but docs say data-on:keydown.window, the CODEBASE wins. Document the actual patterns found.
3. Build Tool Detection
Read the actual build configuration -- don't assume:
cat package.json | python3 -c "import json,sys; d=json.load(sys.stdin); print('scripts:', json.dumps(d.get('scripts',{}), indent=2))"
4. Exhaustive File Search
When research finds a file matching a pattern, search for ALL matches -- don't stop at the first one:
# Find ALL template files for a given feature
find . -name "*.templ" -path "*/members/*" 2>/dev/null
Document every match. Duplicate files serving different routes is a common source of bugs.
When research uncovers code-to-doc cross-references (e.g. a spec cites a specific handler, or code references a design doc), prefer stable anchors over line numbers in the Research Brief output.
Rules the Research Brief should follow:
func SetPosition in internal/handler/position.go beats position.go:42.templ PositionChangeDialog beats dialogs.templ:235.#voting-thresholds) rather than docs/governance.md:120.003_add_votes.sql -> proposals.vote_count) rather than SQL line numbers.When the research agent generates citations, it should apply these rules to its own outputs. The prompt-writer (Phase 4) inherits these anchors and does not have to clean up brittle line-number references the research phase introduced.
Also loads (see Phase 4 handoff): the promptcraft skill's Phase 3e Stable Anchors Audit enforces the same rule downstream.
Collect results from all agents and produce a Research Brief:
# Research Brief: [Feature Name]
## Summary
[2-3 sentence summary of what was found]
## Project Context
[From ai-memory: prior decisions, known constraints, related work]
## Domain Knowledge
[From domain plugins: applicable patterns, conventions, requirements]
## Design References
[From RAG: relevant design principles, methodology guidance]
## Technical References
[From web/Context7: current docs, best practices, version guidance]
## Codebase Patterns
[From codebase research: existing similar implementations, conventions to follow]
## Constraints and Risks
[Anything that could complicate implementation]
## Key Decisions Needed
[Questions that planning will need to answer]
Save the brief to plans/research-<feature-slug>.md in the target project.
If running as part of /pipeline, pass the Research Brief forward to the planning phase. If running standalone, present it to the user.
Each research source operates independently. If a source is unavailable:
Minimum viable research requires only ai-memory (hard dependency on ned).
Reference files under plugins/*/references/ (domain plugins, companion skills) are loaded ON DEMAND by research agents, not eagerly up front. The Research Brief is synthesized from targeted loads -- an agent reads a specific reference only when its research thread needs it.
live-wires:livewires/references/spacing.md when the feature touches CSS spacing.council:governance/references/bc-cooperative-act.md when the feature involves voting thresholds.When in doubt, load narrowly. Re-load only if the first pass missed necessary detail.