Skip to content

feat: add user research workflow with skills, command, and agent#194

Open
mattthomps1 wants to merge 13 commits intoEveryInc:mainfrom
mattthomps1:feat/user-research-workflow
Open

feat: add user research workflow with skills, command, and agent#194
mattthomps1 wants to merge 13 commits intoEveryInc:mainfrom
mattthomps1:feat/user-research-workflow

Conversation

@mattthomps1
Copy link

@mattthomps1 mattthomps1 commented Feb 16, 2026

Summary

Adds an optional Research phase to the compound engineering loop. Just as Plan grounds work in codebase context and Review catches issues before shipping, Research grounds product decisions in user evidence — personas, interview insights, and identified opportunities.

1 command, 3 skills, 1 agent. Integrates into brainstorm and plan workflows but is entirely optional — teams without research data experience zero behavioral change.

New Components

Component Type Description
/workflows:research Command Orchestrates 3 phases: plan research, process transcripts, build personas
research-plan Skill Create structured research plans with Teresa Torres methodology
transcript-insights Skill Process interview transcripts into tagged insight snapshots
persona-builder Skill Synthesize personas from interviews with confidence tracking
user-research-analyst Agent Search research artifacts for evidence relevant to planning

How It Fits the Loop

         ┌──────────────────────────────────────────┐
         │          COMPOUND ENGINEERING LOOP        │
         │                                           │
         │   Research (optional, feeds into Plan)    │
         │       ↓                                   │
         │   Plan → Work → Review → Compound         │
         └──────────────────────────────────────────┘

Key Decisions

1. "Do No Harm" — Producer Messages, Consumer Silences

The most important design constraint: existing workflows must behave identically when no research data exists.

How it works: user-research-analyst runs in parallel during brainstorm/plan. When docs/research/ is empty, the agent returns "No data found." But the consuming workflows don't surface that — they skip silently:

# In brainstorm.md:
If `user-research-analyst` returns relevant findings, briefly summarize them.
If no research data exists, skip the summary silently and proceed directly
to the collaborative dialogue — do not mention the absence of research
or suggest running `/workflows:research`.

Pattern: the producer handles absence with a message; the consumer handles absence with silence. This prevents nagging users who don't use research.

2. Privacy by Design

Transcripts contain PII and are gitignored by default. Only anonymized snapshots and personas get committed. Skills enforce PII stripping with MUST language, not advisory "consider" language.

Directory Contents Committed?
docs/research/plans/ Research plans with hypotheses Yes
docs/research/transcripts/ Raw interview transcripts (PII) No (gitignored)
docs/research/interviews/ Anonymized interview snapshots Yes
docs/research/personas/ Living persona documents Yes

3. No Hard Prerequisites Between Phases

Transcripts can be processed without creating a research plan first — select "Ad-hoc / no plan" during processing. The phase recommender prioritizes actionable data (unprocessed transcripts) over missing prerequisites (no plan).

4. Single Canonical Reference — Extensible by Design

discovery-playbook.md (Teresa Torres + Mom Test methodology, 414 lines / 10 sections) lives in research-plan/references/ and is referenced by the other two skills via relative path. No duplication.

5. Parallel Execution

user-research-analyst runs alongside repo-research-analyst (brainstorm) and learnings-researcher (plan). No serial bottleneck added.

Also Included

  • Wired research context into existing /workflows:brainstorm and /workflows:plan commands
  • Compound learnings doc: docs/solutions/integration-issues/adding-optional-workflow-phases-with-graceful-degradation.md
  • Solution doc for workflow routing fix and transcript input mismatch
  • Removed PII sample data and deduplicated discovery playbook during review

Test Plan

"Do no harm" tests (most important):

  • Run /workflows:brainstorm with NO research data — verify zero behavioral change (no mention of research)
  • Run /workflows:plan with NO research data — verify zero behavioral change

