Contract Review
evolsb/claude-legal-skill
Review legal contracts, NDAs, employment agreements, SaaS terms, and M&A documents.
Build a contract review playbook with the user, position by position, from their past executed contracts, an interview, and market-standard defaults.
$ npx skills add stella/stella --skill playbook-builder -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install stella/stella playbook-builder --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "playbook-builder" agent skill from https://github.com/stella/stella/tree/main/packages/skills/skills/playbook-builder into .claude/skills/playbook-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playbook-builder", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/stella/stella/tree/main/packages/skills/skills/playbook-builderType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add stella/stella --skill playbook-builder -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install stella/stella playbook-builder --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/stella/stella.git skills-src && mkdir -p .agents/skills && cp -r skills-src/packages/skills/skills/playbook-builder .agents/skills/playbook-builder && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "playbook-builder" agent skill from https://github.com/stella/stella/tree/main/packages/skills/skills/playbook-builder into .agents/skills/playbook-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playbook-builder", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add stella/stella --skill playbook-builder -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install stella/stella playbook-builder --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/stella/stella.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/packages/skills/skills/playbook-builder .cursor/skills/playbook-builder && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "playbook-builder" agent skill from https://github.com/stella/stella/tree/main/packages/skills/skills/playbook-builder into .cursor/skills/playbook-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playbook-builder", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/stella/stella.git --path packages/skills/skills/playbook-builder--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add stella/stella --skill playbook-builder -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install stella/stella playbook-builder --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/stella/stella.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/packages/skills/skills/playbook-builder .gemini/skills/playbook-builder && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "playbook-builder" agent skill from https://github.com/stella/stella/tree/main/packages/skills/skills/playbook-builder into .gemini/skills/playbook-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playbook-builder", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install stella/stella playbook-builderInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add stella/stella --skill playbook-builder -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/stella/stella.git skills-src && mkdir -p .github/skills && cp -r skills-src/packages/skills/skills/playbook-builder .github/skills/playbook-builder && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "playbook-builder" agent skill from https://github.com/stella/stella/tree/main/packages/skills/skills/playbook-builder into .github/skills/playbook-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playbook-builder", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add stella/stella --skill playbook-builder -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install stella/stella playbook-builder --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/stella/stella.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/packages/skills/skills/playbook-builder .opencode/skills/playbook-builder && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "playbook-builder" agent skill from https://github.com/stella/stella/tree/main/packages/skills/skills/playbook-builder into .opencode/skills/playbook-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "playbook-builder", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
playbook-builderBuild 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. 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.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 269655d. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from stella/stella at commit 269655d, republished under its Apache-2.0 licence (© stella). 1,554 words, ~2,557 tokens.
.claude/skills/playbook-builder/SKILL.md (or your agent's skills folder).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.
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.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.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.
Ask, in one batch:
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.
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.
read_content_across_matters, paging
with cursor.list_documents or search_across_matters,
then read it.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.list_documents.
search_across_matters spans every matter the user can access, so use
it only when they chose all.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.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.
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.
playbook_id and the latest
updatedAt as expected_updated_at.sourceId as source_id; to add one,
omit source_id. Remove with remove_source_ids.sources out to keep the stored list; a list you send
replaces it.issues with its fix; apply the fix.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.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
Just SKILL.md in packages/skills/skills/playbook-builder of stella/stella.
Open the folder on GitHubat commit 269655d
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Playbook Builder this skillstella/stella | 258 | — | ~2.6k | Automated safety check: Pass | Apache-2.0 | |
| Contract Reviewevolsb/claude-legal-skill | 462 | 1 repos | ~3.6k | Automated safety check: Pass | MIT | |
| Commercial Legal Plapiotrowski-afk/commercial-legal-pl | 176 | 1 repos | ~4.1k | Automated safety check: Pass | Apache-2.0 | |
| Custom Nda Generatorzubair-trabzada/ai-legal-claude | 1.8k | 1 repos | ~2.9k | Automated safety check: Pass | None | |
| Hand Drawnthreerocks/hand-drawn-styles | 1.6k | — | ~406 | Automated safety check: Pass | MIT | |
| Tabular Document Reviewanthropics/claude-for-legal | 9.6k | 3 repos | ~4.3k | Automated safety check: Pass | Apache-2.0 |
evolsb/claude-legal-skill
Review legal contracts, NDAs, employment agreements, SaaS terms, and M&A documents.
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).
zubair-trabzada/ai-legal-claude
Generates a complete, customized Non-Disclosure Agreement with plain English annotations, tailored to the specific parties and situation
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…
anthropics/claude-for-legal
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.
Imbad0202/tw-formal-writing
台灣正式文件撰寫助手 — 涵蓋政府公文、政府機關其他文件、法律文件、人民對政府文書四類中文正式文件的撰寫(不含學術論文、商業文書、私人書信等,見下方排除清單)。
stella/stella
Create a concise, evidence-backed implementation plan in the repository planning area when the user explicitly asks for a plan.
stella/stella
Answers data-protection (GDPR) questions grounded in the regulation and supervisory guidance, with a citation for every claim.
stella/stella
Reviews a non-disclosure agreement against the firm's NDA checklist and reports findings with citations.
stella/stella
Collects the facts of an unpaid invoice, then drafts a payment demand letter.
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.
stella/stella
Apply when writing or reviewing React effects in apps/web. An agent skill from stella/stella.
Categories
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.
Playbook Builder fits situations like: the user wants to create; extend a playbook.
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.
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.
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.
SKILL.md names no scripts, command-line tools or credentials: Playbook Builder is instructions for the agent only.
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.
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.
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.
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.
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.
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.