Use when establishing the current state of metrics, funnels, and data quality before a discovery or feature decision. Also triggers on 'baseline', 'current state', 'dados e contexto', 'funnel metrics', 'what are the numbers today', or 'AS-IS'.
From pmnpx claudepluginhub etusdigital/etus-plugins --plugin pmThis skill uses the workspace's default tool permissions.
knowledge/template.mdSearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides implementation of event-driven hooks in Claude Code plugins using prompt-based validation and bash commands for PreToolUse, Stop, and session events.
Establish the quantitative and qualitative "before" picture of a product initiative: current funnels, metric baselines with source and confidence, data quality, operational effort, segmentations, and information gaps. This document prevents "gut-feeling" decisions and guarantees that post-launch impact can be measured objectively (before vs after). It is a reference document, not a requirements document — it captures the current state, not what should change.
Reference: .claude/skills/orchestrator/dependency-graph.yaml
BLOCKS (must exist — auto-invoke if missing):
docs/ets/projects/{project-slug}/discovery/project-context.md — Needed to know which product/initiative and which decision this baseline informs.ENRICHES (improves output — warn if missing):
docs/ets/projects/{project-slug}/discovery/product-vision.md — Metric targets from the vision help focus which baselines to capture.Resolution protocol:
dependency-graph.yaml → baseline.requires: [project-context]docs/ets/projects/{project-slug}/discovery/project-context.md exist, is non-empty, and is not <!-- STATUS: DRAFT -->?project-context skill → wait → continueproduct-vision.md exists → if yes, load metric targets to focus baseline capture → if no, WARN and proceedMANDATORY: This skill MUST write its artifact to disk before declaring complete.
mkdir -p if neededIf the Write fails: Report the error to the user. Do NOT proceed to the next skill.
This skill follows the ETUS interaction standard. Your role is a thinking partner, not an interviewer — suggest data sources, challenge confidence levels, propose segmentation angles, and flag when stated numbers may be incomplete or misleading. Baseline work is analytical and evidence-driven — these patterns ensure the user feels supported in building an honest picture, not interrogated.
One question per message — Ask one question, wait for the answer, then ask the next. Baseline questions often require the user to look up data, so give them space. Use the AskUserQuestion tool when available for structured choices.
3-4 suggestions for choices — When the user needs to choose a direction (e.g., which funnel stages to track, which segmentation angles matter, confidence level), present 3-4 concrete options with a brief description of each. Highlight your recommendation. Let the user pick before proceeding.
Propose approaches before generating — Before generating any content section, propose 2-3 approaches with tradeoffs. Example: "I see three ways to structure the AS-IS flow: (A) user journey — step by step from the user's perspective, (B) system flow — data movement across systems and integrations, (C) hybrid — user steps with system touchpoints annotated. I recommend C because it captures both the user experience and where data breaks happen."
Present output section-by-section — Don't generate the full document at once. Present each major section (e.g., AS-IS Flow, then Metrics A, then Metrics B, etc.), ask "Does this capture it well? Anything to adjust?" and only proceed after approval.
Track outstanding questions — If something can't be answered now, classify it:
Multiple handoff options — At completion, present 3-4 next steps as options instead of a single fixed path.
Resume existing work — Before starting, check if the target artifact already exists at the expected path. If it does, ask the user: "I found an existing baseline.md at [path]. Should I continue from where it left off, or start fresh?" If resuming, read the document, summarize the current state, and continue from outstanding gaps.
Assess if full process is needed (right-size check) — If the user's input already has detailed metrics with sources and confidence levels, don't force the full interview. Confirm understanding briefly and offer to skip directly to document generation. Only run the full interactive process when there's genuine ambiguity or missing data to resolve.
Thinking partner behaviors:
This skill reads and writes persistent memory to maintain context across sessions.
On start (before any interaction):
docs/ets/.memory/project-state.md — know where the project isdocs/ets/.memory/decisions.md — don't re-question closed decisionsdocs/ets/.memory/preferences.md — apply user/team preferences silentlydocs/ets/.memory/patterns.md — apply discovered patternsOn finish (after saving artifact, before CLOSING SUMMARY):
project-state.md is updated automatically by the PostToolUse hook — do NOT edit it manually.python3 .claude/hooks/memory-write.py decision "<decision>" "<rationale>" "<this-skill-name>" "<phase>" "<tag1,tag2>"python3 .claude/hooks/memory-write.py preference "<preference>" "<this-skill-name>" "<category>"python3 .claude/hooks/memory-write.py pattern "<pattern>" "<this-skill-name>" "<applies_to>"The .memory/*.md files are read-only views generated automatically from memory.db. Never edit them directly.
Load context in this order of priority:
[context-path], read that file directly.docs/ets/projects/{project-slug}/state/reports/ for any upstream discovery artifacts.docs/ets/projects/{project-slug}/discovery/ for existing project-context.md, product-vision.md, or baseline fragments.This interview follows a one-question-at-a-time rhythm. Ask each question alone in one message, wait for the user's answer, then decide whether to ask a follow-up or move forward.
Question 1 (ask alone, one message):
"Qual produto/iniciativa estamos documentando e qual decisao este baseline vai informar? (Ex.: priorizar oportunidades, definir escopo de discovery, medir impacto de uma mudanca)"
Wait for the answer. Extract: product name, initiative scope, the decision this baseline serves.
Question 2 (ask alone, one message):
"Descreva o fluxo atual (AS-IS) — o que o usuario faz passo a passo hoje? Inclua integracoes e sistemas se souber."
Wait for the answer. Then probe:
Follow-up probes — ask one at a time only if needed:
Question 3 (ask alone, one message):
"Quais metricas voce tem hoje para esse fluxo? Vamos cobrir 4 areas: (A) Aquisicao e funil, (B) Qualidade de dados, (C) Performance e confiabilidade, (D) Operacao. Comece pela area que voce tem mais dados."
Wait for the answer. For each metric shared, immediately ask:
Question 4 (ask for each metric area, one at a time):
"Para essas metricas: qual o periodo analisado, de onde vem o dado (fonte), e qual a confiabilidade — alta (fonte confiavel, recorte limpo), media (fonte ok mas recorte impreciso), ou baixa (estimativa/achismo)?"
Repeat Q3-Q4 cycle for each of the 4 metric areas (A through D) that apply.
Every metric field must include: valor, periodo, fonte, confiabilidade (alta/media/baixa).
Question 5 (ask alone, one message):
"Quais segmentacoes sao relevantes para esta analise? Exemplos: por canal (organico/pago/direto), por device (mobile/desktop), por coorte (novo vs recorrente), por tipo de cliente. Quais fazem diferenca nos numeros?"
Question 6 (ask alone, one message):
"Quais restricoes existem? Pense em 4 dimensoes: (1) Tecnica, (2) Legal/LGPD, (3) Operacao, (4) Time/capacidade. E quais premissas estamos assumindo como verdadeiras?"
Wait for the answer. Then ask:
Question 7 (ask alone, one message):
"Quais problemas e dores ja foram observados nesse fluxo? Liste como fatos/observacoes com evidencia — sem propor solucao (isso vem no Discovery/OST)."
Question 8 (ask alone, one message):
"Quais dados faltam que sao criticos para a decisao? Classifique: Tier 1 = bloqueia avanco (precisa antes de seguir), Tier 2 = melhora a analise mas nao bloqueia. Para cada Tier 1, quem vai buscar e quando?"
After the user answers, propose a collection plan:
"Para coletar os dados faltantes, sugiro: [entrevistas / analytics / logs / CRM / BI]. Faz sentido?"
The generated docs/ets/projects/{project-slug}/discovery/baseline.md contains:
SST Rule: Baseline metrics (before state) ONLY in this document. No other document should redefine the current state.
IDs: No formal IDs. This is a data reference document, not a requirements document.
knowledge/template.md for the baseline document template and structure.project-context.md (BLOCKS):
## WHAT, ## WHO, ## WHY sections (or equivalent)Before marking this document as COMPLETE:
If any check fails → mark document as DRAFT with <!-- STATUS: DRAFT --> at top.
After saving and validating, display:
baseline.md saved to `docs/ets/projects/{project-slug}/discovery/baseline.md`
Status: [COMPLETE | DRAFT]
Metric areas covered: [list which of A/B/C/D have data]
Tier 1 gaps: [count] | Tier 2 gaps: [count]
Then present these options using AskUserQuestion (or as a numbered list if AskUserQuestion is unavailable):
Wait for the user to choose before taking any action. Do not auto-proceed to the next skill.
project-context.md (BLOCKS), optionally product-vision.md (ENRICHES)Input: Interview notes from Step 2
Action: Generate the document one major section at a time, using the template from knowledge/template.md. For each section:
Section order:
Output: Approved sections assembled into complete baseline.md
docs/ets/projects/{project-slug}/discovery/ — create if missingdocs/ets/projects/{project-slug}/discovery/baseline.md using the Write tooldocs/ets/projects/{project-slug}/discovery/baseline.md) + paths to upstream documents (BLOCKS: docs/ets/projects/{project-slug}/discovery/project-context.md)"Document saved to
docs/ets/projects/{project-slug}/discovery/baseline.md. The spec reviewer approved it. Please review and let me know if you want any changes before we proceed." Wait for the user's response. If they request changes, make them and re-run the spec review. Only proceed to validation after user approval.
| Error | Severity | Recovery | Fallback |
|---|---|---|---|
| BLOCKS dep missing (project-context.md) | Critical | Auto-invoke project-context skill — scope context is needed | Pause until project-context is available |
| BLOCKS dep is DRAFT | Warning | Proceed with available context, noting scope may be unclear | Add <!-- ENRICHMENT_MISSING: project-context is DRAFT --> |
| ENRICHES dep missing (product-vision.md) | Low | Proceed — baseline can be built without vision targets | Note that baseline may need revision after vision is defined |
| User cannot provide metrics for an area | Medium | Mark area as [[a coletar]] with collection plan | Add to Tier 1 gaps if critical, Tier 2 if not |
| All metrics have baixa confidence | High | Escalate: "All metrics are low confidence — consider running a data audit before proceeding" | Mark as DRAFT, add data audit to collection plan |
| Output validation fails | High | Address gaps, re-present sections to user | Mark as DRAFT |
This skill supports iterative quality improvement when invoked by the orchestrator or user.
| Condition | Action | Document Status |
|---|---|---|
| Completeness >= 90% | Exit loop | COMPLETE |
| Improvement < 5% between iterations | Exit loop (diminishing returns) | DRAFT + notes |
| Max 3 iterations reached | Exit loop | DRAFT + iteration log |
--quality-loop on any skill invocation--no-quality-loop to disable (generates once, validates once)