quentin-hickam/analytics-workbench

awb-brainstorm

Propose questions from an analytics workbench investigation's questions, findings, and available data.

소스 보기

사용 방법

  1. 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
  2. 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
  3. 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/quentin-hickam/analytics-workbench --skill awb-brainstorm

시작 전 확인

  • 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
  • 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

Brainstorm questions for an investigation

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.

Propose questions; the user chooses. This skill reads records, runs no queries, and writes only the ledger rows the user's choices produce.

1. Read

Use the investigation the user names, otherwise the active one; for one other than the active one, pass --investigation <name> to every awb.py state and awb.py questions command in this skill. From the project root:

sh
python3 src/awb.py state
python3 src/awb.py questions list --all

The first gives the brief, the state with its findings, and the open questions; the second every ledger question, each answered one with its linked findings' current status and each parked or declined one with its reason. Read foundation/catalog.md for the datasets and views available, and the open rows of foundation/quality.md for coverage gaps. Leave other investigations' conclusions unread unless the user asks.

2. Propose

Draw candidates from each of these:

  • Answers. What each answer implies next: the segment, mechanism, or comparison that would test or extend a finding, and an answer resting on a provisional or flagged finding.
  • Findings. Contrary patterns and caveats that no question addresses.
  • Open questions. A broad question split into parts that can be answered, and a question no one can answer reframed into one that can.
  • The brief. Definitions, baselines, and the result that would change the decision when no question yet tests them.
  • Data. A cataloged dataset or view the investigation has not used that bears on the question.

Keep a candidate only when it passes every test:

  • It is not already in the ledger in any status. Propose a declined or parked question again only when you can name what changed since its recorded reason.
  • It names what prompted it (question and result IDs), who can answer it (user, a named stakeholder, or the data, naming the dataset or view), and the decision or usefulness criterion it serves; cut one that serves neither.
  • Its placement is clear: within the current scope; needing a scope change, which awb-scope handles; or a separate investigation. Most belong in scope.
  • A question asking why from observational data can be answered as an association at most; say so beside it.

Present five to eight, numbered and ranked by how much an answer could change the decision, one line each with its prompt, answerer, and placement. Ask which to keep, park, or decline.

3. Record the choices

From the project root, with --origin brainstorm, the priority the ranking implies (must when the decision cannot be made without the answer, could when the answer only refines it, should otherwise), and the question it serves as parent. Status counts the roots, the questions with an empty parent, as the user's own, so leave the parent empty only when the user takes the question as one of their own.

  • Kept, in scope: python3 src/awb.py questions add "<question>" --kind <kind> --answerer <answerer> --origin brainstorm --priority <priority> --parent "<parent ID or empty>" --unblocks "<what it serves>". A re-proposed parked or declined question the user keeps is reopened instead, keeping its ID: python3 src/awb.py questions status Q-NNN --set open, then python3 src/awb.py questions edit Q-NNN --priority <priority> --parent "<parent ID or empty>".
  • Parked or declined: the same command with --status parked or --status declined and --reason "<the user's reason>". A re-proposed question keeps its ID: change its status with python3 src/awb.py questions status Q-NNN --set parked|declined --reason "<the user's reason>", or leave it as it is when its status does not change. Record every in-scope proposal the user did not keep as declined with the reason not chosen, so later brainstorms do not repeat it, and say so in the report.
  • Needing a scope change or a new investigation: add nothing; suggest awb-scope with the question.

4. Report

Report the questions added, the counts parked and declined, and what comes next: data questions through awb-explore or analysis, asking in the report each kept question the user can settle, a stakeholder's question through awb-scope, and each scope change through awb-scope.

관련 작업

같은 저장소의 Skills

더 많은 Skills

모든 Skills