Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Acceptance Contract

ASecurity

Turn a client brief, zip bundle, directory, or single requirements file into a typed acceptance-contract bundle with extracted requirements, acceptance checks, open questions, an immutable-goal draft, and a create-report-backed decision report. Use when users say acceptance contract, brief to requirements, freeze the goal, create immutable goal, amend immutable goal, build a Battle requirements bundle, or extract requirements from this bundle.

7 stars
0 votes
0 copies
0 views
Added 9/23/2026
businesspythongobashsqlgit

Works with

cli

Security Analysis

A100/100

Scanned 9/23/2026

Install to Claude Code

$npx -y skills add grahama1970/agent-skills --skill acceptance-contract --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Acceptance Contract?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Acceptance Contract
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/grahama1970-acceptance-contract/badge)](https://www.skillsdirectory.com/skills/grahama1970-acceptance-contract)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: acceptance-contract
description: >
  Turn a client brief, zip bundle, directory, or single requirements file into a
  typed acceptance-contract bundle with extracted requirements, acceptance
  checks, open questions, an immutable-goal draft, and a create-report-backed
  decision report. Use when users say acceptance contract, brief to
  requirements, freeze the goal, create immutable goal, amend immutable goal,
  build a Battle requirements bundle, or extract requirements from this bundle.
triggers:
  - acceptance contract
  - brief to requirements
  - freeze the goal
  - create immutable goal
  - amend immutable goal
  - build a Battle requirements bundle
  - extract requirements from this bundle
runtime_self_improvement: basic
provides:
  - acceptance-contract
  - requirements-extraction
  - immutable-goal-draft
  - report-generation
composes:
  - create-report
  - agentic-evals
complies:
  - best-practices-skills
  - best-practices-python
taxonomy:
  - validation
  - precision
  - resilience
---

# acceptance-contract

Use this before implementation when a brief, ticket, email, README, zip bundle,
or evidence packet needs to become executable acceptance criteria.

First command for implementation work:

```bash
skills/acceptance-contract/run.sh ensure <zip|directory|file> \
  --out /tmp/acceptance-contract \
  --project-name oai-trial \
  --goal-mode create
```

`ensure` is the mechanical guard: it validates an existing `acceptance_bundle.json`,
auto-extracts one when missing, and fails closed when the supplied source bundle
has changed since the frozen contract was written. Its JSON receipt includes an
`acceptance_contract.progress.v1` meter with `percent`, `checks`, `outstanding`,
and `next_steps`. Do not implement from a brief until `ensure` returns
`status=PASS` and the progress meter says what remains.

Pass the **client brief, zip bundle, or deliberately staged spec directory** as
input. The CLI refuses repository roots by default so implementation files cannot
silently become the acceptance source. Use `--allow-repo` only when the human
explicitly asks for a repository-wide contract.

For high-stakes client briefs, run a second-line `$ask` roundtable review on the
brief/zip plus `acceptance_bundle.json` before implementation. Include WebGPT as
one reviewer when available. Ask plainly: "Are these contract requirements
correct, and did we miss anything?" Require reviewers to check whether any client
obligation is missing from the frozen contract, especially representation
classes, typed values, boundary conditions, and disqualifying failure modes. The
review is advisory evidence; deterministic gates still own PASS/FAIL. The oai-trial
review found that typed-scalar coverage must also require canonical equivalence:
formatted policy strings, digit-only numeric scalars, decimal forms, scientific
notation, and SQLite numeric values cannot be separate acceptance universes.

## What it does

```bash
skills/acceptance-contract/run.sh extract <zip|directory|file> \
  --out /tmp/acceptance-contract \
  --project-name oai-trial \
  --goal-mode create
```

Outputs:

- `acceptance_bundle.json` — pydantic-validated source of truth
- `acceptance_report.json` — `create_report.report.v1` JSON
- `acceptance_report.md` — rendered through `$create-report`
- `IMMUTABLE_GOAL.draft.md` — draft goal text or amendment proposal

Commands:

- `extract` always writes a fresh draft bundle/report from the supplied source.
- `ensure` validates or creates the frozen bundle and rejects stale source hashes.
- `validate` validates an existing `acceptance_bundle.json` only and prints the progress meter.
- `status` reads an existing `acceptance_bundle.json` and prints only the machine-readable progress meter.

## Goal policy

Default behavior is **draft, not mutate**.

- `--goal-mode create` writes a new immutable-goal draft.
- `--goal-mode amend` writes an amendment proposal, not a silent edit.
- `--goal-mode none` extracts requirements without goal text.

A real immutable goal should be created or amended only after human approval.
That rule exists because oai-trial failed when implementation-defined tests
stood in for the client brief.

## Boundary

This skill extracts clear, source-backed requirements from supplied local files.
It does not claim the extracted contract is complete when the source bundle is
ambiguous. Ambiguity becomes `open_questions[]` and a Needs Changes report.
It refuses repo roots by default because oai-trial failed when code-shaped checks
stood in for the delivered brief.

For Battle, pass the resulting `acceptance_bundle.json` as the arena
`acceptance_floor` and map each `acceptance_cases[].id` to one or more generator
case ids in the Battle campaign profile's `required_case_ids`. Those mapped cases
are the contract floor that must pass before fuzz or beyond-contract attacks can
be credited. Do not make Battle invent the requirements.

Attribution

grahama1970grahama1970
View sourceMore from grahama1970 →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Solution Architect

Designs system architecture, component specifications, and technical integration strategy. Use when: designing solutions, system architecture, technology stack, or integration approaches.

192 votes

Akorchak:Venture Assessment

Generate a comprehensive VC investment assessment report for a company

72 votes

Just Fucking Cancel

Find and cancel unwanted subscriptions by analyzing bank transactions. Detects recurring charges, calculates annual waste, and helps you cancel with direct URLs and browser automation. Use when: 'cancel subscriptions', 'audit subscriptions', 'find recurring charges', 'what am I paying for', 'save money', 'subscription cleanup', 'stop wasting money'. Supports CSV import (Apple Card, Chase, Amex, Citi, Bank of America, Capital One, Mint, Copilot) OR Plaid API for automatic transaction pull. Out...

6511 votes

Stock Analysis

Analyze stocks and cryptocurrencies using Yahoo Finance data. Supports portfolio management (create, add, remove assets), crypto analysis (Top 20 by market cap), and periodic performance reports (daily/weekly/monthly/quarterly/yearly). 8 analysis dimensions for stocks, 3 for crypto. Use for stock analysis, portfolio tracking, earnings reactions, or crypto monitoring.

6511 votes

Telegram Compose

Compose rich, readable Telegram messages using HTML formatting via direct Telegram API. Use when: (1) Sending any Telegram message beyond a simple one-line reply, (2) Creating structured messages with sections, lists, or status updates, (3) Need formatting unavailable via Clawdbot's Markdown conversion (underline, spoilers, expandable blockquotes, user mentions by ID), (4) Sending alerts, reports, summaries, or notifications to Telegram, (5) Want professional, scannable message formatting wit...

6511 votes
View all in business →