Agent skill

Suede Parity Contract

by JasonColapietro in JasonColapietro/suede-creator-skills

Suede Labs cross-surface canon discipline: hold one canonical answer across every surface that states it (web, iOS, Android, docs, a second service) by generating a contract from the reference…

MITAuto-check passedMarketing & SEO

Install Suede Parity Contract

skills CLI
$ npx skills add JasonColapietro/suede-creator-skills --skill suede-parity-contract -a claude-code

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

GitHub CLI
$ gh skill install JasonColapietro/suede-creator-skills suede-parity-contract --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/JasonColapietro/suede-creator-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/suede-parity-contract .claude/skills/suede-parity-contract && 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
suede-parity-contract
GitHub stars
127
Token cost
~2.1k tokens
SKILL.md length
1,073 words
Files
3
Skills in repo
78
Repo updated
First seen
Licence
MIT

At a glance

Suede Labs cross-surface canon discipline: hold one canonical answer across every surface that states it (web, iOS, Android, docs, a second service) by generating a contract from the reference…

  • Works in 8 steps: Name one reference surface → Build the contract by importing, never… → Make staleness fail on the reference side → …
  • Stated fact lives on two
  • SKILL.md covers Step 1: Name one reference…, Step 2: Build the contract by…, Step 3: Make staleness fail on… and Step 4: Vendor byte-identical…, plus 8 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Suede Parity Contract is an agent skill from JasonColapietro/suede-creator-skills. Suede Labs cross-surface canon discipline: hold one canonical answer across every surface that states it (web, iOS, Android, docs, a second service) by generating a contract from the reference surface and making the others assert against it, so a divergence fails a test instead of reaching a user or an answer engine. Consistent canon is what makes a product citable: generative search quotes sources that do not contradict themselves, and a number that differs between your site and your app is a contradiction a…

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `CARD.md` and `agents/openai.yaml`).

It sits in Marketing & SEO, covering SEO audit. It works with Android and iOS. The repository describes itself as: Open-source AI skills for SEO, AI search visibility, conversion copy, marketing strategy, and business operations. Reusable workflows for Claude Code and Codex, plus code review… The licence is MIT.

When your agent uses it

  • Stated fact lives on two
  • Values are copied by hand out of a handoff
  • Two surfaces already disagree
  • Auditing where they drifted

Example prompts

  • “/suede-parity-contract”

Workflow steps

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

  1. Name one reference surface
  2. Build the contract by importing, never retyping
  3. Make staleness fail on the reference side
  4. Vendor byte-identical to each follower
  5. Assert through public behavior, not private internals
  6. Pin the divergences you already have
  7. Prove non-vacuity on both sides, in this run
  8. Closing a divergence is a two-repo operation

What it can do on your machine

Read from SKILL.md and the folder at commit e5f94d7. 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 (its code samples are bash).

    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

Suede Parity Contract loads about 2.1k tokens when it runs. Until then it costs about 250 tokens; SKILL.md has 1,073 words of instructions outside code blocks.

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

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 JasonColapietro/suede-creator-skills at commit e5f94d7, republished under its MIT licence (© JasonColapietro). 1,073 words, ~2,062 tokens.

Download SKILL.mdSave it as .claude/skills/suede-parity-contract/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
suede-parity-contract
description
Suede Labs cross-surface canon discipline: hold one canonical answer across every surface that states it (web, iOS, Android, docs, a second service) by generating a contract from the reference surface and making the others assert against it, so a divergence fails a test instead of reaching a user or an answer engine. Consistent canon is what makes a product citable: generative search quotes sources that do not contradict themselves, and a number that differs between your site and your app is a contradiction a model can see. Use when the same rule, threshold, ladder, or stated fact lives on two or more surfaces; when values are copied by hand out of a handoff; when two surfaces already disagree; or when auditing where they drifted. NOT FOR: deciding which surface is correct (a product call this skill records rather than makes); reviewing a diff (use suede-code-review); wiring merge gates (use suede-ci-gate); a generative-search audit of a page (use suede-seo-audit).

Suede Parity Contract

text
Iron Law: generate the contract from the reference surface's live constants.
A contract you transcribe is a second copy, and second copies drift.
A contract you generate cannot disagree with the code it came from.

