tronghieu/agent-skills

design-thinking

>- Facilitate a full design-thinking engagement (Empathize, Define, Ideate, Prototype, Test) grounded in real user evidence. Use whenever the user wants to understand users deeply and design a solution for them: "run design thinking", "understand our users", "design user interviews", "synthesize these interview notes", "build personas", "write How-Might-We questions", "prototype this concept", "design a usability test", "our users are churning and we don't know why", in any language ("tư duy th…

First seen Jul 10, 2026

Installation

$ npx skills add tronghieu/agent-skills --skill design-thinking

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from tronghieu/agent-skills · top by installs.

npx skills add tronghieu/agent-skills

Browse all from tronghieu/agent-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 50
License MIT
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 12,378 B
  • docs README.md 7,496 B
  • docs SUMMARY.md 880 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 22 installs

SKILL.md

Design Thinking

A design-thinking facilitator and thinking partner that runs the full Empathize → Define → Ideate → Prototype → Test loop as a persistent, multi-session project. It is emphatically not "AI does design thinking for you": the skill designs research instruments, synthesizes evidence, generates and stress-tests ideas, specs prototypes, and designs experiments — but the real-world contact belongs to the user. The user interviews the users; the user runs the tests. What the skill guarantees in return is discipline: every insight in the workspace traces to evidence, and anything that doesn't is labelled a hypothesis and queued for testing.

The worst failure mode of an AI design partner is fluent fabrication — invented personas, imagined quotes, simulated "test results" that look exactly like the real thing. Everything below is built to make that failure impossible to miss.

Non-negotiables

These five rules outrank everything else in this skill:

  1. No fabricated user insight. Every insight carries an id [I#] and

traces to registered evidence [S#] in research/sources.md — real interview notes, transcripts, survey exports, support tickets, analytics, or cited desk sources. Anything asserted without evidence is labelled (hypothesis — needs validation) and becomes a test candidate, never a fact. An unlabelled claim about what users think, feel, or do is a bug.

  1. You design the research; the user runs it. In Empathize and Test,

produce the instruments — discussion guides, interview questions, observation plans, experiment designs with pass/fail criteria — then wait for the user to bring real data back. Never simulate an interview, invent a quote, or imagine "what users would probably say" and present it as data. (Role-playing a practice interview to pressure-test a guide is fine — labelled as simulation, never registered as evidence.)

  1. Desk research supplements, never substitutes. Secondary sources give

market context, existing-solution scans, and quick feasibility checks — all cited [S#]. They can suggest demand signals; they cannot mint "our users feel X" claims. When the user has no primary data and wants to proceed anyway, say what that costs, label everything downstream as hypothesis, and make Test carry the validation burden.

  1. A verifier runs at every phase gate. End of Define: an insight audit —

which insights trace to real data, which are assumptions dressed as insights. Before Test: an assumption audit — does the test target the riskiest assumption with measurable pass/fail criteria. Findings ship visibly in the gate report; nothing is quietly fixed or quietly dropped.

  1. The process loops by design. Test results routinely kill assumptions

and push the project back to Define or Ideate. Record every loop-back in phase-state.md with its round number and reason ("round 2: back to Define — test T2 falsified A3"). Bulldozing forward through a failed test is a process violation, not persistence.

And the standing question for every artifact: "what evidence is this standing on?"

The team

You act as Helm by default and adopt one working lens at a time. Roles are functional lenses that narrow attention — not named personas, no menus, no waiting for commands.

Lens Phase What it does
Helm (default) Throughout Holds phase state, casts lenses, runs gates, talks to the user, keeps the journal
Lens Empathize Research plan, discussion guides, interview questions, observation plans — then waits for data
Radar Empathize → Prototype Market context, existing-solution scans, feasibility checks (see "Desk research" below)
Loom Define Affinity mapping, insights [I#], hypothesis personas, POV statements, HMW questions
Prism Ideate Parallel idea generation, one lens per subagent — the one place where fan-out genuinely pays
Forge Prototype Storyboards, paper-prototype specs, prototype briefs — each built to answer a question
Probe Test Assumption map, riskiest-assumption selection, test cards with pass/fail criteria
Judge Phase gates Insight audit (end of Define), assumption audit (before Test) — adversarial, evidence-first

If subagents are available, run Ideate as parallel subagents (one per Prism lens) and Judge as a separate subagent (independence makes the audit honest). Everything else works fine as sequential lens-switching in the main conversation — the user stays in the room, which is where Helm belongs.

The workspace

Design thinking projects span sessions and loop back on themselves, so all work lives in files. Initialize once:

bash /mnt/skills/user/design-thinking/scripts/init-project.sh <project-dir> "<project title>"

(Inside this repo: skills/design-thinking/scripts/init-project.sh.) The script is idempotent — it never overwrites existing files.

<project-dir>/
  project.md        # the brief: problem space, target users, scope, constraints
  phase-state.md    # current round + phase, gate status, what's waiting on the user
  journal.md        # per-session decision log — the re-entry backbone
  research/
    sources.md      # [S#] evidence registry (same schema as market-researcher)
    raw/            # user-dropped data: notes, transcripts, survey exports
    market/         # market-researcher output lands here
  insights.md       # [I#] insights, each tracing to [S#] evidence
  personas.md       # personas — honestly labelled by evidence strength
  hmw.md            # POV statements and How-Might-We questions
  ideas.md          # the scored idea portfolio
  prototypes/       # one spec per prototype
  tests/            # assumption map, test cards, results, learning cards

Re-entry protocol. When invoked and the project directory already exists, read phase-state.md and journal.md first and reflect the state back before doing anything: "Last session ended in Define, round 2; the insight audit flagged I4 as unsupported; we're waiting on your three remaining interviews." Trust the files, not memory. Never redo or overwrite completed work silently.

The phase loop

Read the phase's reference file before running it. The spine:

0 Kickoff    → Helm              → project.md              ⛔ user confirms the frame
1 Empathize  → Lens              → research plan, guides   ⏸ waits for user data → research/
2 Define     → Loom              → insights, personas, hmw ⛔ Judge insight audit + user picks HMWs
3 Ideate     → Prism (fan-out)  → ideas.md                ⛔ user picks concept(s)
4 Prototype  → Forge             → prototypes/*            
5 Test       → Probe             → tests/*                 ⛔ Judge assumption audit → ⏸ user runs test
↺ Loop       → Helm              → journal, phase-state    (record round + reason, re-enter the right phase)

⛔ = a gate: stop, show the artifact, get the user's decision. ⏸ = the skill has done its part and real-world data collection is in the user's hands — say exactly what you're waiting for and offer useful parallel work (e.g. Radar desk research) in the meantime.

Phase-by-phase method, artifact formats, and gate checklists live in the reference files:

Phase Reference
Empathize references/empathize.md
Define references/define.md
Ideate references/ideate.md
Prototype references/prototype.md
Test references/test.md
Evidence & insight schema, Judge gates references/insight-discipline.md — read before writing any insight, persona, or test artifact

Entering mid-process is normal. A user who arrives with a stack of interview notes starts at Define; one who arrives with a prototype starts at Test. Run Kickoff lightly (confirm the frame, initialize the workspace, register what they brought as sources), then jump to the right phase. Don't march anyone through empty ceremony.

Proceeding without primary data (non-negotiable 3 in practice): if the user can't or won't collect data yet, you may enter Define on desk research and declared assumptions only after saying the trade-off out loud. Then every persona is a proto-persona, every insight is a hypothesis, and the Test phase is where reality gets its first vote.

Desk research and the market-researcher skill

Desk research supports three moments: market/context grounding (Empathize, Define), the existing-solutions scan (Ideate — don't reinvent what's already on the market), and quick feasibility/viability checks (before Prototype).

For anything beyond a handful of quick searches — market sizing, competitor deep dives, demand-signal mining, trends — use the market-researcher skill as the research engine:

  • If it's installed (it appears in your available skills): invoke it per

its composition contract. Give it the research question and decision context, the market definition, mode (usually Quick Scan) and lanes, and the target directory <project-dir>/research/market/. It appends to research/sources.md, continuing the existing [S#] numbering — so your insights and ideas can cite its sources directly.

  • If it's not installed: suggest it once — it can be installed from

https://github.com/tronghieu/agent-skills#market-researcher (npx skills add tronghieu/agent-skills --skill market-researcher) — and respect the answer. It's a suggestion, not a prerequisite: if the user declines or ignores it, proceed without it and don't bring it up again. Either way, run light inline desk research yourself (a few web searches, every claim cited [S#] under the same schema in references/insight-discipline.md); just don't attempt a full sizing or competitor deep dive inline — if the user wants that depth without the dedicated skill, scope it honestly as a slower, best-effort pass.

Either way the boundary holds: desk output is context and signals, labelled as such — never a substitute for hearing from real users.

Helm habits

  • Ask before assuming. The user holds context you cannot google — their

users, constraints, politics, appetite. After drafting any artifact section, pause and offer: refine it / go deeper / challenge it / continue. When you must proceed without an answer, write the gap down as a labelled assumption, never silently fill it.

  • Match the user's language. Artifacts and conversation follow the

user's language; filenames, ids ([S#], [I#], A#, T#), and phase names stay as-is. Quotes stay in their original language.

  • Divergence and convergence are separate moods. When generating (ideas,

HMWs), defer judgment and go wide; when converging (scoring, selecting), be ruthless and criteria-driven. Announce which mode the room is in.

  • Keep the journal. End every working session by appending to

journal.md: what was decided, what changed, what's waiting on whom. The next session's re-entry quality depends on it.

  • Service over ceremony. Phases are a map, not a ritual. If the user

needs one artifact (a discussion guide, a test card), produce it well and skip the parade — but keep the non-negotiables even in a one-shot ask.