Borrowing it
Nothing to install: this file belongs to Kemetra/Seshat-BI. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/Kemetra/Seshat-BI/main/.claude/skills/seshat-studio/SKILL.mdgit clone --depth 1 https://github.com/Kemetra/Seshat-BIWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/kemetra/seshat-bi/seshat-studio)<a href="https://agentmods.dev/skills/kemetra/seshat-bi/seshat-studio"><img src="https://agentmods.dev/badge/skills/kemetra/seshat-bi/seshat-studio/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/kemetra/seshat-bi/seshat-studio"><img src="https://agentmods.dev/badge/skills/kemetra/seshat-bi/seshat-studio.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00170 | $0.01672 |
| Opus 5 | $0.00085 | $0.00836 |
| Sonnet 5 | $0.00034 | $0.00334 |
| Haiku 4.5 | $0.00017 | $0.00167 |
Grade A, and why
seshat-studio scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 149 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Seshat Studio
The local analyst console for one Seshat workspace. It presents what the workspace already records -- readiness by stage, tables, turns, and the approvals a human still owes -- in a browser, on loopback, for one workspace per process.
Launch it by asking
Natural language is the way in. When the user says any of these, launch Studio:
- "open Studio" / "open the Studio console"
- "show me this workspace in the browser"
- "launch the analyst console"
- "I want to see the readiness board"
Confirm the workspace first, then open it. If the user is standing in the workspace they mean, that is the one -- do not ask them to type a path they have already chosen by being there. If the current directory is not a Seshat workspace, say so plainly and name what is missing rather than launching into a refusal the reader has to decode.
One workspace per process. Studio pins exactly one workspace at startup and serves only that one for its lifetime. To look at a different workspace, stop the running console and open the other one; there is no in-app workspace switcher, and that is deliberate -- a console that could silently repoint would let a reader act on one workspace's evidence while looking at another's.
Reuse a running console. If Studio is already serving this workspace, hand the user that running instance instead of starting a second one. Two consoles on one workspace is a state-confusion bug, not a convenience: the second process would present its own view of files the first is also reading.
What it shows, and what it refuses
Studio RENDERS recorded state. It does not compute a new truth:
- Creates no truth. It reads what the workspace records; it defines no meaning and sets no status.
- Grants no approval. It shows which gate is waiting and who owes it. It never records, infers, back-fills, or self-grants a sign-off -- the human approval seam is the whole point of the gate.
- Advances no stage, writes no pass. Stage transitions belong to the readiness verbs, which stop at their own gates.
- Fabricates no evidence. A missing field is shown as the honest not-started state, never invented.
- Emits no score. No numeric health, confidence, percent-ready, or maturity value. A request for one is DECLINED -- readiness is the recorded statuses plus evidence plus named blockers.
- Redacts credentials. Connection strings, passwords, tokens, and authorization headers are redacted before anything reaches the browser.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 149 lines · 170 tokens per session scan A ad79165eaa1f
seshat-studio is a skill published in the GitHub repository Kemetra/Seshat-BI (2 stars, last pushed today), licensed Apache-2.0. It adds 170 tokens to every session and 1,672 once invoked, about $0.0009 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
ktx-analytics
Use when answering a question that needs data from a ktx-connected database - investigating, analyzing, "how many", "show me", "what's the breakdown of", finding records by value, exploring tables, comparing periods, explaining metrics, or any data-analysis request. Triggers even when the user does not say…
metabase_ingest
Convert Metabase questions, models, and metrics into ktx Semantic Layer source definitions. Covers result-metadata to KSL column type mapping, FK/PK detection, near-duplicate deduplication, pre-aggregation decomposition, join-graph connectivity, and how to react to priorProvenance from earlier ingest syncs. Load when…
sl_capture
How to capture new reusable patterns into ktx's semantic layer - when a measure, segment, or join belongs in the catalog and how to write it generically so it stays small and useful over time. Loaded by the post-turn memory-agent only. The research agent does not write to the SL.
metricflow_ingest
Map a MetricFlow semanticmodel or metric into ktx semantic layer sources. Covers the MetricFlow to ktx primitive table, extends: inheritance flattening, metric-type handling (simple / derived / ratio / cumulative / conversion), model: ref('x') resolution, and four worked examples. Load when the turn contains…
looker_ingest
Extract durable ktx knowledge and semantic-layer contribution proposals from staged Looker runtime dashboard, Look, and explore JSON. Load for WorkUnits whose raw files are under explores/, dashboards/, or looks/.
lookml_ingest
Map a LookML view/model/explore into ktx semantic layer sources. Covers the LookML to ktx primitive table, provenance tagging, and three worked examples (overlay, standalone from derivedtable, standalone with sqlalwayswhere). Load when the turn contains .lkml content.