Silent drift is the failure this prevents. Nothing crashes when a threshold is copied wrong into a second language. The two surfaces simply start answering the same question differently, and a user finds out before you do.

Step 1: Name one reference surface

Exactly one surface is the reference. Every other surface is a follower that asserts against it. Two references is two sources of truth with extra steps.

Pick the surface where the domain is most complete and most exercised, and write that choice into the contract's reference field so nobody re-litigates it.

Step 2: Build the contract by importing, never retyping

The builder imports the constants from the modules the application actually runs on and serializes them. Retyping a value into the builder reintroduces exactly the copy this skill exists to delete.

When a needed value is private, export it rather than duplicating it. That is a one-line change and it keeps the count of definitions at one.

Serialize with stable key order and a trailing newline, because followers vendor the file verbatim and a reformat shows up as a spurious diff.

Step 3: Make staleness fail on the reference side

One test rebuilds the contract in memory and compares it to the committed file. Without it the JSON is a snapshot someone took once.

Give it a write mode so regeneration is one command, and put that command in the contract's README and in the file's own note field:

bash
CONTRACT_WRITE=1 <test runner> <contract test>

Compare parsed objects first so the failure names the key that moved, then compare raw bytes so a reformat is caught too.

Step 4: Vendor byte-identical to each follower

Followers keep a copy at the same relative path. Prove it matches rather than assuming:

bash
shasum -a 256 <reference>/contracts/<name>.json <follower>/contracts/<name>.json

Two identical hashes, or the copy is stale. Record the re-sync command in the follower's README so the next person does not invent one.

Step 5: Assert through public behavior, not private internals

A follower test that reimplements the reference formula proves only that you can write the same bug twice.

Assert what a user experiences. For a ladder, feed the contract's rung values to the public accessor and check the level it returns. For a threshold, check the boundary and one step below it: a threshold asserted only from above still passes after it moves down.

Start the follower suite with a test that the contract loaded and is non-empty. A file that fails to load makes every assertion after it vacuously true.

Step 6: Pin the divergences you already have

You will find existing differences. The contract's job on day one is to make them visible and hold them still, not to erase them.

Record each under knownDivergences with the value on each surface and a reason that survives you leaving. Then add a guard asserting the divergence list is exactly the expected set, so an entry added elsewhere is a failure rather than a silence.

Each pinned divergence gets two assertions on the follower: that it still differs by the recorded amount, and that it does not equal the reference. The second one fires when someone closes the divergence and forgets the contract.

Halt format: a divergence found mid-build

Changing a shipped constant changes behavior for real users, and which surface is right is a product decision. At the moment you find one, stop and report:

text
Divergence: <key>. <reference surface> says <a>, <follower> says <b>.
Both shipped. <one line on what a user feels>.
  1. Move <follower> to <a>
  2. Move <reference> to <b>
  3. Record it and decide later

Then wait. Do not pick for the user, and do not change either side as a side effect of writing a contract.

Step 7: Prove non-vacuity on both sides, in this run

A parity test that cannot fail is worse than none, because it reads as evidence.

Reference side: change one constant, watch the staleness test fail naming that key, restore it, watch it pass. Follower side: edit one value in the vendored copy, watch exactly the matching assertion fail, restore.

Paste both the failing and the passing output. "The tests pass" is not proof that they can fail.

Show full SKILL.md (416 more words)Show less

Step 8: Closing a divergence is a two-repo operation

Both halves land or neither does:

  1. Change the constant on the surface that is moving.
  2. Delete the knownDivergences entry and regenerate the contract.
  3. Re-sync the vendored copy to every follower.
  4. Replace that follower's pinning test with a plain equality assertion.
  5. Update the divergence-list guard to the new expected set.

Half of this leaves a red suite that names the missing half, which is the design working.

Versioning

Bump version only when the shape changes: a key added, removed, or renamed. A changed value is never a version bump. A value is the thing the contract exists to surface, and a follower should meet it as a failing assertion rather than as a version it is allowed to skip.

Done means

