本文へ移動
cccskills
無料GitHub で公開

po-discovery

Use when shaping a fuzzy product ask into a refined backlog item — problem framing, user-story rewrite, AC tightening — even if the user just says 'help me write this ticket'.

インストール方法を見る

含まれるファイル(2)

  • SKILL.md5.2 KB
  • evals/triggers.json1.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

po-discovery

Take a vague product request and return a problem-framed, user-story-shaped, AC-tight backlog item ready for refinement. Output is copy-paste ready; write-back to the tracker is user-gated. Sibling of refine-ticket — that one tightens an existing ticket, this one shapes the raw input before a ticket exists.

When to use

  • The user pastes a fuzzy idea ("we should let users export their data") and asks to turn it into a ticket.
  • A stakeholder request arrives without a clear problem statement.
  • Acceptance criteria are missing, contradictory, or written as implementation steps instead of observable outcomes.
  • German triggers: "schreib daraus ein Ticket", "ist die Story klar?", "AC fehlen noch".

Do NOT use when:

  • A ticket already exists and needs tightening — route to refine-ticket.
  • The ask is already a clear, well-formed user story with measurable AC — skip discovery and proceed to estimation.
  • The request is an engineering task with no product framing ("upgrade Laravel to 11") — discovery adds noise; skip.

Procedure

1. Capture the raw input and identify the asker

Read the user's text verbatim. Do NOT rephrase yet. Identify: who is the asker (PO, support, eng, exec)? What artefact did they hand over (slack thread, screenshot, voice note transcript, free text)?

2. Frame the problem

Answer four questions, every answer cited from the input or marked unknown:

QuestionWhy it matters
Who has the problem?Personas, segments, internal vs external
What outcome do they want?Distinguishes need from solution
What is the current pain or workaround?Sizes the gap
What changes if we ship this?Surfaces success signals

Any answer marked unknown blocks story shaping — surface the gap back to the user before continuing.

3. Shape the user story

Use the canonical form: As a {persona}, I want {capability}, so that {outcome}. Capability ≠ implementation. If the input says "add a CSV button", reframe to "I want my data in a portable format, so that I can use it outside the product".

4. Tighten acceptance criteria

Each AC is observable, binary (passes or fails), and does not name an implementation. Use Given / When / Then or a numbered list. Reject ACs that hide assumptions ("works correctly", "is fast enough") — replace with measurable thresholds or strike them.

Cross-source discrepancy scan (per cross-source-consistency): when the raw input includes a screenshot / mockup alongside the story text, check the sources against each other and surface any conflict as a gap / open question — never resolve it silently. Watch for: story text contradicting an attached screenshot; the AC contradicting the description; a clearly-needed behavior the input never states (weekend/holiday shift, empty/error state). Batch them into one clarifying question. Taxonomy: cross-source-consistency-mechanics.

5. Surface non-functional gaps

Flag anything missing that downstream skills will need: success metric, target users, rollout window, accessibility, security or privacy boundary, multi-tenant scope. Do NOT invent values — list them as gap items for the user to fill.

Output format

Asker:    <role / name>
Source:   <slack / email / verbal / pasted text>
Problem:  <one sentence — who, want, why>

User story:
  As a <persona>, I want <capability>, so that <outcome>.

Acceptance criteria:
  1. Given <state>, when <action>, then <observable result>.
  2. ...

Open gaps (block estimation):
  - <gap 1>
  - <gap 2>

Suggested next step: /refine-ticket  |  /estimate-ticket  |  fill gaps

If gaps remain, surface them and stop — do NOT push to estimation.

Gotcha

  • If the asker is the agent itself (autopilot, roadmap), still run the full procedure — the gap list is what catches the agent inventing requirements.
  • "Outcome" is what the user gets, not what we build. "Faster page" is an outcome; "switch to Postgres" is an implementation.
  • AC count is not a quality signal. Three sharp AC beat eight vague ones; merge or split as needed.

Do NOT

  • Do NOT write code, plan tasks, or estimate effort — those are downstream skills.
  • Do NOT silently fill gaps with plausible-looking defaults; the whole point of discovery is to surface what the user has not decided.
  • Do NOT rewrite the asker's wording into agent voice in the Problem field — preserve their framing so they recognise it.
  • Do NOT push the rewritten ticket into Jira / Linear without the user explicitly asking — output is copy-paste ready, write-back is gated.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月13日 更新

Use when defining or auditing the activation event — aha-moment selection, retention correlation, falsifiable definition. Triggers on 'what is our aha moment', 'redefine activation'.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月13日 更新

Use when capturing an architectural decision — file naming, next ADR number, Status / Context / Decision / Consequences, index regen; fires even without saying 'ADR'.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月13日 更新

Adversarial critique — devil's advocate, stress-test, honest teardown ('poke holes', 'be brutal', 'was hältst du davon'); explicit request only. Routine code or design review → code-review.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月13日 更新

Use when reading, creating, or updating agent documentation, module docs, roadmaps, or AGENTS.md. Understands the full .augment/, agents/, and copilot-instructions structure.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月13日 更新

Use for an adversarial red-team / blue-team / auditor review of an AI agent's CONFIG + behaviour (rules, skills, MCP, hooks, permissions) — attack-chain → defensive-gap list, not a code audit.

日本語の概要は準備中です。原文の説明を表示しています。

event4u-app/agent-config112026年10月13日 更新

event4u-app のスキルをすべて見る

このスキルの問題を報告する