Agent skill

Playbook Builder

by stella in stella/stella

Build a contract review playbook with the user, position by position, from their past executed contracts, an interview, and market-standard defaults.

Apache-2.0Auto-check passedLegal & Compliance

Install Playbook Builder

skills CLI
$ npx skills add stella/stella --skill playbook-builder -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install stella/stella playbook-builder --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/stella/stella.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/skills/skills/playbook-builder .claude/skills/playbook-builder && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
playbook-builder
GitHub stars
258
Token cost
~2.6k tokens
SKILL.md length
1,554 words
Files
1
Skills in repo
24
Repo updated
First seen
Licence
Apache-2.0

At a glance

Build a contract review playbook with the user, position by position, from their past executed contracts, an interview, and market-standard defaults.

  • Works in 4 steps: Open → Gather contracts → Save early → …
  • The user wants to create
  • SKILL.md covers Tools, 1. Open, 2. Gather contracts and 3. Save early, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Playbook Builder is an agent skill from stella/stella. Build a contract review playbook with the user, position by position, from their past executed contracts, an interview, and market-standard defaults. Use when the user wants to create, draft, or extend a playbook.

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Legal & Compliance, covering Contract review. The repository describes itself as: Open-source legal workspace. The licence is Apache-2.0.

When your agent uses it

  • The user wants to create
  • Extend a playbook

Example prompts

  • “/playbook-builder”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Open
  2. Gather contracts
  3. Save early
  4. Build positions

What it can do on your machine

Read from SKILL.md and the folder at commit 269655d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Playbook Builder loads about 2.6k tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 1,554 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~58
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from stella/stella at commit 269655d, republished under its Apache-2.0 licence (© stella). 1,554 words, ~2,557 tokens.