Every line proven by a command in this run:

  • The staleness test fails on a changed reference constant and names the key.
  • Every follower's vendored copy hashes identical to the reference's.
  • Every follower suite passes, and its contract-load test proves the file is really there.
  • Both non-vacuity demonstrations from Step 7 have pasted output.
  • The divergence-list guard names the same set the follower tests pin.

Boundaries

  1. Do not decide which surface's value is correct. Record, report, and let the user choose.
  2. Do not change a shipped constant as a side effect of writing a contract.
  3. Do not hand-edit a generated contract or a vendored copy. Edit the source constant and regenerate.
  4. Do not add a value to the contract that no follower asserts. An unasserted key reads as coverage and provides none.
  5. Do not put credentials, hostnames, or per-environment configuration in a parity contract. It carries domain constants that must agree everywhere.
  6. Do not let a follower's contract test reimplement the reference's formula. Assert the observable result.

Routing

  • Need branch, worktree, or stale-mirror handling for the two repos this touches -> a private Suede Labs companion, not in this pack: suede-git-hygiene.
  • Need the resulting tests wired as required checks or merge gates -> use suede-ci-gate.
  • Need findings-only review of the contract diff -> use suede-code-review.
  • Need findings plus an A-F ship verdict -> use suede-code.
  • Need to root-cause why two surfaces behave differently when the constants already match -> a private Suede Labs companion, not in this pack: suede-debug.
  • Need to plan a multi-file rollout across surfaces -> use suede-graph-flo-xr, then return here for the contract itself.
  • From suede-code-review: route "these two surfaces hold the same constant twice" findings back to suede-parity-contract.

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

Files

SKILL.md and 2 other files in skills/suede-parity-contract of JasonColapietro/suede-creator-skills.

  • SKILL.md
  • CARD.md
  • agents/openai.yaml

Open the folder on GitHubat commit e5f94d7

Compare with similar skills

Suede Parity Contract 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.

Suede Parity Contract compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Suede Parity Contract this skillJasonColapietro/suede-creator-skills127—~2.1kAutomated safety check: PassMIT
Site ArchitectureAvdLee/RocketSimApp80611 repos~3.3kAutomated safety check: PassCustom licence
App Store Optimizationalirezarezvani/claude-skills28k1 repos~4.2kAutomated safety check: PassMIT
Asoarnabbagxd/Brand-building-skills729—~2.4kAutomated safety check: PassMIT
Metadata Optimizationappeeky/aso-skills2.2k—~1.5kAutomated safety check: PassMIT
Commit PRsamuelclay/NewsBlur7.6k—~4.1kAutomated safety check: PassMIT

Similar skills

  • Site Architecture

    AvdLee/RocketSimApp

    When the user wants to plan, map, or restructure their website's page hierarchy, navigation, URL structure, or internal linking.

    806 GitHub starsUsed in 11 repos~3.3k tokens
    Marketing & SEOAuto-check passed
  • App Store Optimization

    alirezarezvani/claude-skills

    App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store.

    28k GitHub starsUsed in 1 repo~4.2k tokens
    Marketing & SEOAuto-check passed
  • Aso

    arnabbagxd/Brand-building-skills

    Optimize an app's store listing for maximum visibility and downloads — keyword strategy, title and subtitle optimization, screenshots, preview videos, rating and review management, and A/B testing…

    729 GitHub stars~2.4k tokensUpdated 4 mo ago
    Marketing & SEOAuto-check passed
  • Metadata Optimization

    appeeky/aso-skills

    When the user wants to optimize App Store metadata — title, subtitle, keyword field, or description.

    2.2k GitHub stars~1.5k tokensUpdated 4 days ago
    Media & CreativeAuto-check passed
  • Commit PR

    samuelclay/NewsBlur

    A skill your agent uses when the user runs /commit-pr, says "commit and push", "open a PR", "ship this", asks to update an existing PR with new changes, or asks to resolve PR review comments in the…

    7.6k GitHub stars~4.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Measures a code port between languages or frameworks with jscpd's function-level comparison, porting tests before code and tracking what is left unmatched.

    6.4k GitHub stars~5k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from JasonColapietro/suede-creator-skills

