Seshat-BI: Skill for Claude Code

.claude/skills/business-knowledge-interview/SKILL.md

business-knowledge-interview is a skill for Claude Code from Kemetra/Seshat-BI. It costs 170 tokens per session (1,311 once invoked), scanned A, original, Apache-2.0.

A structured interview process for recording business decisions about a database after its tables and columns have been discovered and profiled.

In plain words
What is it for?
Use it to gather and record the decisions needed before defining performance indicators, designing a data model, writing calculations, or preparing a Power BI report.
Why use it?
It replaces undocumented assumptions with agreed answers about metrics, personal data, table detail, keys, relationships, missing values, and unclear fields.

Skill for Claude Code

Written for Claude Code: installed under .claude/.

This is Kemetra/Seshat-BI's own configuration. It tells Claude Code how to work on Seshat-BI itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything Seshat-BI configures →

Reuse

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.

Copy the file
curl -O https://raw.githubusercontent.com/Kemetra/Seshat-BI/main/.claude/skills/business-knowledge-interview/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/Kemetra/Seshat-BI

Made for: Claude Code.

Wrote 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.

agentmods badge for business-knowledge-interview

README.md
[![agentmods](https://agentmods.dev/badge/skills/kemetra/seshat-bi/business-knowledge-interview/github.svg)](https://agentmods.dev/skills/kemetra/seshat-bi/business-knowledge-interview)
Your own site
<a href="https://agentmods.dev/skills/kemetra/seshat-bi/business-knowledge-interview"><img src="https://agentmods.dev/badge/skills/kemetra/seshat-bi/business-knowledge-interview/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.

agentmods 80×15 button for business-knowledge-interview

Your own site · 80×15
<a href="https://agentmods.dev/skills/kemetra/seshat-bi/business-knowledge-interview"><img src="https://agentmods.dev/badge/skills/kemetra/seshat-bi/business-knowledge-interview.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 170 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,311 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00170 $0.01311
Opus 5 $0.00085 $0.00656
Sonnet 5 $0.00034 $0.00262
Haiku 4.5 $0.00017 $0.00131

Measured 9d ago against content hash a32d5ad76f0a, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

business-knowledge-interview 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.

.claude/skills/business-knowledge-interview/SKILL.md · 102 lines

How it starts

The opening of the file, as written. The whole thing — 102 lines — stays where its author put it; the contents beside it link to each section on GitHub.

business-knowledge-interview

The interview is the front door of the Database-to-PBIP flow's decision layer (spec 121). It converts a discovery profile into recorded, approvable business decisions so that every downstream stage consumes governed answers instead of unrecorded assumptions.

Behavior is governed by the business-knowledge-interview contract and its recorded interview protocol. The static rules DS1-DS5 (seshat check) verify the recorded outcome, not the conversation.

When to use

  • After retail-onboard-table has produced a committed discovery profile (or an equivalent committed profile exists).
  • Before KPI contracts, Silver/Gold planning, DAX, dashboard blueprint, or PBIP readiness -- those stages are blocked until their critical decisions are approved.

Preconditions (stop if unmet)

  • A committed discovery profile exists. No profile => do not start; report the gate as blocked naming the missing profile.
  • Load the existing Decision Store first. Existing decisions are presented for confirmation or supersession -- never overwritten.

How it runs

  1. Ground every question in the profile (profile summaries, candidate grains, column types). Do not walk every column one-by-one unless the owner asks or an ambiguity requires it. Concentrate on: KPI inputs, PII, table grain, keys, relationships, missing-value rules, and ambiguous financial/quantity/date columns.
  2. Batch the obvious low-risk items into one owner confirmation. Critical decision types are never in a batch. The owner may exclude any item; the remainder is approved in one action and each excluded item becomes an individual pending question.
  3. Ask critical decisions individually with an explicit per-decision approval by a named human whose authority class is eligible for the decision type (as recorded in the approval-authority contract). Route any KPI-meaning question to retail-kpi-knowledge; never invent meaning here.
  4. Ask the domain's owner questions -- only those the scoped KPIs depend on. For each retail KPI domain the table feeds, open that domain pack in the retail-kpi-knowledge skill and ask the cards in its ## Owner questions section that bear on a KPI actually in scope. Do not ask a card no scoped KPI depends on: an unanswered card is recorded as a critical pending decision, and the decision gate filters by decision type, not by KPI, so an out-of-scope card blocks the whole stage (asking for Net Sales by Branch must not leave a same-store ruling pending). If scope later widens, ask the cards it newly depends on then. Each card names the decision_type its answer records under. A card's stated layer default is CONTEXT shown to the owner -- never record it as their ruling. An unanswered in-scope card is recorded pending/needs_user_input; this layer never invents a policy to make a number appear (that layer's ambiguity Resolution rule). Not every card type blocks: the kpi_contracts gate blocks on kpi_definition, policy_ruling and missing_value_rule only, so a pending data_exclusion or table_grain card is recorded but does NOT stop contract authoring. Report those to the owner explicitly as open-but-not-blocking rather than implying the gate will catch them -- the gate's category list is the authority, not this step. This step supplies the KPI-meaning questions step 3 routes out; it does not define a metric or a contract.
  5. Mask suspected PII by default. Show shape-preserving masks, cite the suspicion source. Unmasking requires an explicit owner instruction, recorded as a pii_handling decision scoped to the affected columns. Never write a raw suspected-PII value into a committed store file.
  6. Record every outcome in the Decision Store (.seshat/semantic-decisions.yaml, .seshat/kpi-contracts.yaml, .seshat/cleaning-rules.yaml) -- answered => proposed/approved; refused => rejected/deferred; unanswered => pending/needs_user_input; sample needed but unavailable => needs_sample. Confidence (low/medium/high) is the agent's proposal confidence only; it is never approval and never a readiness signal.

Read the full file on GitHub · 102 lines

Changes

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.

  1. 9d ago First seen · 102 lines · 170 tokens per session scan A a32d5ad76f0a

Subscribe to this mod's changes

business-knowledge-interview 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,311 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.