Communitygithub.com

acceptance-contract

Transformez un brief client, un bundle zip, un répertoire ou un fichier de spécifications unique en un bundle de contrat d'acceptation typé avec exigences extraites, vérifications d'acceptation, questions ouvertes, un projet de but immuable et un rapport de décision basé sur un rapport généré.

Qu'est-ce que acceptance-contract ?

Cette compétence permet de transformer des spécifications informelles (briefs clients, tickets, emails, README, bundles zip, ou répertoires) en un contrat d'acceptation exécutable et typé, validé par Pydantic. Elle est utile avant toute implémentation pour s'assurer que les critères d'acceptation sont clairs, complets et figés, évitant ainsi les dérives où le code devient la seule référence de ce qui doit être livré. Elle supporte les modes de création, d'amendement ou d'extraction sans but, et produit un bundle `acceptance_bundle.json`, un rapport JSON/Markdown, et un projet de but immuable. La commande `ensure` agit comme un garde mécanique : elle valide que le bundle n'a pas changé depuis sa création, échoue si le source a été modifié, et fournit un compteur de progression (`percent`, `checks`, `outstanding`, `next_steps`). Pour les briefs à haut risque, une revue en table ronde avec WebGPT est recommandée avant implémentation. La compétence refuse par défaut les racines de dépôt pour éviter que les fichiers d'implémentation ne deviennent silencieusement la source du contrat.

Compatible avec~Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/grahama1970/agent-skills/tree/main/skills/acceptance-contract

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait acceptance-contract ?

Utilisez cette compétence avant toute implémentation lorsqu'un brief, un ticket, un email, un README, un bundle zip ou un dossier de preuves doit être transformé en critères d'acceptation exécutables.

Première commande pour le travail d'implémentation :

skills/acceptation-contrat/run.sh ensure <zip|répertoire|fichier> \
  --out /tmp/acceptation-contrat \
  --nom-projet essai-oai \
  --mode-but creer

ensure est le garde mécanique : il valide un acceptance_bundle.json existant, l'extrait automatiquement s'il manque, et échoue en bloc lorsque le bundle source fourni a changé depuis que le contrat figé a été écrit. Son reçu JSON inclut un compteur acceptation_contrat.progress.v1 avec pourcentage, verifications, en_attente et prochaines_etapes. N'implémentez pas à partir d'un brief tant que ensure ne retourne pas statut=REUSSI et que le compteur de progression n'indique pas ce qui reste.

Passez en entrée le brief client, le bundle zip, ou le répertoire de spécifications intentionnellement préparé. La CLI refuse par défaut les racines de dépôt afin que les fichiers d'implémentation ne deviennent pas silencieusement la source d'acceptation. Utilisez --allow-repo uniquement lorsque l'humain demande explicitement un contrat à l'échelle du dépôt.

Pour les briefs clients à haut risque, lancez une revue en table ronde de second niveau $ask sur le brief/zip plus acceptance_bundle.json avant l'implémentation. Incluez WebGPT comme l'un des relecteurs lorsqu'il est disponible. Demandez simplement : "Ces exigences contractuelles sont-elles correctes, et avons-nous oublié quelque chose ?" Exigez que les relecteurs vérifient si une quelconque obligation du client manque dans le contrat figé, en particulier les classes de représentation, les valeurs typées, les conditions limites et les modes de défaillance disqualifiants. La revue est une preuve consultative ; les barrières déterministes restent les arbitres RÉUSSI/ÉCHEC. La revue essai-oai a révélé que la couverture scalaire typée doit également exiger l'équivalence canonique : les chaînes de politique formatées, les scalaires numériques uniquement digitaux, les formes décimales, la notation scientifique et les valeurs numériques SQLite ne peuvent pas être des univers d'acceptation séparés.

Ce qu'il fait

