tessera-prompts
Compile messy prompt collections into validated, reviewable, reusable assets.
tessera-prompts is a Tessera job pack. It reads a directory of prompt files (frontmatter + body), normalizes them into a canonical PromptCase schema, validates them, and emits a catalog plus reports.
Input shape
Each prompt is either:
- A single file:
<name>.prompt.md - A directory:
<name>/PROMPT.md(optionally with supporting files alongside)
Each file is YAML frontmatter followed by the prompt body.
---
name: refund_window
description: Explain the refund eligibility window to a customer.
version: 1.0.0
lang: en
tags: [customer-support, billing]
model_hints:
temperature: 0.2
max_tokens: 250
variables:
- name: customer_name
type: string
required: true
- name: days_since_purchase
type: number
required: true
description: Days between purchase and refund request.
examples:
- input:
customer_name: Maya
days_since_purchase: 18
expected: Maya, your purchase is within the 30 day refund window...
---
Hi {{customer_name}}, thanks for reaching out about a refund.
Your purchase was {{days_since_purchase}} days ago. Our standard refund window
is 30 days. Here is what that means for your request: ...
Compile a prompt catalog
tessera prompts compile \
--input examples/prompts/ \
--output ./out/prompt_pack
Artifacts written:
index.jsonl canonical PromptCase rows (one per line)
index.md human-readable catalog
examples.jsonl inline examples extracted from frontmatter
validation_report.md issues found (missing variables, version errors, name collisions, etc.)
coverage_report.md tag distribution + example coverage + language breakdown
Validation rules
missing_name— frontmatter has nonamenon_canonical_name— name is not kebab-case or snake-casename_collision— two prompts share the samename(orname + version)invalid_version— version is not SemVermissing_description— no description in frontmattershort_description— description is under 10 charactersundeclared_variable— body uses{{x}}butxis not declared invariablesunused_variable—xis declared but never used in bodyexample_missing_required_variable— example input does not supply all required variables
Metadata
Release files for tesserakit-prompts 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tesserakit_prompts-0.4.0.tar.gz | 8.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tesserakit_prompts-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.0 kB
Release files / tesserakit_prompts-0.4.0.tar.gz
| Download URL | tesserakit_prompts-0.4.0.tar.gz |
|---|---|
| Size | 8.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8f45559e6c8d4752c9b24cbd19594a845740b00aeec64123e59b97de393e4739
|
|
BLAKE2b-256 checksum How to use checksums |
177cea34e2bf675b4f2c530c468ae47e5c6602bd8e6386a1cccf2a26518c0a77
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|
Release files / tesserakit_prompts-0.4.0-py3-none-any.whl
| Download URL | tesserakit_prompts-0.4.0-py3-none-any.whl |
|---|---|
| Size | 9.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b17fc78f5f826ae7ac6316361c5067579b5eaa199e4feaf806fdabaadd540935
|
|
BLAKE2b-256 checksum How to use checksums |
ee2a940439581c713c6637f0878cf7f136aadbeb529c175c29d73fd0a331c02d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|