Research UX patterns and technical approaches — use when: research this, look up how X works, find patterns for, what's the best approach for
Phase 2 of the GSP project diamond. Deep research phase that investigates UX patterns, competitor experiences, technical approaches, accessibility strategies, and content patterns specific to what this project is building.
This is NOT brand-level discovery (that's /gsp-brand-research). This is project-level research — focused on the product type, user flows, and implementation challenges.
Works with the dual-diamond architecture: reads brand context from .design/branding/{brand}/ via brand.ref, reads/writes project assets in .design/projects/{project}/.
</context>
Input: Brief scope + brand system + project BRIEF.md
Output: {project}/research/ (6 research chunks + INDEX.md)
Agent: gsp-project-researcher
</objective>
<execution_context> @${CLAUDE_SKILL_DIR}/../../templates/phases/research.md </execution_context>
<process> ## Step 0: Resolve project and brandIf .design/projects/ does not exist: output "No GSP project found. Run /gsp-start to begin." and stop.
Resolve project from .design/projects/ (one → use it, multiple → ask). Set .
PROJECT_PATHRead {PROJECT_PATH}/brand.ref → set BRAND_PATH.
Read {PROJECT_PATH}/brief/INDEX.md. If it exists, load scope.md and target-adaptations.md.
If brief doesn't exist, tell the user to run /gsp-project-brief first.
Read {BRAND_PATH}/patterns/INDEX.md. If it exists, load foundation chunks (to understand the design system constraints).
Read {BRAND_PATH}/discover/INDEX.md. If it exists, load competitive-audit.md and trend-analysis.md (to avoid duplicating brand-level research).
If {PROJECT_PATH}/references/INDEX.md exists, load relevant references (competitor screenshots, brand guidelines, design specs). Pass to the researcher agent for context.
Read:
{PROJECT_PATH}/BRIEF.md — what we're building, platforms, audience{PROJECT_PATH}/config.json — get implementation_target, platform, tech_stackIf design_scope is tokens:
{PROJECT_PATH}/STATE.md — set Phase 2 (Research) status to skippedtokens."/gsp-project-build."If competitor URLs or reference sites are mentioned in BRIEF.md or {PROJECT_PATH}/references/, use WebFetch with run_in_background: true to pre-fetch them. This warms content for the researcher agent.
Read ${CLAUDE_SKILL_DIR}/methodology/gsp-project-researcher.md. Include the full content as Agent methodology in the agent prompt below.
Spawn the gsp-project-researcher agent. Inline all content — the agent should not need to read any input files.
Pass in the agent prompt:
implementation_target, platform, tech_stack{PROJECT_PATH}/research/The agent researches using WebSearch and writes chunks directly:
research/ux-patterns.mdresearch/competitor-ux.mdresearch/technical-research.mdresearch/accessibility-patterns.mdresearch/content-strategy.mdresearch/reference-specs.mdresearch/recommendations.mdresearch/INDEX.mdUpdate {PROJECT_PATH}/exports/INDEX.md:
templates/exports-index.md<!-- BEGIN:research --> and <!-- END:research --> with populated table:<!-- BEGIN:research -->
| Section | File |
|---------|------|
| UX Patterns | [ux-patterns.md](../research/ux-patterns.md) |
| Competitor UX | [competitor-ux.md](../research/competitor-ux.md) |
| Technical Research | [technical-research.md](../research/technical-research.md) |
| Accessibility Patterns | [accessibility-patterns.md](../research/accessibility-patterns.md) |
| Content Strategy | [content-strategy.md](../research/content-strategy.md) |
| Reference Specs | [reference-specs.md](../research/reference-specs.md) |
| Recommendations | [recommendations.md](../research/recommendations.md) |
<!-- END:research -->
Update {PROJECT_PATH}/STATE.md:
completeInvoke /gsp-phase-transition with phase research and output directory {PROJECT_PATH}/research/.
</process>
</output>