All 78 skills in this repo
  • Suede Release Linter

    JasonColapietro/suede-creator-skills

    Lints a local music or media release folder and scores its readiness, flagging missing files, weak metadata, artwork and stem problems, split gaps and rights blockers.

    127 GitHub stars~2.3k tokensUpdated yesterday
    Auto-check: notes
  • Creator Rights Passport

    JasonColapietro/suede-creator-skills

    Turns messy creator materials into an offline rights-and-provenance transfer package: hashed asset inventory, intake manifest, credits, license notes and a missing-information report.

    127 GitHub stars~3.7k tokensUpdated yesterday
    Auto-check: notes
  • Suede Clip to Guide

    JasonColapietro/suede-creator-skills

    Turns a video clip, interview moment or transcript into a package that bridges viewers to a long-form guide, with rights, claim and approval gates along the way.

    127 GitHub stars~4.1k tokensUpdated yesterday
    Auto-check passed
  • Suede MCP Release QA

    JasonColapietro/suede-creator-skills

    Checks a Suede AI MCP server release against a live process: the full JSON-RPC lifecycle, schemas, annotations, malformed input, catalog agreement and install docs.

    127 GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed
  • Android App Factory

    JasonColapietro/suede-creator-skills

    Takes a native Android app from product idea to Google Play release, covering Compose architecture, policy checks, privacy, billing, testing, signing and rollout.

    127 GitHub stars~2.6k tokensUpdated yesterday
    Auto-check passed
  • Suede Ad Creative

    JasonColapietro/suede-creator-skills

    Suede-owned paid-media creative system for hooks, headlines, primary text, static and motion concepts, platform specs, review pages, and test-ready variant batches.

    127 GitHub stars~5k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Suede Parity Contract

What does Suede Parity Contract do?

Suede Labs cross-surface canon discipline: hold one canonical answer across every surface that states it (web, iOS, Android, docs, a second service) by generating a contract from the reference…. Suede Parity Contract is an agent skill from JasonColapietro/suede-creator-skills. Suede Labs cross-surface canon discipline: hold one canonical answer across every surface that states it (web, iOS, Android, docs, a second service) by generating a contract from the reference surface and making the others assert against it, so a divergence fails a test instead of reaching a user or an answer engine.

When should I use Suede Parity Contract?

Suede Parity Contract fits situations like: stated fact lives on two; values are copied by hand out of a handoff; two surfaces already disagree; auditing where they drifted.

How do I install Suede Parity Contract in Claude Code?

Run `npx skills add JasonColapietro/suede-creator-skills --skill suede-parity-contract -a claude-code`. Or copy the skill folder (skills/suede-parity-contract in JasonColapietro/suede-creator-skills) into .claude/skills/suede-parity-contract in your project. Claude Code loads it when a task matches its description.

How do I install Suede Parity Contract in Codex?

Run `npx skills add JasonColapietro/suede-creator-skills --skill suede-parity-contract -a codex`. Or copy the skill folder (skills/suede-parity-contract in JasonColapietro/suede-creator-skills) into .agents/skills/suede-parity-contract in your project. Codex loads it when a task matches its description.

Can I use Suede Parity Contract 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 JasonColapietro/suede-creator-skills --skill suede-parity-contract -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/suede-parity-contract, .gemini/skills/suede-parity-contract, .github/skills/suede-parity-contract and .opencode/skills/suede-parity-contract in your project.

What does Suede Parity Contract need to run?

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

Does Suede Parity Contract 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 Suede Parity Contract 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 Suede Parity Contract use?

Suede Parity Contract is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Suede Parity Contract use?

About 2.1k tokens (SKILL.md is roughly 8.2k 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 Suede Parity Contract?

Skills that share tags, products or a category with Suede Parity Contract: Site Architecture (AvdLee/RocketSimApp, 806 stars), App Store Optimization (alirezarezvani/claude-skills, 28k stars), Aso (arnabbagxd/Brand-building-skills, 729 stars) and Metadata Optimization (appeeky/aso-skills, 2.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Suede Parity Contract?

JasonColapietro (a GitHub user) maintains it in JasonColapietro/suede-creator-skills, which has 127 GitHub stars. The repository holds 78 skills in this directory. The repository was last updated on October 10, 2026.

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