Transform a narrative brief into a complete narrative specification through parallel research streams. Use this skill whenever a narrative-brief.md exists and needs to be expanded into technical analysis, audience profiling, narrative structure, and visual language — the foundation stones for everything that follows. Activates on 'research this concept', 'analyze the brief', 'build the spec', 'deepen the research', or when @niwashi routes to the RESEARCH phase.
石組 (Ishigumi) — Place the stones that define everything.
You are executing the RESEARCH phase of the niwashi-studio workflow. Your job is to transform a narrative-brief.md into a comprehensive narrative-spec.md through 4 research streams, cross-validated for consistency.
| Path | Description | |
|---|---|---|
| Reads | niwashi_docs/<narrative>/narrative-brief.md | DISCOVER output — concept, audience, goals, scope |
| Reads | niwashi_docs/patterns/ | Prior art from completed narratives (if any) |
| Writes | niwashi_docs/<narrative>/narrative-spec.md | The single source of truth for WIREFRAME and BUILD |
Step 1: Pattern Consultation
│
▼
Step 2: Research Streams
│
├── Phase A (parallel): S1 Technical + S2 Audience
│
├── Phase B (sequential): S3 Narrative (needs S1) → S4 Visual (needs S1+S3)
│
▼
Step 3: Cross-Stream Consistency Check
│
▼
Step 4: Synthesize → narrative-spec.md
│
▼
Step 5: Spec Review Loop (max 3 rework cycles)
│
▼
Step 6: Present to user for approval
Before any research, check for prior art.
niwashi_docs/patterns/Key principle: Adapt, don't restart from zero. Patterns are seeds from prior narratives — they save time and compound quality. But every concept has its own needs, so always tailor.
Read the narrative brief thoroughly. Then execute 4 research streams in two phases.
Dispatch S1 and S2 as parallel subagents:
S1: Technical Deep-Dive — Read references/stream-technical.md and execute its instructions against the narrative brief and any relevant patterns. Save the output as your S1 results.
S2: Audience Profile — Read references/stream-audience.md and execute its instructions against the narrative brief. Save the output as your S2 results.
These two streams have no dependencies on each other. Run them in parallel if your platform supports it, or sequentially if not.
Wait for both to complete before proceeding to Phase B.
S3: Narrative Arc — needs S1 output.
Read references/stream-narrative.md and execute it yourself (not as subagent) so you can directly reference S1's technical analysis. Pass S2 output as additional context.
S4: Visual Language — needs S1 + S3 output.
Read references/stream-visual.md and execute it yourself. You need both the technical concepts from S1 and the section structure from S3.
Design quality reference: Before writing visual language, also read skills/web-design-guidelines/SKILL.md for Web Interface Guidelines and consult the frontend-design skill principles if available. Key rules to internalize:
After all 4 streams complete, run these 4 validations before writing the spec:
Does the visual language (S4) have concrete representations for every core concept identified in S1?
Does the narrative arc (S3) respect the audience constraints from S2?
Do the interaction patterns in S4 align with the sections defined in S3?
Are there conflicts between S1's technical terms and S2's audience vocabulary?
If any validation fails: Fix the inconsistency in the relevant stream output before proceeding. This may mean revising a section of S3 to better address S2's constraints, or adding a visual pattern to S4 for an uncovered concept.
Read the template at references/narrative-spec-template.md.
Combine all 4 stream outputs into a single narrative-spec.md following the template structure. Write it to niwashi_docs/<narrative>/narrative-spec.md.
The spec must be self-contained — a reader (or agent) should understand the full plan by reading only this file. Don't reference the brief for critical details; carry forward what matters.
After writing narrative-spec.md, dispatch a reviewer subagent with the spec content and these criteria:
The reviewer should return a structured verdict — pass or fail with specific issues.
If the reviewer finds issues:
progress.md and present the best-effort spec to the user for approvalIf the reviewer returns clean: Present the spec to the user.
Present the completed spec to the user with a summary:
Here's the narrative specification for [concept name].
- Technical core: [1-line summary of the aha-moment]
- Audience: [persona] with [knowledge level]
- Structure: [N] sections — [brief arc description]
- Visual approach: [1-line summary of the visual language]
Review the full spec at
niwashi_docs/<narrative>/narrative-spec.md. Does this capture the right foundation? Any sections to revise?
Wait for user approval before proceeding to WIREFRAME.
HARD GATE: Do not suggest moving to WIREFRAME until the user explicitly approves the spec.
Use these as typical targets — adjust based on concept complexity. A simple concept may need fewer elements; a complex one may need more.
At the start of this phase, append to niwashi_docs/<narrative>/progress.md:
## Session YYYY-MM-DD HH:MM — RESEARCH
Starting: Pattern consultation + 4 research streams
Patterns found: [list or "none"]
At the end, append:
Completed: narrative-spec.md written
Quality: [summary of review loop results]
Cross-stream checks: [pass/fail summary]
If the narrative brief lacks sufficient detail for research (e.g., no audience defined, concept is vague):
/niwashi-01-discover with targeted questions.If a prior pattern suggests an approach that contradicts the current brief's goals:
If S1 reveals the concept spans multiple independent mechanisms:
For detailed instructions per stream, read: