scriptwriter-rrr

scriptwriter-rrr is a skill for Claude Code, Codex from cambridgetcg/agenttool. It costs 93 tokens per session (1,212 once invoked), scanned A, original, Apache-2.0.

A protocol for an alternating, signed exchange between two identified agents. Each response links to the previous one, creating a verifiable chain of mutual acknowledgements.

In plain words
What is it for?
Use it to open an exchange, add alternating signed responses, verify the chain, and inspect why a response was refused or the exchange reached its limit.
Why use it?
It makes the order and origin of each response checkable, helping detect broken or unauthorised exchanges. It also defines clear limits and refusals when the chain cannot continue.

Skill for Claude CodeCodex

Part of the scriptwriter plugin — 4 skills, 7 commands shipped together

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.

agentmods
npx agentmods add skills/cambridgetcg/agenttool/scriptwriter-rrr
Any agent
npx skills add cambridgetcg/agenttool --skill scriptwriter-rrr
Clone the repo
git clone --depth 1 https://github.com/cambridgetcg/agenttool

Made for: Claude Code, Codex.

Or install scriptwriter, the plugin that ships this one along with the rest of its 4 skills, 7 commands.

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 scriptwriter-rrr

README.md
[![agentmods](https://agentmods.dev/badge/skills/cambridgetcg/agenttool/scriptwriter-rrr.svg)](https://agentmods.dev/skills/cambridgetcg/agenttool/scriptwriter-rrr)
Your own site
<a href="https://agentmods.dev/skills/cambridgetcg/agenttool/scriptwriter-rrr"><img src="https://agentmods.dev/badge/skills/cambridgetcg/agenttool/scriptwriter-rrr.svg" alt="Measured on agentmods" height="20"></a>
Per session 93 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,212 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
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 $0.00093 $0.01212
Opus 5 $0.00046 $0.00606
Sonnet 5 $0.00019 $0.00242
Haiku 4.5 $0.00009 $0.00121

Measured 4d ago against content hash fdd3b311ed39, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

scriptwriter-rrr scanned grade A with 1 finding 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 4d ago.

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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl -sS http://localhost:7777/rrr/cascades # list mine
packages/scriptwriter/.claude-plugin/skills/scriptwriter-rrr/SKILL.md · 86 lines

How it starts

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

scriptwriter-rrr — the cascade flow up close

A cascade is an alternating sequence of signed turns between two distinct DIDs. Each turn:

canonical bytes = sha256(
  "guild-rrr-escalate/v1"
  \0 cascade_id
  \0 depth (ASCII decimal)
  \0 by_did
  \0 basis_text
  \0 prev_signature_b64    (empty for depth 1)
  \0 turn_at_iso
)
signature = ed25519_sign(canonical_bytes, secret_key_of_by_did)

The signature is base64-encoded and chained: the next turn's prev_signature_b64 field MUST be the previous turn's signature. This makes the chain a Merkle of mutual acknowledgment.

Lifecycle

  1. Open (depth 1) — Alice signs {by_did: alice, to_did: bob, depth: 1, prev_sig: "", ...} and pushes to Bob's /rrr/turn. Bob's node verifies, admits the cascade, sets next_to_act_did: bob.
  2. Escalate (depth 2+) — Bob signs {by_did: bob, to_did: alice, depth: 2, prev_sig: <alice's sig>, ...} and pushes to Alice's /rrr/turn. Alice's node verifies the chain link, admits, sets next_to_act_did: alice.
  3. Continue — alternate up to depth 49.
  4. Cap — at depth 49 the cascade flips to status: capped and next_to_act_did: null. Further escalations are refused with cascade_not_active.

Tools (MCP path)

Tool When to use
whoami Always call first to know your DID
discover_peer Before opening — confirms peer is reachable + see their DID/handle
pair_with_peer Optional knock — establishes the conversational context but no cascade state yet
open_cascade_with_peer Depth-1 turn — signs locally, pushes to peer's /rrr/turn
list_cascades See all cascades involving this node; filter by status: active to find ones awaiting your turn
get_cascade Read the full chain + receive verification result (verifiable: true means every signature + every chain link checked out)
escalate_cascade Bump depth — only works if next_to_act_did equals this node's DID
suggest_basis_text Get the default "I know you know I know…" ladder text for a depth

Read the full file on GitHub · 86 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. 4d ago First seen · 86 lines · 93 tokens per session scan A fdd3b311ed39

Subscribe to this mod's changes

scriptwriter-rrr is a skill published in the GitHub repository cambridgetcg/agenttool (0 stars, last pushed yesterday), licensed Apache-2.0. It adds 93 tokens to every session and 1,212 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

ornn-agent-manual-cli

The manual an AI agent loads to operate Ornn — the model-agnostic skill-lifecycle API (an npm-style registry + CLI for agent skills) — via the NyxID CLI (nyxid proxy request ornn-api …). Load and follow this skill WHENEVER the user asks to do anything with Ornn skills or skillsets. Skills: search Ornn or find a skill…

ChronoAIProject/Ornn · 337 tokens

add-a-service

Scaffold a new service under services/ in the builders-stack monorepo. Use when something needs its own URL, port, or independent deploy. Covers the package, entrypoint, config, Tilt, deployment registry, and shared small-image build path.

lonormaly/builders-stack · 55 tokens

design-a-schema

Model a new table (or reshape an existing one) in libs/db with Drizzle — normalize by default, add the right constraints, and index deliberately. Use when adding a table/column, deciding on keys and foreign keys, or when a query is slow because the schema or its indexes are wrong. Enforces the stack's "Drizzle is the…

lonormaly/builders-stack · 91 tokens

optimize-a-query

Diagnose and fix a slow Postgres query in the builders-stack — read its EXPLAIN plan, find the missing index or the ORM N+1, and confirm the fix. Use when a page or endpoint is slow, a query times out, or pgstatstatements shows a hot query. Pairs with design-a-schema for the index itself.

lonormaly/builders-stack · 77 tokens

wire-a-new-payment-provider

Add or swap a payment provider behind the @stack/payment adapter in the builders-stack monorepo. Use when integrating Stripe, Paddle, Lemon Squeezy, or any provider alongside or in place of the default Creem adapter. The whole point is that apps and the API never change — only the adapter implementation does. Covers…

lonormaly/builders-stack · 92 tokens

ornn-agent-manual-http

Operational manual for AI agents using the Ornn skill-lifecycle API via direct HTTPS with a NyxID bearer token (curl -H "Authorization: Bearer $TOKEN" …). Once loaded, the host agent can search / pull / execute / build / upload / share skills end-to-end. Authoritative contract between Ornn and the agent. Pair this…

ChronoAIProject/Ornn · 106 tokens