skillpanel/maister/product-design
Claude Code and agent skill by skillpanel/maister
- community
Checking that the SKILL.md file is still in the repository.
Interactive product/feature design orchestrator. Transforms fuzzy ideas into structured product briefs through collaborative exploration, iterative refinement, and visual prototyping. Adaptive phases detect design complexity and adjust depth.
Install
npx vskill@latest install skillpanel/maister/product-designSKILL.md
Product Design Orchestrator
Interactive workflow for product and feature design -- from fuzzy idea to development-ready product brief. Phases adapt based on detected design characteristics (greenfield vs enhancement, simple vs complex, UI-focused vs backend). Uses a hybrid interaction architecture: agents for unbiased generative work, inline interactive phases for convergent and evaluative work. Visual companion renders HTML/CSS mockups in a browser for rich design feedback.
Initialization
BEFORE executing any phase, you MUST complete these steps:
Step 0: Session-reminder conflict resolution (decide ONCE)
Before doing anything else, settle this policy now and do not re-litigate it at any gate:
`→ MANDATORY GATE` markers fire regardless of session-reminders, permission mode, or prior approval patterns. Auto / acceptEdits / bypassPermissions modes, reminders saying "work without stopping" / "continue without asking" / "minimize clarifying questions," and compaction summaries showing the user approving every prior gate do NOT exempt you from invoking AskUserQuestion at a gate. They apply only to your discretionary clarifications.
If you find yourself reasoning "the user has been approving everything, so I can skip this gate" or "auto-mode is on, so I should minimize questions" — that reasoning IS the failure mode. STOP and fire the gate.
Full framework rule: ../orchestrator-framework/references/orchestrator-patterns.md § 2 and § 2.1.
Step 1: Load Framework Patterns
Read the framework reference file NOW using the Read tool:
../orchestrator-framework/references/orchestrator-patterns.md- Delegation rules, interactive mode, state schema, initialization, context passing, issue resolution
Step 2: Detect Design Context
If argument is a design task path (matches .maister/tasks/product-design/*):
- This is a resume — read
orchestrator-state.ymlfrom that path - Determine current phase from
completed_phasesand resume from next phase - If
--from=PHASEprovided, resume from that specific phase
If `--research=<path>` flag provided:
- Read research artifacts from specified path (report, synthesis, solution exploration)
- Copy relevant context to
context/research-context/ - Set
research_referencein state
Step 3: Initialize Workflow
- Capture the clock: run
date -u +"%Y-%m-%dT%H:%M:%SZ"via Bash NOW — you do NOT know the time from context. Every timestamp written this turn (created,updated,generated,phases[].started) uses this value. Date-only orT00:00:00Zvalues are the documented failure mode (orchestrator-patterns.md § 4 Timestamp Rule). Re-rundatein later turns before writing timestamps. - Create Task Items: Use
TaskCreatefor all phases (see Phase Configuration), then set dependencies withTaskUpdate addBlockedBy - Create Task Directory:
.maister/tasks/product-design/YYYY-MM-DD-task-name/
- Create
context/folder withREADME.mdinstructing users to drop relevant files there (meeting transcripts, existing designs, spreadsheets, docs, PDFs, images) - Create
analysis/andoutputs/directories
- Initialize State: Create
orchestrator-state.ymlwith design context schema (see Domain Context section) - Set up Operator Dashboard (orchestrator-patterns.md § 8) — first read
.maister/config.ymland setorchestrator.options.html_output(default true if the file/key is absent),orchestrator.options.mockup_format(defaulthtml), and deriveorchestrator.options.visual_enabled: false when the--no-visualflag was passed ORmockup_formatisascii; otherwise true. (Somockup_format: asciiand--no-visualare equivalent; the flag is a per-run override.) When `html_output` is false, SKIP the rest of this step — nodashboard.html, nodashboard-data.js, no browser auto-open — and proceed. Otherwise: copy../orchestrator-framework/assets/dashboard.htmlto the task root asdashboard.html, write the initialdashboard-data.js(all phases pending,task.type: "product-design"), then auto-open it in the user's browser (open/xdg-open/startper platform, passing the plain absolute filesystem path — NEVER a hand-builtfile://URL; on failure just print the path — never block). On resume: re-copydashboard.htmlonly if missing; regeneratedashboard-data.jsfrom state; then auto-open it in the browser again (same opener as a new task — the OS focuses an already-open tab rather than duplicating).
Output:
Operator Visibility (applies to every phase)
Config gate: these rules assumeoptions.html_outputis true (read from.maister/config.ymlat init, default true). When false: skip the Dashboard-upkeep rule entirely (no dashboard files, no browser open, no rewrites) and the HTML-companions rule — do NOT invokehtml-companion-writerat Phases 5/6/8 and do NOT passhtml_style_guide_pathanywhere; markdown artifacts are written as usual. The Artifact Summary Contract (§ 7 TL;DR blocks),phase_summariesin state, AND Phase 7 visual mockups (design deliverables, not report companions) all stay active either way.
Cross-cutting rules from orchestrator-patterns.md (same as the development and research orchestrators):
- Artifact Summary Contract (§ 7): every artifact opens with TL;DR / Key Decisions / Open Questions / Risks (the writer heading is
## Open Questions / Risks). This applies to subagent prompts (solution-brainstormer, information-gatherer already comply) AND to the artifacts this orchestrator writes directly (problem-statement.md,personas.md,design-decisions.md,feature-spec.md,outputs/product-brief.md). At context extraction, liftdecisions,risks, andartifactsintophase_summaries.[phase]— verbatim, never re-summarized. - Dashboard upkeep (§ 8): rewrite
dashboard-data.jsat every phase START (markin_progressbefore executing), BEFORE firing every exit gate (register the finished phase's artifacts/summary/decisions/risks — the operator reviews them on the dashboard while answering; status staysin_progressuntil the gate passes), after every phase completion (including skipped phases 3/7, with reason), every gate decision, after each refinement-loop iteration that changes an artifact, and at finalization. Every rewrite starts withdate -u(one call per turn). Register Phase 7 mockups as artifacts (analysis/mockups/{slug}.html— they ARE html; set bothpathandhtmlto the mockup path). - HTML companions (§ 9) — delegated, because this orchestrator writes its hero artifacts INLINE (no producing subagent to attach a companion to). Right after each hero md is finalized, invoke the
maister:html-companion-writersubagent (Task tool) to write its sibling.html:analysis/design-decisions.md(Phase 5),analysis/feature-spec.md(Phase 6),outputs/product-brief.md(Phase 8, after final approval). Passmd_path,html_style_guide_path(absolute path to../orchestrator-framework/references/html-report-style.md),artifact_label, andreport_suite(the sibling reports that exist, hrefs relative to the md's directory, for the breadcrumb). Register the returnedhtml_pathinphase_summaries.[phase].artifacts[].htmlso the dashboard hero cards link HTML first. Companion generation never blocks — onstatus: failedkeep the md and continue. (analysis/alternatives.mdalready gets a companion from the solution-brainstormer subagent in Phase 4;problem-statement.md/personas.mdare secondary — companion them too if cheap, but the three hero artifacts are the priority.) - icon_hint values per phase: 0
analysis, 1analysis, 2analysis, 3analysis, 4plan, 5plan, 6spec, 7code, 8done. - State writes (§ 4 Write Rule): update
orchestrator-state.ymlkey by key in place, validate it with a re-read after every write, and stop withAskUserQuestionon a malformed file — never continue on a state file the operator tooling cannot read.
When to Use
Use for product and feature design: defining what to build before building it. Greenfield products, new features, enhancements, API designs, workflow designs.
DO NOT use for: Implementation tasks (use /maister:development), pure research (use /maister:research), bug fixes, performance optimization, migrations.
When to use this vs development orchestrator: If you need to explore the problem space, evaluate alternatives, and define requirements interactively before any code is written, use this. If you already know what to build and need to plan and execute, use development.
Local References
| File | When to Read | Purpose | |
|---|---|---|---|
references/characteristic-detection.md | Phase 0 (before detecting characteristics) | Detection signals, phase activation matrix, adaptive depth scaling | |
references/interaction-patterns.md | Phase 2 (before first interactive phase) | Cognitive modes, refinement loop pattern, AskUserQuestion option design |
Phase 7 (Visual Prototyping) delegates to themaister:mockup-studioskill, which owns the visual companion server and its reference docs (skills/mockup-studio/references/visual-companion.md,design-resource-discovery.md).
Phase Configuration
| Phase | content | activeForm | Activation | Agent/Skill | |
|---|---|---|---|---|---|
| 0 | "Initialize, gather context & detect characteristics" | "Gathering context & detecting characteristics" | Always | Direct (interactive) | |
| 1 | "Synthesize all context sources" | "Synthesizing context" | Always (scope adapts) | codebase-analyzer (if enhancement), information-gatherer (if mini-research) | |
| 2 | "Explore problem space" | "Exploring problem space" | Always (depth adapts) | Direct (interactive) | |
| 3 | "Explore users & personas" | "Exploring users & personas" | When is_greenfield OR is_complex | Direct (interactive) | |
| 4 | "Generate design alternatives" | "Generating design alternatives" | Always | solution-brainstormer (Task tool) | |
| 5 | "Converge on design direction" | "Converging on direction" | Always | Direct (interactive) | |
| 6 | "Specify features section-by-section" | "Specifying features" | Always (depth adapts) | Direct (interactive) | |
| 7 | "Create visual prototypes" | "Creating visual prototypes" | When is_ui_focused | mockup-studio (Skill tool) | |
| 8 | "Review & hand off product brief" | "Reviewing & assembling brief" | Always | Direct (interactive) |
Process Flow Graph
<!-- GraphViz dot notation: phase-level routing overview. -->
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugins/maister/skills/product-design/SKILL.md
Popularity
- Repository stars
- 237
- Repository forks
- 35
- 7-day trend score
- 27
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/skillpanel/maister/product-design)