From insight-blueprint
Pre-flight risk evaluation and approval token issuance for batch analysis designs. Evaluates queued designs against history-based extrapolation and static thresholds, then issues an approval token for /batch-analysis --approved-by. Triggers: "premortem", "事前チェック", "batch の承認", "リスク判定", "pre-flight check", "run premortem". Chains to: /batch-analysis --approved-by TOKEN evaluate-only (write-prohibition contract, AC-1.5).
npx claudepluginhub etoyama/insight-blueprint --plugin insight-blueprintThis skill uses the workspace's default tool permissions.
Standalone skill that scans queued (or specified) analysis designs, runs a
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Standalone skill that scans queued (or specified) analysis designs, runs a
deterministic risk decision tree (HARD_BLOCK / HIGH / MEDIUM / LOW / SKIP),
and issues an approval token consumed by /batch-analysis --approved-by TOKEN.
/batch-analysis to validate the queueParse arguments -- Claude Code invokes skills/premortem/cli.py via
Python subprocess. The CLI expects design data as JSON on stdin (Claude Code
reads MCP tools and pipes the result).
Collect design data (Claude Code responsibility, before invoking cli.py):
list_analysis_designs() and filter next_action.type == "batch_execute"
(or use --design <id> / --all to select differently)get_analysis_design(id), get_table_schema(source_id),
search_catalog(source_id) to build source_checks_mapRisk evaluation (cli.py, pure decision engine):
history_query.query() + risk_evaluator.evaluate()Interactive gate (manual mode or review+HIGH):
[s]kip / [e]dit / [a]bort / [c]ontinue per HIGH design[c]ontinue is NOT offeredToken issuance:
token_manager.issue() writes .insight/premortem/{TIMESTAMP}.yamlLaunch with: /batch-analysis --approved-by {token_id}Every design is classified into one of five levels. The level determines what the operator (or automation) should do next.
| Level | Trigger | Operator Action |
|---|---|---|
HARD_BLOCK | Unregistered source, allowlist violation, or BigQuery location mismatch. | Batch MUST NOT run this design. The [c]ontinue option is withheld; use [s]kip, [e]dit (fix the design), or [a]bort (stop the whole batch). |
HIGH | History median × buffer exceeds time_high_min or estimated_rows exceeds static_rows_high or success rate over history_min_samples samples drops below success_rate_high_threshold. | manual mode: operator prompt (s/e/a/c). review mode: batch STOPS (exit 2). auto mode: batch RUNS with a WARNING: HIGH risk executed without human approval line appended to summary.md. |
MEDIUM | Extrapolated time between time_medium_min and time_high_min. | Proceeds automatically in every mode. Logged for visibility. |
LOW | Nothing above triggered, history is healthy. | Proceeds automatically. The happy path. |
SKIP | Terminal status (supported / rejected / inconclusive) or next_action cleared. | Recorded as skipped with skip_reason=terminal_status; never enters the batch queue. |
Thresholds live in .insight/config.yaml under premortem.* (see
.insight/config.example.yaml). Change them there, not in code.
| Code | Meaning |
|---|---|
| 0 | Token issued successfully, batch may proceed |
| 2 | review mode + HIGH detected, batch should stop |
| 1 | Unexpected error (config invalid, I/O failure, etc.) |
During /premortem execution, the following paths are NEVER written to:
notebook.py / marimo session JSON.insight/designs/*.yaml / .insight/designs/*_journal.yaml.insight/runs/*/*/manifest.yaml / .insight/runs/*/run.yaml.insight/catalog/**Only .insight/premortem/ receives writes (approval token).