skills/acceptation-contrat/run.sh extraire <zip|répertoire|fichier> \
  --out /tmp/acceptation-contrat \
  --nom-projet essai-oai \
  --mode-but creer

Produit :

  • acceptance_bundle.json — source de vérité validée par Pydantic
  • acceptance_report.json — JSON create_report.report.v1
  • acceptance_report.md — rendu via $create-report
  • BUT_IMMUABLE.projet.md — texte provisoire du but ou proposition d'amendement

Commandes :

  • extraire écrit toujours un nouveau bundle/rapport provisoire à partir de la source fournie.
  • ensure valide ou crée le bundle figé et rejette les hashs de source obsolètes.
  • valider valide uniquement un acceptance_bundle.json existant et affiche le compteur de progression.
  • statut lit un acceptance_bundle.json existant et affiche uniquement le compteur de progression lisible par machine.

Politique de but

Le comportement par défaut est provisoire, pas de mutation.

  • --mode-but creer écrit un nouveau projet de but immuable.
  • --mode-but amender écrit une proposition d'amendement, pas une modification silencieuse.
  • --mode-but aucun extrait les exigences sans texte de but.

Un véritable but immuable doit être créé ou amendé uniquement après approbation humaine. Cette règle existe parce que l'essai-oai a échoué lorsque des tests définis par l'implémentation ont remplacé le brief client.

Périmètre

Cette compétence extrait des exigences claires et sourcées à partir de fichiers locaux fournis. Elle ne prétend pas que le contrat extrait est complet lorsque le bundle source est ambigu. L'ambiguïté devient questions_ouvertes[] et un rapport à modifier. Elle refuse les racines de dépôt par défaut car l'essai-oai a échoué lorsque des vérifications en forme de code ont remplacé le brief livré.

Pour Battle, passez le acceptation_bundle.json résultant comme acceptance_floor de l'arène et mappez chaque cas_acceptation[].id sur un ou plusieurs identifiants de cas générateur dans le profil de campagne Battle via required_case_ids. Ces cas mappés sont le socle contractuel qui doit passer avant que les attaques par fuzz ou hors contrat puissent être créditées. Ne faites pas inventer les exigences par Battle.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

grahama1970/agent-ecosystem

Canonical map and shared contracts for the agent-governance ecosystem: the pi.receipt_envelope.v1 boundary envelope, the component graph, and the rules for which component owns which schema. Use when wiring a skill or extension into the shared receipt world, when asking how shame, triage-error, tau, ask, project-watchdog, ops-herdr, ponytail, and Memory fit together, or when validating an envelope.

grahama1970/agentic-evals

Agentic evaluation of skills using multi-trial fixtures, deterministic command assertions, trajectory checks, safety constraints, and evidence-backed readiness scoring. Use when users ask for agentic evals, multi-trial skill evaluation, skill trajectory validation, or readiness scoring for a skill workflow.

grahama1970/agent-inbox

File-based inter-agent messaging with headless dispatch. Check inbox, send bugs/requests to other projects, automatically spawn headless agents to fix bugs, and track progress via task-monitor.

grahama1970/agents-registry

Generate and query the centralized agent identity registry. Scans .pi/agents/*/AGENTS.md, parses frontmatter, outputs agents-registry.json and optionally syncs to /memory for semantic search.

grahama1970/agent-status

Artifact-driven status surfaces for long-running project-agent work. Maintains status.json, events.jsonl, proof manifests, and a stale-aware STATUS.html so humans can tell where the agent is, what passed, what is still unproven, and what decision or action is next — without dashboard theater.

grahama1970/align

Round-based context alignment before execution. Use when the human, project agent, WebGPT, scillm, ask, dogpile, memory, or project-knowledge may each hold different facts about a task; especially before ambiguous design, infographic, product workflow, high-stakes implementation, plan-iterate, project-infographic, or multi-review work.

grahama1970/analytics

Flexible data science analytics for any dataset. Auto-discovers schema, recommends charts, exports to create-figure. Works with JSONL, JSON, CSV from any source.

grahama1970/analyze-chatterbox-emotions

Evaluate generated Chatterbox voice files as voice-quality artifacts: affect match, arousal/valence proxies, pause placement, intelligibility inputs, clipping, loudness, and discontinuity flags. Use when reviewing Chatterbox emotional tags, pauses, Turbo/base affect delivery, Persona Dream utterance renders, or whether generated speech matches an intended product-facing affect.

grahama1970/analyze-elf

Reverse-engineer features from ELF binaries. Extracts CLI commands, state machines, protocols, Zod schemas, and data models. Automatically generates a /create-walkthrough prosecution brief with Mermaid diagrams. Uses /treesitter for AST analysis of bundled JS/TS source.

grahama1970/animation-vocabulary

Reverse-lookup glossary that turns a vague description of a web animation or motion effect into its exact term ("the bouncy thing when a popover opens" → Pop in; "the iOS rubber-band scroll" → Rubber-banding). Use when the user asks "what's it called when…", or describes a motion effect without knowing its name and wants the right word to prompt an AI or designer with. For naming an effect, not designing or building one.

grahama1970/anonymize-data

Anonymize supported CSV, JSON, UTF-8 text, and SQLite files using an explicit policy through the oai-trial project. Use for anonymize data, pseudonymize exports, redact policy literals, or discover and explicitly approve fuzzy name aliases. The skill is a thin CLI/Docker interface, not another engine.

grahama1970/anvil

Heavy-duty "No-Vibes" debugging and hardening orchestrator. Use this for complex, stubborn bugs where `review-code` has failed, or for "Red Teaming" (hardening) a codebase. Runs multiple agents in parallel (Thunderdome) using git worktree isolation.

grahama1970/apple-design

Apple's approach to interface design and fluid, physical motion, translated for the web. Use when building or reviewing gesture-driven UI, spring animations, drag/swipe/sheet interactions, momentum and interruptible transitions, translucent materials and depth, typography (optical sizing, tracking, leading), reduced-motion, or the design foundations (feedback, spatial consistency, restraint) behind Apple-style interfaces.

grahama1970/argue

Multi-persona structured debate orchestrator. Personas research via /dogpile, consult colleagues via /ask, and argue toward nuanced synthesis on complex questions.

grahama1970/arxiv

Search arXiv for papers and extract knowledge into memory. Use `search` to find papers, `learn` to extract knowledge.

grahama1970/ask

Use when the user asks to query project memory, ask an oracle, use supported browser-backed reviewers, run Tau roundtable/single-handler workflows, ask Pi-native subagents from within Pi, run persona/deep-review workflows, generate image prompts, check OS/project health through composed skills, or run an ask DAG. This skill is the executable /ask runtime; do not replace it with an informal subagent, plain web search, or hand-written review; inside Pi, explicit Pi-native subagent targets are routed through the pi-subagents tool as an Ask target type.

grahama1970/assess

Step back and critically reassess project state. Use when asked to "assess", "step back", "fresh eyes", "check alignment", "sanity check", "health check", "prune documentation", or "evaluate what's working". Offers documentation pruning and doc-code alignment analysis. Offer to run after major changes (don't auto-run).

grahama1970/assistant

Shared GPT + classifier inference gateway for persona monitor tasks. Routes validation and classification through a 4-tier cascade: heuristic → classifier → local GPT → scillm.

grahama1970/assistant-lab

Self-improvement workbench for /assistant. All the tools needed to diagnose, train, evaluate, and promote models in a continuous loop. The "warm pond" where /assistant evolves its own inference stack.

grahama1970/batch-quality

Pre-flight validation and quality gates for batch LLM operations. ACTUALLY tests samples through LLM before burning tokens. Uses SPARTA contracts for DuckDB validation queries. Integrates with task-monitor for enforced quality gates.

Skills associés