Download SKILL.mdSave it as .claude/skills/playbook-builder/SKILL.md (or your agent's skills folder).
name
playbook-builder
description
Build a contract review playbook with the user, position by position, from their past executed contracts, an interview, and market-standard defaults. Use when the user wants to create, draft, or extend a playbook.
metadata.stella-display-name
Build a playbook
metadata.stella-required-tools
save_playbook
metadata.stella-chat-excluded-tools
spawn_subagents
metadata.stella-chat-documented-reads
list_documents search_across_matters read_content_across_matters

You help a lawyer build a contract review playbook by conversation. A playbook is a list of positions, one per issue a reviewer checks. A graded position grades a clause against tiers: acceptable rules, ideal wording, fallback alternatives, and red lines (not_acceptable). An extract position only captures a value, such as a date or a party name. The playbook is saved as a draft that a person approves in the editor; you never approve it.

Tools

  • save_playbook creates and updates the playbook. Its schema is the authoring grammar; follow it.
  • list_playbooks with playbook_id reads the stored playbook: each position's sourceId and the playbook's updatedAt.
  • To find and read the user's contracts: list_matters, list_documents, search_across_matters, read_content_across_matters. search_across_matters has no matter filter; it spans every matter the user can access. A named matter is read with list_documents, passing its matter_id. A document's text comes from read_content_across_matters; read_document returns its metadata, not its text.
  • In the stella chat these reads are the external_* functions inside execute_typescript, documented in full in your instructions while this skill is active; write each call from the signature there. A script has no imports and returns plain JSON. If a call is rejected, re-read the signature and correct the call yourself.
  • save_playbook and ask-user are direct tool calls, never functions in a script. Read in a script, then save with a tool call.
  • spawn_subagents is never used with this skill, whatever the chat's delegation rule says: every call is yours.

If save_playbook is not in your tool list, say that you cannot save a playbook here and stop; do not draft one only in the conversation.

When this skill says "ask the user", use the ask-user tool if you have it, and do not end your reply with a question instead; without it, ask in your reply and wait for the answer. Batch the questions of one step into one ask, and when you have a sensible default, offer it as an option. An answer is not the end of your reply: act on it at once, and between questions keep going, drafting and saving until every position is settled. Never end a reply with an offer ("If you want, I can ..."): do it, or ask with ask-user.

1. Open

Ask, in one batch:

  • Past executed contracts of this type: the playbook is best grounded in them. Offer exactly four answers: attach them, name them, look for them in their matters, or start without them. Do not offer "later": a user who wants to supply contracts later starts without them, and you ask again once the positions are settled (section 2, "None").
  • The contract type the playbook reviews.
  • The organization's side. Offer the two roles of the one pair this contract type uses, one role per option: customer or supplier, discloser or recipient, controller or processor, or, only for a sale, buyer or seller. Never combine roles in one option.
  • The governing law the playbook assumes.
  • The language to write the playbook in.

Never assume a jurisdiction, a legal tradition, or English. Skip a question the user has already answered; a request that mentions suppliers or customers has not said which one the organization is.

2. Gather contracts

Contracts are evidence, and they are optional; the flow works without them. Every search and every read is yours, in this conversation, one document at a time. Never call spawn_subagents while this skill is active, and never hand a search or a read to another agent: the user picks each document before it is read, and a subagent cannot ask them.

  • Attached: read them from the conversation. An attachment can be cut off without notice; if a contract looks truncated, ask the user to point to it in a matter and read it in full with read_content_across_matters, paging with cursor.
  • Named: find each one with list_documents or search_across_matters, then read it.
  • Look for them: only when the user asks, whether at the open or once positions are saved, and always in this order:
    1. Call list_matters once, then ask which matters to search: one question, each matter an option by name, plus one to search all they can access. With many matters, offer the most recently active; the user can still name another. Never call list_documents or search before this answer.
    2. For the chosen matters, list their documents with list_documents. search_across_matters spans every matter the user can access, so use it only when they chose all.
    3. Ask the user to pick from the candidates: one question, each document an option named with its matter, plus one option to use every candidate listed.
    4. Read only the documents the user picked, at most eight. Never read one they did not pick, however relevant it looks: a search also returns drafts and the counterparty's paper, and a playbook is visible to the whole organization, so which documents feed it is the user's choice. Read the picked documents by the ids the listing returned. Positions already saved are then revised from what the contracts say.
  • None, or later: do not search and do not list matters. Build from defaults and the interview: after the opening answers, go straight to section 3 in the same reply and save the first position. Once the positions are settled, before the summary, ask once with ask-user whether to ground them in contracts, with the options "look in my matters", "attach them", and "finish without". On "look in my matters", start at step 1 of "Look for them", however late in the conversation: call list_matters first, then list_documents for the chosen matters. Revise the saved positions from what the contracts say.
Show full SKILL.md (619 more words)Show less

3. Save early

As soon as you know the name, the side, and the first position, create the playbook: name, a one-line description, and that one position, all in the playbook's language. Never send scope unless the user chose buyer, seller or neutral themselves, in any language; an option you wrote is your word, not theirs. A customer is not a buyer and a supplier is not a seller: a customer, supplier, recipient, discloser, controller, or processor gets no scope.perspective. Keep the returned playbook_id and updatedAt. The user sees the playbook fill in as you save, so do not hold positions back to save them all at the end.

4. Build positions

Draft the positions a reviewer needs for this contract type, side, and governing law. Start from market-standard defaults, then let the contracts and the user's answers move them. Write every saved text (name, description, issue, rules, wording, guidance, negotiation) in the playbook's language, even when the conversation is in another.

For each graded position, fill every field that applies:

  • issue, severity (blocker only for a walk-away term), and purpose: why the term matters from the organization's side.
  • tiers: acceptable rules, ideal wording, fallback alternatives from best to worst, and not_acceptable red lines.
  • guidance: what a reviewer examines in the clause.
  • sources: the documents the position was taken or revised from, by the ids the listing returned. An extract position takes sources too. This list is the only record of where a position came from: a playbook is visible to the whole organization, so never write a document, matter, or counterparty name in any saved text.
  • negotiation: rationale, talking_points, and escalation. Who decides a deviation, and when to route it to them, goes in escalation, never in a tier rule.

Ask the user only where the organization's stance changes a tier (a liability cap, a term, exclusivity, and the like), batched, with your drafted position as the offered answer. With contracts, ask only where they disagree with each other or are silent; where they agree, take the position from them without asking.

If the contract type matches one of stella's starter playbooks (NDA, DPA, MSA, SaaS), mention that the user can start from it on the playbooks page instead. Chat cannot reach the starter playbooks: only mention them, never look for them.

Saving rules

  • Save each position when it settles, one position per call, written in the playbook's language; never put several positions in one call, not even the first. After the first save, pass playbook_id and the latest updatedAt as expected_updated_at.
  • Send only positions that are new or changed. Never resend the playbook or a position you did not change.
  • To change a stored position, pass its sourceId as source_id; to add one, omit source_id. Remove with remove_source_ids.
  • On a change, leave sources out to keep the stored list; a list you send replaces it.
  • A refused entry comes back in issues with its fix; apply the fix.
  • The user may be editing the playbook beside the chat. A version conflict means they did: read the playbook again with list_playbooks, keep their edits, apply your change to what is stored, and save again. After two conflicts in a row, tell the user and wait for them to finish editing.
  • If the first save is refused because the organization has reached its playbook limit, tell the user; nothing was created.

Finish

When the positions are settled, summarize the playbook in a few lines: its name, the positions, and what the user still needs to decide. Tell the user it is a draft to review and approve in the playbook editor before it can run, and to check before approving that no position names a document or a matter.

© stella, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in packages/skills/skills/playbook-builder of stella/stella.

Open the folder on GitHubat commit 269655d

Compare with similar skills

Playbook Builder next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Playbook Builder compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Playbook Builder this skillstella/stella258—~2.6kAutomated safety check: PassApache-2.0
Contract Reviewevolsb/claude-legal-skill4621 repos~3.6kAutomated safety check: PassMIT
Commercial Legal Plapiotrowski-afk/commercial-legal-pl1761 repos~4.1kAutomated safety check: PassApache-2.0
Custom Nda Generatorzubair-trabzada/ai-legal-claude1.8k1 repos~2.9kAutomated safety check: PassNone
Hand Drawnthreerocks/hand-drawn-styles1.6k—~406Automated safety check: PassMIT
Tabular Document Reviewanthropics/claude-for-legal9.6k3 repos~4.3kAutomated safety check: PassApache-2.0

Similar skills

  • Contract Review

    evolsb/claude-legal-skill

    Review legal contracts, NDAs, employment agreements, SaaS terms, and M&A documents.

    462 GitHub starsUsed in 1 repo~3.6k tokens
    Legal & ComplianceAuto-check passed
  • Commercial Legal Pl

    apiotrowski-afk/commercial-legal-pl

    Skill do analizy i tworzenia umów według polskiego prawa, ze szczególnym uwzględnieniem umów B2B, IP i IT (body leasing, NDA, wdrożenia, SaaS, przeniesienie praw autorskich, ugody).

    176 GitHub starsUsed in 1 repo~4.1k tokens
    Legal & ComplianceAuto-check passed
  • Custom Nda Generator

    zubair-trabzada/ai-legal-claude

    Generates a complete, customized Non-Disclosure Agreement with plain English annotations, tailored to the specific parties and situation

    1.8k GitHub starsUsed in 1 repo~2.9k tokens
    Legal & ComplianceAuto-check passed
  • Hand Drawn

    threerocks/hand-drawn-styles

    A skill your agent uses when users ask for a hand-drawn or illustrated image prompt, name one of the repository's 21 numbered styles or the 3.1 stable variant, or mention triggers such as…

    1.6k GitHub stars~406 tokensUpdated today
    Legal & ComplianceAuto-check passed
  • Tabular Document Review

    anthropics/claude-for-legal

    Official

    Builds a review grid with one row per document and one column per data point, each cell cited to a verbatim quote, built for M&A diligence and other batch reviews.

    9.6k GitHub starsUsed in 3 repos~4.3k tokens
    Legal & ComplianceAuto-check passed
  • Tw Formal Writing

    Imbad0202/tw-formal-writing

    台灣正式文件撰寫助手 — 涵蓋政府公文、政府機關其他文件、法律文件、人民對政府文書四類中文正式文件的撰寫(不含學術論文、商業文書、私人書信等,見下方排除清單)。

    178 GitHub stars~1k tokensUpdated 14 days ago
    Legal & ComplianceAuto-check passed

More from stella/stella

All 24 skills in this repo
  • Plan

    stella/stella

    Create a concise, evidence-backed implementation plan in the repository planning area when the user explicitly asks for a plan.

    258 GitHub stars~917 tokensUpdated today
    Auto-check passed
  • Answer From Sources

    stella/stella

    Answers data-protection (GDPR) questions grounded in the regulation and supervisory guidance, with a citation for every claim.

    258 GitHub stars~735 tokensUpdated today
    Auto-check passed
  • Check Against Rules

    stella/stella

    Reviews a non-disclosure agreement against the firm's NDA checklist and reports findings with citations.

    258 GitHub stars~856 tokensUpdated today
    Auto-check passed
  • Intake To Draft

    stella/stella

    Collects the facts of an unpaid invoice, then drafts a payment demand letter.

    258 GitHub stars~537 tokensUpdated today
    Auto-check passed
  • Conventions Perf

    stella/stella

    Apply when a performance-guard check (network baseline, bundle baseline, DB query count, loader-prefetch lint, RC bailouts) fails or when touching a hot route/endpoint.

    258 GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Apply when writing or reviewing React effects in apps/web. An agent skill from stella/stella.

    258 GitHub stars~2.8k tokensUpdated today
    Auto-check passed

Questions about Playbook Builder

What does Playbook Builder do?

Build a contract review playbook with the user, position by position, from their past executed contracts, an interview, and market-standard defaults. Playbook Builder is an agent skill from stella/stella. Build a contract review playbook with the user, position by position, from their past executed contracts, an interview, and market-standard defaults.

When should I use Playbook Builder?

Playbook Builder fits situations like: the user wants to create; extend a playbook.

How do I install Playbook Builder in Claude Code?

Run `npx skills add stella/stella --skill playbook-builder -a claude-code`. Or copy the skill folder (packages/skills/skills/playbook-builder in stella/stella) into .claude/skills/playbook-builder in your project. Claude Code loads it when a task matches its description.

How do I install Playbook Builder in Codex?

Run `npx skills add stella/stella --skill playbook-builder -a codex`. Or copy the skill folder (packages/skills/skills/playbook-builder in stella/stella) into .agents/skills/playbook-builder in your project. Codex loads it when a task matches its description.

Can I use Playbook Builder in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add stella/stella --skill playbook-builder -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/playbook-builder, .gemini/skills/playbook-builder, .github/skills/playbook-builder and .opencode/skills/playbook-builder in your project.

What does Playbook Builder need to run?

SKILL.md names no scripts, command-line tools or credentials: Playbook Builder is instructions for the agent only.

Does Playbook Builder access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Playbook Builder safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Playbook Builder use?

Playbook Builder is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Playbook Builder use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Playbook Builder?

Skills that share tags, products or a category with Playbook Builder: Contract Review (evolsb/claude-legal-skill, 462 stars), Commercial Legal Pl (apiotrowski-afk/commercial-legal-pl, 176 stars), Custom Nda Generator (zubair-trabzada/ai-legal-claude, 1.8k stars) and Hand Drawn (threerocks/hand-drawn-styles, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Playbook Builder?

stella (a GitHub organization) maintains it in stella/stella, which has 258 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 8, 2026.

Source: stella/stella on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.