Convert a vague stakeholder data ask into one or more Decision-Grade Question (DGQ) markdown files under docs/requirements/, enforcing the action-change kill-switch. Use when the user says "/gather-requirements", "gather requirements", "interrogate this ask", "turn this request into a DGQ", or describes a stakeholder ask ("they want a dashboard", "marketing asked for a report", "we need a pipeline for X") and wants it pressure-tested before any engineering starts. Routes to /write-adr when the ask is actually a cross-cutting platform commitment.
How this skill is triggered — by the user, by Claude, or both
Slash command
/relentless-data-skills:gather-requirementsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
<what-to-do>
Interview me relentlessly about every aspect of this plan until we reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one. For each question, provide your recommended answer.
Ask the questions one at a time.
If a question can be answered by exploring the codebase, explore the codebase instead.
This is the /grill-me engine, pointed at a stakeholder data ask. The <what-to-do> block above is the whole interview loop — run it as written. "The plan" is the ask you're interrogating; shared understanding is reached when you can write a Decision-Grade Question (DGQ) that survives the action-change kill-switch. Everything below tells you what the grill must resolve, the one place it must not recommend an answer, and what to write when understanding lands. It is an interview, not a template — a generic requirements form fills in blanks; this skill recommends killing the ask when the kill-switch trips.
The one branch this skill exists to force:
If the answer to this came back the opposite of what you expect, what would change about what you build, ship, or decide?
This is the single exception to "for each question, provide your recommended answer" — never propose the action-change yourself. Recommending one coaches the user past the exact gap the skill exists to surface. If their answer is abstract ("we'd act on it", "it'd inform the roadmap"), push with concrete scenarios drawn from the ask — "Suppose it lands right at the threshold — then what?", "Suppose it splits sharply by segment — per-segment or aggregate?" — but let the user supply the reaction.
Three ways this branch resolves:
needs-follow-up — the answer has to come from the stakeholder, not your imagination.status: rejected / action_change: nothing, and record who was asked and what they couldn't name. A rejected DGQ is a durable record of a deliberate non-build, not a TODO to revisit. Surface this without apology — recommending against a build is the differentiator.Before opening a fresh grill, scan docs/requirements/. If DGQs exist, pause and offer to (1) continue a draft/needs-follow-up file, (2) start new, or (3) list all — one line each: <path> — <status> — <decision>. Treat accepted/rejected as immutable. Create docs/requirements/ only on first write, not before.
"Shared understanding" for a DGQ means you can fill its contract. Walk the tree until each of these is resolved or explicitly deferred — adapt the order to the conversation, don't recite them as a checklist:
needs-follow-up — don't invent the spec.When you explore instead of asking, also read CONTEXT.md's glossary, sibling DGQs, and docs/adr/. If a stakeholder term collides with the glossary, call it the moment you notice: "the glossary defines churn as X, but you seem to mean Y — which is it?" See references/dgq.md for the exact frontmatter fields, enum domains, and body section order — consult it; don't reproduce it into the grill.
If the decision is a cross-cutting platform commitment — tooling choice, modelling convention, governance posture, architectural shape, or anything spanning teams/pipelines rather than one ask — stop the grill. That's an ADR, not a DGQ:
This isn't a per-stakeholder ask — it's a platform commitment. Run
/write-adrto capture it indocs/adr/, then link it from any related DGQ viarelated_adrs.
Don't inline an ADR scaffold — one skill, one artefact. If the user insists on a DGQ anyway, write it but note in ## Open follow-ups that it likely should be promoted to an ADR.
Write one file per decision at docs/requirements/<stakeholder>-<slug>.md, shaped exactly as references/dgq.md specifies — frontmatter and body. <stakeholder> is the asker kebab-cased; <slug> is a 2–4-word condensation of the decision. related_dgqs/related_adrs start [].
For a multi-decision ask: fully drill the chosen decision, and stub each sibling now — status: draft, the decision recorded one-line in ## Question(s), other fields TBD (linter-safe defaults sensitivity: internal, cadence: TBD), and a ## Open follow-ups note to resume. Tell the user the stubs are saved; don't abandon them silently.
After writing, run the bundled scripts/lint-dgq.sh from the consumer project root (or point it with DGQ_ROOT=<dir>) as a cheap structural check — best-effort: if a partial install dropped it, skip silently. Then:
Wrote … / status / action_change. Don't read the DGQ body back — they just answered it.needs-follow-up: name the specific question to take to the stakeholder. Vague follow-ups rot; named ones get answered./write-adr for that topic.Not required to run this skill (a per-skill install works without them): the full repo worldview in CONTEXT.md and the lifecycle reference in docs/data-engineering-101.md.
Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.
npx claudepluginhub sleeplessv/relentless-data-skills-de --plugin relentless-data-skills