create-contract-python

create-contract-python is a skill for Claude Code, Codex from rakaarwaky/qwen-web-arwaky. It costs 44 tokens per session (647 once invoked), scanned A, original, MIT.

A Python file pattern for abstract contracts: definitions of what protocols and aggregates must provide, without implementing their behavior. An abstract contract is a documented promise that other code must fulfill.

In plain words
What is it for?
Use it to define protocol contracts for capabilities and aggregate contracts for agents and interface layers, with typed methods and shared value objects.
Why use it?
It lets different parts of the application depend on stable interfaces instead of concrete implementations, reducing unwanted layer connections.

Skill for Claude CodeCodex

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/rakaarwaky/qwen-web-arwaky/create-contract-python
Any agent
npx skills add rakaarwaky/qwen-web-arwaky --skill create-contract-python
Clone the repo
git clone --depth 1 https://github.com/rakaarwaky/qwen-web-arwaky

Made for: Claude Code, Codex.

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 create-contract-python

README.md
[![agentmods](https://agentmods.dev/badge/skills/rakaarwaky/qwen-web-arwaky/create-contract-python.svg)](https://agentmods.dev/skills/rakaarwaky/qwen-web-arwaky/create-contract-python)
Your own site
<a href="https://agentmods.dev/skills/rakaarwaky/qwen-web-arwaky/create-contract-python"><img src="https://agentmods.dev/badge/skills/rakaarwaky/qwen-web-arwaky/create-contract-python.svg" alt="Measured on agentmods" height="20"></a>
Per session 44 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 647 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. 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.00044 $0.00647
Opus 5 $0.00022 $0.00324
Sonnet 5 $0.00009 $0.00129
Haiku 4.5 $0.00004 $0.00065

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

Security

Grade A, and why

create-contract-python 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 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.

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.

.agents/skills/create-contract-python/SKILL.md · 90 lines

What it actually says

create-contract-python

Contract = pure ABC definitions. No implementation. File: contract_<concept>_<suffix>.py.

Allowed imports: taxonomy types, other contract types. Forbidden: capabilities, agents, surface, root.

Contract Roles

Suffix Implemented By Used By
_protocol Capabilities Agent
_aggregate Agent Surface

Naming: I<Name>Protocol, I<Name>Aggregate.

Rules

  • ABC class only — @abstractmethod, body is ... or pass.
  • No private helper signatures.
  • All methods type-annotated.
  • Inherit abc.ABC.
  • Signatures use shared VOs — no str/int/float/list[str]/dict for domain values.
  • bool allowed for semantic toggles only.
  • Register in shared __init__.py.

Templates

Protocol ABC

from abc import ABC, abstractmethod
from shared.<domain>.taxonomy_<name>_vo import <VO>


class I<Name>Protocol(ABC):
    @abstractmethod
    def method_name(self, param: <VO>) -> None: ...

Aggregate ABC

from abc import ABC, abstractmethod
from shared.<domain>.taxonomy_<name>_vo import <VO>


class I<Name>Aggregate(ABC):
    @abstractmethod
    def execute(self, request: ScanRequest) -> list[LintResult]: ...

Workflow

  1. Which layer implements this? Capabilities → _protocol. Agent → _aggregate.
  2. Golden Rule: only methods called by outer layers go in the contract.
  3. Create contract_<concept>_<suffix>.py in shared domain.
  4. Register in __init__.py.
  5. python -c "import <module>".

Checklist

  • Correct suffix _protocol or _aggregate.
  • Only @abstractmethod definitions — no implementations.
  • All methods type-annotated; inherit abc.ABC.
  • No imports from capabilities, agents, surface.
  • Signatures use shared VOs.
  • Registered in shared __init__.py.
  • python -c "import <module>" passes.
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 · 90 lines · 44 tokens per session scan A eb5197c45023

Subscribe to this mod's changes

create-contract-python is a skill published in the GitHub repository rakaarwaky/qwen-web-arwaky (11 stars, last pushed today), licensed MIT. It adds 44 tokens to every session and 647 once invoked, about $0.0002 per session on Opus 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-08-30.

Related

Other skills, from other repositories

azsdk-common-pipeline-analysis

Analyze Azure SDK CI/CD pipeline failures into a structured diagnosis, and define the required output format. Load this skill before calling azsdkanalyzepipeline, which returns raw failure data that this skill interprets and formats. USE FOR: "pipeline failed", "build failure", "CI check failing", "tests failing in…

Azure/azure-sdk-for-net · 192 tokens

requirements-author

Requirements authoring guide for BRD and PRD across Discover, Define, and Govern with canonical templates and handoff contracts.

microsoft/hve-core · 27 tokens

mps-aspect-actions

Use when defining or editing MPS node factories (the "actions" aspect) — NodeFactories roots, per-concept NodeFactory setup functions that initialize a freshly created node and optionally copy data from a replaced sampleNode, plus the actions aspect's CopyPasteHandlers and PasteWrappers roots. Reach for this skill…

JetBrains/MPS · 115 tokens

devtools-event-client

Create typed EventClient for a library. Define event maps with typed payloads, pluginId auto-prepend namespacing, emit()/on()/onAll()/onAllPluginEvents() API. Connection lifecycle (5 retries, 300ms), event queuing, enabled/disabled state, SSR fallbacks, singleton pattern. Unique pluginId requirement to avoid event…

TanStack/devtools · 79 tokens

api-design

REST/GraphQL/gRPC API design best practices. Use when designing APIs, defining contracts, handling versioning. Covers OpenAPI 3.2, GraphQL Federation, gRPC streaming.

majiayu000/spellbook · 42 tokens

crypto-market-rank

Crypto market rankings and leaderboards. Query trending tokens, top searched tokens, Binance Alpha tokens, tokenized stocks, social hype sentiment ranks, smart money inflow token rankings, top meme token rankings from Pulse launchpad, and top trader PnL leaderboards. Use this skill when users ask about token rankings…

tradecatlabs/tradecat-public · 85 tokens