publish-to-seeknal-report
Publish a built Evidence.dev report to a Seeknal Report Server and return a shareable URL
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Publish a built Evidence.dev report to a Seeknal Report Server and return a shareable URL
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
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 | publish-to-seeknal-report |
| description | Publish a built Evidence.dev report to a Seeknal Report Server and return a shareable URL |
| tags | ["publishing","sharing","seeknal-report-server","evidence"] |
| version | 1.0.0 |
Use this workflow AFTER a successful generate_report call, when the user
wants a shareable URL hosted on a Seeknal Report Server instance. Recipients
open the URL in any browser — no account required.
publish_to_seeknal_report (approval-gated)Trigger when the user says things like:
generate_report call when the post-report menu is shown
and the user picks Publish to Seeknal Report Server.The tool packages the existing target/reports/<slug>/build/ tree, so a
successful generate_report call must have happened first. The slug is
derived from the report title via _slugify().
If no built report exists for the given name, the tool returns an error
asking you to call generate_report first.
You MUST present an approval menu via ask_user with these EXACT options. The
discriminator is Publish to Seeknal Report Server — the gate will not grant
approval unless that exact string is one of the options AND the user picks it.
Options (must be these exact strings):
Continue analysisPublish to Seeknal Report ServerPublish memo to ProofDone for nowType your ownDo NOT print these as plain text, bullets, or numbered lists. They MUST come
through ask_user. Only call publish_to_seeknal_report after the user
explicitly chooses Publish to Seeknal Report Server.
Required args:
report_name: the same name (or slug) used in the prior generate_report callreport_title (optional): human-readable title sent as the
X-Seeknal-Report-Title header. Defaults to report_name.server (optional): per-call overrideapi_key (optional): per-call overrideserver / api_key arguments passed directlySEEKNAL_PUBLISH_SERVER and SEEKNAL_PUBLISH_TOKEN env varspublish.default.server / publish.default.api_key section in
the project's profiles.ymlExample profiles.yml:
publish:
default:
server: http://172.19.0.9:8787
api_key: ${SEEKNAL_PUBLISH_TOKEN}
After successful publish, your final answer MUST include:
seeknal publish revoke {slug} --owner-secret <value>PublishAuthError: 401, key rejected → tell user to check SEEKNAL_PUBLISH_TOKENPublishContentTypeError: server rejected the upload Content-TypePublishTooLargeError: tarball exceeds server max → ask operator to raise
SEEKNAL_REPORT_SERVER_MAX_UPLOAD_BYTES or slim the reportPackageTooLargeError: build tree too big to packagePublishServerError: 5xx → surface server response