CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

data-contract-extractor

Use when scoping a new data product or formalizing checks on an existing one. Reads a data PRD, dataset README or lineage doc and writes a data contract: schema with types, nullability and PII flags, freshness SLA, volume bounds, distribution rules and owner, for dbt, Great Expectations or Soda.

Quality

93%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

The canonical home for this skill is testland/data-contract-extractor

SKILL.md
Quality
Evals
Security

Quality

Content

86%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A strong, dense skill body: complete field tables, a copy-paste-ready YAML output template, sequenced extraction steps with an explicit no-fabrication gap-flagging checkpoint, and a verified one-level-deep reference for worked examples. The minor weaknesses are a few meta/terminology sentences that could be trimmed and a workflow whose full sequence must be inferred across sections.

Suggestions

Trim the meta commentary — the practitioner-terminology provenance sentence in the Overview and the citation-practice notes in References ("cite by stable ID; paywalled at iso.org") — to save tokens without losing task-relevant guidance.

Add a short end-to-end workflow section that orders the existing pieces explicitly (read source doc → extract five sections → emit YAML → list gaps → stop until human input), so the sequence doesn't have to be assembled from separate sections.

Add a final validation checkpoint, e.g. re-reading the emitted contract against the five required sections and confirming every column carries a pii tag before declaring it ready.

DimensionReasoningScore

Conciseness

The body is dense and earns its tokens — field tables, a complete YAML template, and tight extraction steps with no explanation of concepts Claude already knows. Not 5: a few meta sentences could be trimmed, e.g. "'Data contract' is practitioner-emergent terminology (Andrew Jones / Chad Sanderson), not ISTQB-canonical; this skill cites industry-engineering sources" and the References section's citation-practice notes ("cite by stable ID; paywalled at iso.org"), which don't advance the extraction task.

4 / 5

Actionability

The "Output format" section is a complete, copy-paste-ready YAML contract covering the common case (orders dataset with schema, PII tags, freshness, volume, distribution, ownership), and the step-by-step extraction gives concrete search targets ("look for 'updated daily' / 'real-time' / '<X minutes'") plus a ready-made gap-table template. Not 4: the output template is complete and directly consumable by the named tools, with no missing key details.

5 / 5

Workflow Clarity

The six numbered extraction steps are clearly sequenced, and gap-flagging is an explicit checkpoint ("The agent never fabricates contract fields. Every gap becomes an explicit question"; "Until the gaps are filled... the test suite cannot be generated"). Not 5: the end-to-end flow (read → extract → flag gaps → emit YAML → hand off to sibling skills) must be assembled across sections rather than presented as one ordered workflow, and there is no output-validation step (e.g. confirming the emitted YAML is well-formed and every section present). Not 3: gap-flagging with the human-input-required table is a strong explicit checkpoint, and this is not a destructive/batch operation so no cap applies.

4 / 5

Progressive Disclosure

The body is a clear overview with the core contract structure and output template appropriately inline, and worked examples correctly split into references/examples.md — verified to exist (60 lines, one level deep, no nested references). The single reference is well signaled under "## Examples" with its contents described ("Three worked examples (PRD to contract, minimal source with a gap list, and refactor of an existing dataset)"). Not 4: there are no organization gaps — every section is discoverable and nothing that belongs in a separate file is inlined.

5 / 5

Total

18

/

20

Passed

Description

96%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A dense, well-constructed description: third-person, explicit "Use when" triggers, concrete source-document synonyms, enumerated contract contents, and named target tools. The only weakness is minor trigger overlap with the sibling suite-generation skills it names as output targets.

DimensionReasoningScore

Specificity

"Reads a data PRD, dataset README or lineage doc and writes a data contract: schema with types, nullability and PII flags, freshness SLA, volume bounds, distribution rules and owner, for dbt, Great Expectations or Soda" lists multiple concrete actions with comprehensive coverage across input sources, output fields, and target tools. Not 4: coverage has no notable gaps — inputs, outputs, and downstream consumers are all enumerated.

5 / 5

Completeness

Explicitly answers both parts: "Use when scoping a new data product or formalizing checks on an existing one" (when, with concrete triggers) and the what — reads named source docs and writes a contract with enumerated field groups for named tools. Third-person voice ("Reads", "writes") is used. Matches the anchor-5 example structure of concrete what + explicit when.

5 / 5

Trigger Term Quality

Natural practitioner terms are comprehensively covered: "data PRD", "dataset README", "lineage doc" (source synonyms), "data contract", "dbt", "Great Expectations", "Soda" (tool names, the domain's equivalent of file extensions), plus "PII", "freshness SLA". Not 4: the synonym coverage across both source-document types and tool names leaves no commonly used trigger phrase missing.

5 / 5

Distinctiveness Conflict Risk

The contract-authoring niche is clear ("writes a data contract" from a PRD/README/lineage doc), but the phrases "formalizing checks" and the tool names "dbt, Great Expectations or Soda" overlap with closely related sibling test-suite-generation skills. Not 5: a user asking to "write dbt tests" or "add Great Expectations checks" could plausibly trigger this skill; not 3: the PRD-to-contract extraction trigger is well differentiated from generic data-quality work.

4 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

testland/qa

Path

plugins/qa-data-quality/skills/data-contract-extractor/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.