Como usar
- Copie o comando e verifique o pacote antes de instalar no seu ambiente de agente.
- Consulte no original as ferramentas, credenciais e ambientes necessários.
- Descreva os dados de entrada e a entrega esperada; confira a saída com as fontes.
npx skills add https://github.com/quentin-hickam/analytics-workbench --skill awb-statusAntes de começar
- A instalação não inclui assinatura de modelo, franquia API ou acesso aos seus arquivos.
- Estrelas e instalações indicam atividade, não um teste independente de qualidade ou segurança.
Renderizado do repositório de origem, preservando títulos, exemplos, código, tabelas, links e imagens.
Report workbench status
Run this skill's commands through the awb MCP tools when the host offers them, as the project's AGENTS.md Commands maps them; the command lines below are the fallback.
The status report is read-only: report what the records say, and turn every fix it finds into a next request. Carry out the message's other requests, such as edits, through their own skills after the report.
Collect
Use the user-named project, otherwise the current directory. Run the helper without reading it:
python3 <skill-directory>/scripts/collect_status.py <project-root>Add --probe-upstream only when the user asks whether landed sources changed upstream.
When workbench is false, stop and suggest awb-init. Treat null, unknown, and each uncertainties entry as a targeted lookup: read only the named record or field. Report missing records as missing. When git.available is false, report its reason with what it means for the user: status cannot tell what is uncommitted or whether the state is out of date, and evidence records file checksums instead of a commit SHA; say whether they must act, such as by installing Git or putting the project in a repository. Leave history, source data, and other investigations' conclusions unread.
Report
Keep the report to one screen, in this order. Report the collector's values without its keys or their question and result IDs, in the investigation's wording shortened, and omit empty items.
- Question and state.
active.questionandactive.last_updated, thengit.state_status: forout of date, addlatest_change, withdays_after_statewhen above zero; for any other status butup to dateandno newer dated change found, runreadcommandstalefor the investigation (python3 <project-root>/src/awb.py stale --investigation <name>) and give the status in plain words beside how many checked results it finds current, as "saved the same day as the latest change; evidence checks show 11 of 11 current". Addgit.commit_comparisonwhen present. Whengit.uncommitted_evidencelists results, say in one plain line that they were run before the first commit, so their evidence names no commit until they are rerun. Whenactive.questionis a ledger ID, report that question's text and status from itsquestions.open,questions.awaiting_recheckorquestions.provisionalentry, falling back to its line frompython3 <project-root>/src/awb.py questions list --all. A missing ID or failed lookup leaves the question unsettled; report the uncertainty. - Findings.
active.counts, then eachquestions.by_questionentry, one of the user's questions, by its text with its findings by status, as "Which zones grew fastest: 2 findings, 1 supported", labelling one whoseoriginisbrainstorm,eda, oranalysisas added while brainstorming, exploring, or analysing; thenfindings_without_questionas findings no question names. Then everyactive.findingsreason, flagged findings first; while one remains, never say nothing is open. Read afoundation/quality.mdcorrection row only when a caveat cites one that needs explaining. - Open work.
unresolved_issuesandnext_steps. Report an open decision only when the brief or state records it as one. Fromquestions, lead withroots, the questions the user asked, in the user's terms: how many are answered,answered (awaiting recheck)included, of those not superseded ("Your five questions: 5 of 5 answered"), and how many await recheck, are open, parked, or declined. Countanswered (provisional)andanswered (provisional, awaiting recheck), an answered data question none of whose answering findings is promoted yet, as provisional, not answered, and list eachprovisionalquestion by its text. Thenmust_subquestions, the questions under them the decision needs, the same way. Then eachopenquestion grouped by answerer, and eachawaiting_recheckentry by its status: an answered data question with at least one flagged or superseded answering finding. The stored status remainsanswered; even another settled answering finding does not remove the recheck. Reportquestions.counts, the totals with every sub-question, only on request. A nullquestionswith anuncertaintiesentry for the ledger means it could not be read: report that entry. Otherwise a nullquestionsmeans the investigation has no ledger yet; then listmaterial_unknownsas unknowns. - Other investigations. Each name and
last_updated. - Packages. For each whose
draft_stageis set, that stage alone, such as "headline preview written, not yet exported". For each other:revised_at,latest_releasewithreleased_at,draft_vs_release, andlatest_release_in_storage, whether release storage holds that release: null when release storage is not a reachable path or no release exists, as Storage andlatest_releasealready report; otherwise its null is a targeted lookup. Then what blocks its next release:confirmed_without_disposition, flags the manifest records whose disposition is stillnoneorrevalidate;unmatched_flags, flagged findings the manifest does not record with the same finding and reason, which awb-package resolves; andrerun_since_draft, represented results rerun after the draft was last revised, so the package still shows their earlier run. - Storage.
landed_data_storageandrelease_storagebyavailability, andacquisitions.without_retained_copyas acquisitions held only in this checkout.unrecordedorunreachableis a risk once acquisitions or releases exist.none chosenis the user's recorded decision: report that this checkout holds the only copy. Forunknown, check through the project's established access method or say "not verified". - Sources. Each
sources.documentation_without_referenceentry with itsreason: a source assessed from documentation whose Notes record no reference in a formfoundation/sources.mdstates; theawb-initskill'sreferences/landing.md(Source references) gives their exact grammar. Reportsources.documentation_access_notesandupstream.not_checkableonce each, as known limitations, not risks: documentation read but not kept, and sources whose server sends no ETag or Last-Modified, so upstream changes go undetected. - Upstream, only when probed. Each
upstream.filesentry whoseresultischangedas "<path>: upstream changed since acquisition <acquisitionid>", then each `unknown` with its `reason` and no lookup, then the count unchanged. Name `notprobeablefiles with their reasons and thewithoutupstream` count as not checked. A null `probeablefiles` means an acquisition could not be read: name the directories and provenance files under uncertainties as not checked. - Friction.
open_product_friction, if above zero, as workbench problems to share upstream. - Uncertainties the targeted lookups left unresolved.
You can ask for
Finish with up to five requests whose state applies, risk rows first, then progress. Phrase each as a sentence the user could type, with its handler in parentheses so hosts without a skill menu still route it.
| State | Request | Handler | Kind |
|---|---|---|---|
active.counts has revalidation-needed | "Recheck the findings awaiting recheck" | python3 investigations/<name>/run.py | risk |
A package's unmatched_flags is above zero | "Revise the <package> draft to carry the new caveats" | awb-package | risk |
A package's rerun_since_draft lists results | "Revise the <package> draft to the rerun results" | awb-package | risk |
A release exists and release_storage is unrecorded or unreachable | "Record where releases are kept" | awb-release | risk |
A package's latest_release_in_storage is false | "Copy the <package> releases to storage" | python3 src/awb.py copy-releases <investigation> <package> | risk |
Acquisitions exist and landed_data_storage is unrecorded or unreachable, or reachable with acquisitions held only in this checkout | "Record where landed data is kept" | AGENTS.md record maintenance | risk |
sources.documentation_without_reference lists a source | "Keep the documentation behind the <source> assessment" | workbench-guides/data.md | risk |
git.state_status is out of date | "Update the investigation state" | python3 src/awb.py state | risk |
An uncertainties entry names a missing standard record, or the user mentions newer workbench skills | "Bring the workbench up to date" | awb-init | risk |
| No active investigation | "Start an investigation into <question>" | awb-scope | progress |
| The brief or state records an open scope or purpose decision | "Resolve the <topic> scope change" | awb-scope | progress |
questions is null for the active investigation and no uncertainties entry names its ledger | "Start tracking open questions for <investigation>" | awb-scope | progress |
questions.open_by_answerer counts user or stakeholder questions | "Work through the open questions" | awb-scope | progress |
questions.open_by_answerer counts data questions | "Explore <dataset> to answer <question in plain words>" | awb-explore | progress |
questions.counts has answered questions and at most two open ones | "What else should we ask?" | awb-brainstorm | progress |
| A dataset the investigation uses has no row in the quality record, or unresolved issues or next steps name data errors | "Clean the <dataset> data" | awb-clean | progress |
| No findings yet, or a next step calls for exploring a dataset | "Explore <dataset> for this investigation" | awb-explore | progress |
| Provisional findings and no draft | "Preview the slide headlines" | awb-package | progress |
| Supported findings and no draft | "Prepare a draft package" | awb-package | progress |
draft_vs_release is ahead, or a draft has no release | "Mark the <package> package delivered" | awb-release | progress |
| Next steps call for preparation beyond the active question | "Prepare <source> more broadly" | analytical work under AGENTS.md | progress |
upstream.files has a changed entry | "Land <source> again as a new acquisition" | src/preparation/fetch_<source>.py with a new acquisition ID | progress |
upstream.probeable_files is above zero and the probe has not run | "Check whether the landed sources changed upstream" | awb-status | progress |
other_investigations lists any | "Checkpoint this investigation and switch to <name>" | AGENTS.md record maintenance | progress |
git.uncommitted_paths is above zero, unless you already suggested a commit this session | "Commit the current work" | explicit commit request | progress |
git.uncommitted_evidence lists results | "Rerun <results> so their evidence records the commit" | python3 investigations/<name>/run.py <result-id> ... | progress |
next_steps lists a step and no progress row other than the upstream check applies | "Continue: <first next step, shortened>" | analytical work under AGENTS.md | progress |



