From work-workflow
Generate a structured product brief from ticket requirements or a description
How this skill is triggered — by the user, by Claude, or both
Slash command
/work-workflow:brief <TICKET_ID or feature description><TICKET_ID or feature description>This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate a structured product brief from a ticket or feature description. The brief organizes requirements into a clear document that feeds into `/spec` and `/work`.
Generate a structured product brief from a ticket or feature description. The brief organizes requirements into a clear document that feeds into /spec and /work.
/brief PROJ-123 # Generate brief from ticket
/brief "Add user dashboard" # Generate brief from description
${TASKS_BASE}/${FOLDER_NAME}/brief.md.# Get config
PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT}"
node -e "const c = require('$PLUGIN_ROOT/scripts/workflows/lib/config'); console.log(JSON.stringify({ TASKS_BASE: c.TASKS_BASE }))"
If the argument looks like a ticket ID (e.g., PROJ-123, #42):
If it's a description:
mkdir -p "${TASKS_BASE}/${FOLDER_NAME}"
If ${TASKS_BASE}/${FOLDER_NAME}/brief.md already exists, ask the user:
If READ_DOCS_ON_BRIEF env var is set, include the doc paths in the agent prompt so the brief-writer reads project-specific documentation before generating the brief.
Task(brief-writer):
Generate a product brief for ${TICKET_OR_DESCRIPTION}.
${TICKET_DETAILS if fetched}
Save the brief to: ${TASKS_BASE}/${FOLDER_NAME}/brief.md
Structure it with: Problem Statement, Goal, Target Users, Requirements (P0/P1/P2),
Constraints, Out of Scope, Success Metrics, Open Questions.
${IF READ_DOCS_ON_BRIEF: Read these docs before starting: ${comma-separated paths}}
After the agent completes:
/spec ${FOLDER_NAME} to generate a technical specification from this brief."Every entry under ## Open Questions in the generated brief is emitted as a structured bullet with an explicit scope: classification. The scope tells downstream tooling whether the question is safe to defer or whether it must be answered before the spec step runs.
local — Implementation detail contained within this ticket; the answer does not change sibling work and has zero blast radius outside this brief.cross-ticket — Decision affects siblings (parallel tickets, shared modules, or downstream consumers) and must be resolved before those siblings can safely proceed.architectural — Systemic or foundational choice affecting siblings, platform conventions, or long-lived contracts (data models, public APIs, auth, infra shape); requires explicit sign-off, not a default.Between the brief step and the spec step, the workflow runs a brief_gate check over the brief's Open Questions:
scope: cross-ticket or scope: architectural block the transition from brief to spec. The planner emits a RUN action that prompts you interactively via AskUserQuestion; your answer is written back into the brief as a Resolution: line and the question is flipped to resolved: true. The gate re-runs until no blocking questions remain.scope: local do not block the gate. They are clarifications that do not affect sibling tickets or architecture, so they can carry forward into spec and be resolved in context.If a question was mis-classified at emission time, you can downgrade it to local with a written justification (or upgrade it) by editing the brief directly before re-running the gate.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub thomfilg/ai-plugin-work --plugin work-workflow