save-report-exposure
Codify a completed analysis as a repeatable seeknal/exposures/{name}.yml spec re-runnable via `seeknal ask report --exposure {name}`
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Codify a completed analysis as a repeatable seeknal/exposures/{name}.yml spec re-runnable via `seeknal ask report --exposure {name}`
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
On-demand time-series forecasting. CAPTURE params from project context, call run_forecast, present deterministic engine results.
Use when helping initialize, configure, or prepare a Seeknal project like a coding agent
Translate business questions into metrics, SQL evidence, and actionable recommendations
Run multi-step SQL plus Python/statistics/ML analysis while keeping tools thin and evidence grounded
Answer business questions from read-only connected databases using deterministic schema discovery and SQL evidence
Run Python code in an isolated subprocess for statistical/ML/visualization work beyond what SQL can express
| name | save-report-exposure |
| description | Codify a completed analysis as a repeatable seeknal/exposures/{name}.yml spec re-runnable via `seeknal ask report --exposure {name}` |
| tags | ["reporting","codification","scheduling"] |
| version | 1.0.0 |
Use this workflow AFTER an analysis is complete and the user wants to save it as a repeatable, re-runnable report spec — typically for scheduling or sharing with teammates.
save_report_exposure (gated on the same Generate report now approval as
generate_report — if the user already approved generation in the current
turn, the gate carries through)Trigger this skill when the user says things like:
Before calling save_report_exposure, you MUST distill the analysis into a
clear, self-contained prompt that captures:
A good prompt is one another agent could read in isolation and reproduce the same analytical output.
save_report_exposure shares the same gate as generate_report —
_REPORT_APPROVAL_DISCRIMINATOR = "generate report now". If the user has
already approved generation in the current turn, the gate is satisfied.
Otherwise, present the approval menu (see the report-generation skill for
the exact options).
Required args:
name: snake_case identifier (e.g. monthly_revenue_report). Validated against
^[a-z0-9_]+$ — no hyphens, no spaces.prompt: the distilled re-runnable prompt from Phase 1.inputs: JSON array of input refs as a STRING — e.g.
'["transform.monthly_revenue", "source.orders"]'.output_format: one of markdown, html, both.schedule (optional): 5-field cron string (minute hour day month weekday),
e.g. 0 8 * * MON for every Monday at 8am. When set, the exposure can be
deployed to Prefect with
seeknal prefect deploy --exposure {name} --work-pool <pool>.After successful save, your final answer MUST include:
seeknal/exposures/{name}.yml)seeknal ask report --exposure {name}Exposures live at seeknal/exposures/{name}.yml. The directory is auto-created
if missing. Existing files are overwritten with a note.