cratis-screenplay-toolchain

cratis-screenplay-toolchain is a skill for Claude Code, Codex from Cratis/AI. It costs 163 tokens per session (4,089 once invoked), scanned A, original, MIT.

A reference and checking workflow for Screenplay model files. It explains which compiler or command checks whether a model is valid, connected, and renderable, and what each result means.

In plain words
What is it for?
It is for locating model files, choosing the appropriate checker, interpreting diagnostics, and fixing common problems. It covers compilation, binding, rendering, and the limits of each check.
Why use it?
It prevents developers from treating one successful check as proof that every part of a model works. It also reduces confusion when separate tools support different language versions or model features.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit It is for locating model files, choosing the appropriate checker, interpreting diagnostics, and fixing common problems. It covers compilation, binding, rendering, and the limits of each check.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/cratis/ai/cratis-screenplay-toolchain
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add Cratis/AI --skill cratis-screenplay-toolchain
Clone the repo
git clone --depth 1 https://github.com/Cratis/AI

Made for: Claude Code, Codex.

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 cratis-screenplay-toolchain

README.md
[![agentmods](https://agentmods.dev/badge/skills/cratis/ai/cratis-screenplay-toolchain/github.svg)](https://agentmods.dev/skills/cratis/ai/cratis-screenplay-toolchain)
Your own site
<a href="https://agentmods.dev/skills/cratis/ai/cratis-screenplay-toolchain"><img src="https://agentmods.dev/badge/skills/cratis/ai/cratis-screenplay-toolchain/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 cratis-screenplay-toolchain

Your own site · 80×15
<a href="https://agentmods.dev/skills/cratis/ai/cratis-screenplay-toolchain"><img src="https://agentmods.dev/badge/skills/cratis/ai/cratis-screenplay-toolchain.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 163 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,089 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.00163 $0.04089
Opus 5.5 $0.00065 $0.01636
Sonnet 5.5 $0.00033 $0.00818
Haiku 4.5 $0.00016 $0.00409

Measured yesterday against content hash 45eb0b478c37, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

cratis-screenplay-toolchain 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 yesterday.

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.

.cratis/ai/skills/cratis-screenplay-toolchain/SKILL.md · 224 lines

How it starts

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

Screenplay toolchain

Read preferred syntax when writing or reviewing .play.

This skill owns tool selection, verdicts and admission. Modeling method lives in cratis-screenplay-modeling-lifecycle; syntax lives in the construct skills.

Locate the model

Decide opt-in per general.md "Model first"; where cratis-screenplay-modeling-lifecycle is installed, run its scripts/model-first-status.mjs to locate the model root. A folder of .play files is one application: always check the folder, never one file of it.

Tool versions and the contract

Read the installed versions first: screenplay --version, cratis --version, and which -a cratis (an older copy earlier on PATH shadows a newer install). The standalone tool and the compiler bundled in the CLI are different releases, and the bundled one can be older; a construct the standalone tool binds may be refused or unrendered through the CLI. Capabilities that need a minimum release carry a one-line Requires ... note in the reference that teaches them.

Search screenplay-contract.json, not its whole contents, for exact diagnostic code, tool name or cliCommands options. Its version is screenplay-contract.version. Read contract exceptions when a superseded statement needs context; exceptions do not change the contract.

Ground rules

  1. Never invent syntax. Copy shapes from references/cheat-sheet.md and the compiled examples it names, or from a compiled documentation example. Construct keywords are closed.
  2. Check the folder, warnings as errors. screenplay <folder> --warnaserror or cratis screenplay validate <folder> --warnings-as-errors. Warnings hide defects: PLAY0029 (a misspelt keyword or a type inside a slice) drops a construct silently. A committed screenplay.json at the model root declares the repository's gate (checks, warnings as errors, scope, open questions): run without repeating those flags (confirm with --print-gate before dropping --warnaserror), read it with --print-gate, and treat a refused file as "could not run" (references/verdicts.md).
  3. Pick the compiler deliberately and name it. Standalone screenplay for language checks and reference specifications; cratis for rendering and generation. Report both tool and version, rather than transferring a verdict across releases.
  4. Know the mode (design, executable, renderable) and write from its subset.
  5. Capability is not correctness. The tool you ran decides what is accepted; the domain and the documented semantics decide what is correct. On conflict keep the correct model and record a tool gap; never reshape a model to silence a tool.
  6. Never remove pii, secret, authorization, list queries, automations or rules to reach V3 or a render. Report the verdict as blocked with the codes.
  7. A clean verdict proves only its own layer. "Not run" with the reason is a valid result. Specifications written or bound are never specifications passing.
  8. Let the tool resolve what it can. Revisions, identities and renames come from the tool, never from hand computation; discover tool, version and root once per session and reuse them until the root, the tool or a call changes. Re-resolve only when a value actually needs to change: a failed or stale call, a different model root, a changed tool, version or configuration, or an explicit override.

Read the full file on GitHub · 224 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. yesterday Changed · +2 lines 45eb0b478c37
  2. 2d ago Changed b1b2eecf0e8f
  3. 3d ago Changed · -14 lines 64ebfdb91389
  4. 5d ago Changed · +20 lines f9a003df7099
  5. 6d ago Changed · +5 lines 42d8d04c5581
  6. 7d ago Changed · -21 lines · +6 tokens per session 84106a95c5a6
  7. 9d ago Changed · +11 lines 3f8fbbe5ba14
  8. 10d ago Changed · +20 lines 38ff52371a9d
  9. 11d ago Changed · +9 lines 467129e5b53f
  10. 12d ago First seen · 192 lines · 157 tokens per session scan A 7aa48952424e

Subscribe to this mod's changes

cratis-screenplay-toolchain is a skill published in the GitHub repository Cratis/AI (4 stars, last pushed yesterday), licensed MIT. It adds 163 tokens to every session and 4,089 once invoked, about $0.0007 per session on Opus 5.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-10-07.

Related

Other skills, from other repositories

local-ai-agents

Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…

microsoft/ai-agents-for-beginners · 200 tokens

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

next-cache-components-adoption

Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…

vercel/next.js · 95 tokens

chat-pet-sprite-creation

Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.

microsoft/vscode · 53 tokens

cpu-profile-analysis

Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…

microsoft/vscode · 71 tokens

insight-error-page

Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…

vercel/next.js · 83 tokens