spec-role-contract

spec-role-contract is a skill for Claude Code from chenweil/skillcaddy. It costs 106 tokens per session (1,824 once invoked), scanned A, original, MIT.

A role agreement for the three people or sessions involved in a technical document: author, implementer, and verifier. It records what each role may do and writes the assignment to ROLE.md.

In plain words
What is it for?
Use it to assign responsibilities during planning, coding, and acceptance checks. The verifier must work in a new session, although the same model may fill different roles at different times.
Why use it?
It prevents the writer from approving their own direction, the implementer from changing that direction, or the verifier from judging against an informal conversation instead of the saved document.

Skill for Claude Code

Written for Claude Code: disable-model-invocation in frontmatter. Also seen: mentions subagents.

Good fit Use it to assign responsibilities during planning, coding, and acceptance checks. The verifier must work in a new session, although the same model may fill different roles at different times.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/chenweil/skillcaddy/spec-role-contract
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 chenweil/skillcaddy --skill spec-role-contract
Clone the repo
git clone --depth 1 https://github.com/chenweil/skillcaddy

Made for: Claude Code.

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 spec-role-contract

README.md
[![agentmods](https://agentmods.dev/badge/skills/chenweil/skillcaddy/spec-role-contract/github.svg)](https://agentmods.dev/skills/chenweil/skillcaddy/spec-role-contract)
Your own site
<a href="https://agentmods.dev/skills/chenweil/skillcaddy/spec-role-contract"><img src="https://agentmods.dev/badge/skills/chenweil/skillcaddy/spec-role-contract/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 spec-role-contract

Your own site · 80×15
<a href="https://agentmods.dev/skills/chenweil/skillcaddy/spec-role-contract"><img src="https://agentmods.dev/badge/skills/chenweil/skillcaddy/spec-role-contract.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 106 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,824 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.00106 $0.01824
Opus 5.5 $0.00042 $0.00730
Sonnet 5.5 $0.00021 $0.00365
Haiku 4.5 $0.00011 $0.00182

Measured 28d ago against content hash 0a1922fdbd6f, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

spec-role-contract 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 28d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (check-roles.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

skills/spec-pipeline/spec-role-contract/SKILL.md · 114 lines

How it starts

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

文档生命周期角色契约

原件库的技能按任务分工(research / review / implement),不按文档生命周期位置分工。所以"作者不能自己批准方向""实施者不能改方向""验证者要对照文档而不是对话"这些约束,没有任何一个技能在管。

这个技能管。它不分配模型,只声明位置和边界。

三个位置

位置 负责 明确不能做
author 作者 写 TECH.md、补研究、接外部草稿 不自我批准方向。草稿的作者不能同时是批准方向的人
implementer 实施者 按已批准文档写实现 不改方向。发现方向有问题必须回到 spec-direction-gate,不能自己改
verifier 验证者 对照文档验收 不对照对话验收。判定依据是 TECH.md 本身,不是"当初说过什么"

这三个位置可以由同一个模型担任,但不能由同一次会话兼任 author 和 verifier。这是唯一不可让步的一条。

硬性约束

  1. 角色是显式参数,不是隐含的会话假设。 每一格都要显式声明当前是谁在做。默认角色是 author。
  2. 不绑定模型品牌。 0036 第 110 行已记录"固定模型品牌也没有成为必要条件"。角色边界与用哪个模型无关,反过来也一样。
  3. 验证者必须新会话。 沿用 0035 第 3.2 节已定做法。这条是硬约束,理由见下。
  4. 边界靠落盘记录核验,不是靠自觉。 角色写进 specs/<id>/ROLE.md,验收时读文件。

为什么验证者必须换会话

author 在写文档时看过所有的权衡、放弃过的方案、对问题的理解。带着这些上下文去验收自己的实现,等于用出题人的答案去判卷。0035 缝二的判断在这里成立:skill 只能告诉你"这一格跑什么",保证不了"不是同一个会话"。

需要说清楚的是,库里现有的跨会话机制不是会话隔离。planning-with-files 靠的是磁盘上的持久 markdown 文件——它能让你在第二次会话里恢复上下文,但它恢复的恰恰是 author 的上下文。恢复得越顺,污染越彻底。所以本技能不依赖它做隔离,只依赖它做持久化;隔离由"换会话"这个动作本身承担。

code-review 的并行 sub-agent 是另一个可借的机制:它把 Standards 和 Spec 两条轴分开跑以免互相污染。author 与 verifier 需要的正是这类隔离,只是要跨会话而不是跨 sub-agent。

流程

第 1 步:声明角色

开工前写明本次是谁在做。落盘到 specs/<id>/ROLE.md:

# Roles

| 位置 | 谁 | 会话 | 状态 |
| --- | --- | --- | --- |
| author | <名字 / 模型> | <会话标识> | 进行中 |
| implementer | <名字 / 模型> | <会话标识> | 未开始 |
| verifier | <名字 / 模型> | <会话标识> | 未开始 |

## Boundaries

- author 不得批准方向。方向批准由 `spec-direction-gate` 在独立的确认中记录。
- implementer 不得改方向。发现方向错误时回到 `spec-direction-gate`。
- verifier 不得与 author 同会话。验收依据是 `TECH.md`,不是对话。

第 2 步:按角色约束自己

每次要做的动作先过一遍上表的"明确不能做"。越界了不执行,改走正确路径。

最常被踩的一条:实施中发现了文档里写错的东西。改文档不等于改方向——补充实现细节、补行级引用、更新验证方式都属于实施者的合法范围;换了方案、改了目标、改了非目标,才是改方向,必须回关卡。

第 3 步:交接时更新状态

从一个位置换到下一个位置时更新 ROLE.md 的状态,并记录会话标识换了。

verifier 那一行的会话标识必须与 author 不同。这一栏是 ## Boundaries 唯一可被机器检查的证据,空着或相同都算违规。

第 4 步:验收时核验

verifier 开跑前先读 ROLE.md 和 TECH.md:

  • TECH.md 的 ## Approval 段存在且方向为"通过"——否则没有可验收的批准状态,返回未批准
  • verifier 与 author 不同会话——否则验收结论作废,要求换会话重来
  • 判定依据只能是 TECH.md。对话里"当时说过以 X 为准"不构成依据

Read the full file on GitHub · 114 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

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. 28d ago First seen · 114 lines · 106 tokens per session scan A 0a1922fdbd6f

Subscribe to this mod's changes

spec-role-contract is a skill published in the GitHub repository chenweil/skillcaddy (29 stars, last pushed 5d ago), licensed MIT. It adds 106 tokens to every session and 1,824 once invoked, about $0.0004 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-01.

Related

Other skills, from other repositories

exploratory-data-analysis

Performs bounded, local exploratory analysis of explicitly supported scientific files. Supports redacted CSV/TSV/JSON profiles; optional NumPy, HDF5, FASTA/FASTQ, and basic image metadata inspection; missingness/leakage audits; outlier and transformation sensitivity; and rigorous EDA report scaffolds. Other domain…

K-Dense-AI/scientific-agent-skills · 83 tokens

webhook-management

Configure and validate CCAM webhook targets across supported chat, incident, automation, and generic providers. Use when listing provider requirements, creating or updating a target, scoping it to alert rules, sending a test notification, reviewing delivery history, or deleting a target.

hoangsonww/Claude-Code-Agent-Monitor · 56 tokens

design-review

Review a web app or page for visual design quality — layout, typography, spacing, colour, hierarchy, consistency, interaction patterns, and responsive behaviour. Not a UX audit (that checks usability) — this checks whether it looks professional and polished. Produces a design findings report with screenshots.…

jezweb/claude-skills · 108 tokens

react-patterns

React 19 performance patterns and composition architecture for Vite + Cloudflare projects. 50+ rules ranked by impact — eliminating waterfalls, bundle optimisation, re-render prevention, composition over boolean props, server/client boundaries, and React 19 APIs. Use when writing, reviewing, or refactoring React…

jezweb/claude-skills · 110 tokens

render-3d-product-showcase

Assemble a premium 3D product-showcase ad from a config — four beat clips (an orbiting hero rotation, a macro push-in, a physics reveal, a typographic close) normalized to the chosen backdrop colour, hard-concatenated in order, closed on a deterministic Playwright brand end card, and mixed under one instrumental bed…

gooseworks-ai/goose-skills · 159 tokens

render-airdrop-carousel

Assemble a viral iOS "AirDrop" notification-carousel video ad (≈6–8s, 9:16) from a brand line plus 6–16 real product photos — a native AirDrop share-sheet card ("Brand would like to share a · Decline / Accept") springs up and its preview window CYCLES through the products, landing on a range/lineup payoff with an…

gooseworks-ai/goose-skills · 207 tokens