Feature tests:

  • Run /workflows:research plan — verify research plan created at docs/research/plans/
  • Run /workflows:research process with a transcript — verify anonymized snapshot at docs/research/interviews/
  • Run /workflows:research process without a plan — verify "Ad-hoc / no plan" option works
  • Run /workflows:research personas with existing snapshots — verify persona at docs/research/personas/
  • Run /workflows:brainstorm WITH research data — verify personas/insights surfaced before dialogue
  • Run /workflows:plan WITH research data — verify user evidence in Step 1.6 consolidation

Extensibility:

  • Edit discovery-playbook.md — verify all 3 skills load updated content on next invocation

Verification:

  • .gitignore includes docs/research/transcripts/*.md

Post-Deploy Monitoring & Validation

No additional operational monitoring required: plugin-only change with no runtime/server component. Existing workflows remain unaffected when docs/research/ is empty.


Compound Engineered 🤖 Generated with Claude Code

mattthomps1 and others added 12 commits February 16, 2026 07:21
Brainstorm and deepened plan for adding a user research workflow to the
compound-engineering plugin — a /workflows:research command with three
skills (research-plan, transcript-insights, persona-builder) and one
agent (user-research-analyst). Plan was enhanced by 7 parallel research
agents covering architecture, patterns, simplicity, best practices, and
skill/agent conventions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add a parallel research track to the compound engineering plugin:
- `/workflows:research` command orchestrating plan/process/personas phases
- `research-plan` skill for structured research plans with discussion guides
- `transcript-insights` skill for processing transcripts into tagged snapshots
- `persona-builder` skill for synthesizing personas with merge logic
- `user-research-analyst` agent for searching research artifacts
- Discovery playbook reference bundled with each research skill

Fixes pre-existing README count drift (25→24 commands, 16→18 skills)
and marketplace.json version drift (2.31.0→2.32.0).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Test the full research workflow (plan → process → personas) with real
transcripts from SAM interviews, producing a research plan, two interview
snapshots, and a synthesized persona.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… workflows

Explores 16 integration ideas across 5 tiers, narrows to 6 items in a phased approach:
- Phase 1: Wire user-research-analyst into brainstorm Phase 1.1 and plan Step 1
- Phase 2: Deeper brainstorm integrations (opportunity-driven initiation, research-informed
  questions, persona-grounded evaluation, evidence in capture docs)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

https://claude.ai/code/session_014DYcTSd4s126qgbtYiXaVA
…, wire research into workflows

- Remove 6 sample data files containing real names, company names, and
  confidential discussions (P1 privacy blocker)
- Add docs/research/transcripts/*.md to .gitignore
- Deduplicate discovery-playbook.md (keep canonical copy in research-plan,
  reference from other skills via relative path)
- Wire user-research-analyst into brainstorm Phase 1.1 and plan Step 1
  as parallel agent with silent graceful degradation when no data exists
- Strengthen PII stripping guidance in transcript-insights skill
- Simplify persona-builder evidence strength / hypothesis status tables
- Fix research command phase recommendation to prioritize unprocessed
  transcripts over missing plans

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Document 4 patterns learned during review:
1. "Do no harm" integration — producer handles absence with message,
   consumer handles absence with silence
2. PII-safe research artifacts — gitignore before create, MUST not consider
3. Reference file deduplication — one canonical copy, relative paths
4. Phase recommendation priority — actionable data over missing prerequisites

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Research process phase stalled when used as the first research action.
Two fixes: (1) workflows:research now saves inline transcript content to
a file before processing instead of requiring pre-existing files, and
(2) transcript-insights skill gracefully handles empty plans directory
by defaulting to ad-hoc.

Closes EveryInc#187

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Documents the root cause, fix, and prevention checklist for the
workflow-skill input mismatch that caused /workflows:research process
to stall on first use with empty directories.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… leak

The model was running Phase Selection (artifact status checks) even when
inline transcript content was provided. Replaced soft "jump to Phase 2"
instruction with numbered rules (Rule 1-4) with explicit "follow FIRST
match and STOP" semantics. Inline content handling now happens at the
routing point itself rather than deferring to a distant section.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Warp <agent@warp.dev>
@mattthomps1 mattthomps1 force-pushed the feat/user-research-workflow branch from 8e33fce to b76a28d Compare February 16, 2026 12:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants