Communitygithub.com

grahama1970/验收合同

将客户简报、压缩包、目录或单个需求文件转化为类型化的验收合同包,包含提取的需求、验收检查、未决问题、不可变目标草稿以及基于 create-report 的决策报告。当用户提及验收合同、将简报转为需求、冻结目标、创建不可变目标、修改不可变目标、构建 Battle 需求包或从此包中提取需求时使用。

验收合同 是什么?

验收合同技能(acceptance-contract)旨在将非结构化输入——如客户简报、工单、电子邮件、README、压缩包或证据文件——转化为结构化的、可执行的验收条件,供实现阶段使用。它通过一个名为 `ensure` 的机械守卫,验证现有的 `acceptance_bundle.json`,在缺少时自动提取,并在源包内容发生变更时失败关闭,确保实现工作始终基于冻结的、经过批准的合同。该技能输出包括 pydantic 验证的需求捆绑包(JSON)、生成报告(JSON 和 Markdown)以及不可变目标草案(或修改建议)。它支持 `extract`、`ensure`、`validate` 和 `status` 等子命令,默认拒绝使用仓库根目录作为输入,以防止实现文件意外成为验收来源。对于高风险的客户简报,还支持第二道 `$ask` 圆桌评审流程,包含 WebGPT 专家审核,以确保合同完整、正确,涵盖类型化标量、边界条件和失效模式。该技能在 oai-trial 和 Battle 平台上经过实际验证,能够有效预防因代码形状的测试替代真实客户需求而导致的失败。

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

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

验收合同 是做什么的?

在实现之前,当简报、工单、电子邮件、README、压缩包或证据文件需要转化为可执行的验收标准时使用。

实现工作的第一条命令:

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

ensure 是机械守卫:它验证已有的 acceptance_bundle.json,在缺少时自动提取,并在所提供的源包自冻结合同编写以来发生变更时闭失败。其 JSON 收据包含一个 acceptance_contract.progress.v1 计量器,包含 percent、checks、outstanding 和 next_steps。在 ensure 返回 status=PASS 且进度计量器指明剩余工作之前,不得从简报实现。

作为输入传入客户简报、压缩包或特意准备的规范目录。CLI 默认拒绝仓库根目录,这样实现文件就不能悄无声息地成为验收来源。仅在人类明确要求全仓库合同时才使用 --allow-repo。

对于高风险客户简报,在实现前对简报/压缩包加上 acceptance_bundle.json 运行第二道 $ask 圆桌评审。当 WebGPT 可用时将其作为评审者之一加入。直接询问:“这些合同需求是否正确,我们是否遗漏了什么?”要求评审者检查冻结的合同中是否缺少任何客户义务,特别是表示类、类型化值、边界条件和失去资格故障模式。评审是建议性证据;确定性门控仍然拥有 PASS/FAIL 的所有权。oai-trial 评审发现,类型化标量覆盖也必须要求典范等价:格式化的策略字符串、纯数字标量、十进制形式、科学记数法和 SQLite 数值不能是彼此独立的验收宇宙。

功能说明

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

输出:

  • acceptance_bundle.json — pydantic 验证的真相源
  • acceptance_report.json — create_report.report.v1 JSON
  • acceptance_report.md — 通过 $create-report 渲染
  • IMMUTABLE_GOAL.draft.md — 目标草稿文本或修改建议

命令:

  • extract 始终根据所提供的源编写全新的草稿包/报告。
  • ensure 验证或创建冻结的包,并拒绝过期的源哈希。
  • validate 仅验证已有的 acceptance_bundle.json 并打印进度计量器。
  • status 读取已有的 acceptance_bundle.json 并仅打印机器可读的进度计量器。

目标策略

默认行为是草稿,不修改。

  • --goal-mode create 写入一个新的不可变目标草稿。
  • --goal-mode amend 写入一个修改建议,而非静默编辑。
  • --goal-mode none 提取需求而不生成目标文本。

真正的不可变目标应在人类批准后才创建或修改。此规则存在是因为当以实现定义的测试代替客户简报时,oai-trial 失败了。

边界

此技能从提供的本地文件中提取清晰的、有源可查的需求。当源包存在歧义时,它不声明提取的合同是完整的。歧义会变成 open_questions[] 和一份“需要更改”的报告。默认拒绝仓库根目录,因为当代码形状的检查代替了交付的简报时,oai-trial 失败了。

对于 Battle,将生成的 acceptance_bundle.json 作为竞技场 acceptance_floor 传递,并将每个 acceptance_cases[].id 映射到 Battle 活动配置文件中 required_case_ids 中的一个或多个生成器案例 ID。这些映射案例是合同底线,在授予模糊测试或超越合同攻击的信用之前必须通过。不要让 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.

相关技能