Agent Skillsmtarcure/claude-vibe-squad › interface-ambiguity-check

interface-ambiguity-check

GitHub

在实现外部接口前,通过检查清单明确边界语义、消除假设歧义。要求对类型、错误处理等关键属性进行文档化或观测验证,并将残留风险显式记录,防止因误解导致集成失败。

.agents/skills/interface-ambiguity-check/SKILL.md mtarcure/claude-vibe-squad

Trigger Scenarios

实现他人编写的API或协议 组件间集成缺乏明确合同 接口规范存在模糊或未说明的行为

Install

npx skills add mtarcure/claude-vibe-squad --skill interface-ambiguity-check -g -y
More Options

Non-standard path

npx skills add https://github.com/mtarcure/claude-vibe-squad/tree/main/.agents/skills/interface-ambiguity-check -g -y

Use without installing

npx skills use mtarcure/claude-vibe-squad@interface-ambiguity-check

指定 Agent (Claude Code)

npx skills add mtarcure/claude-vibe-squad --skill interface-ambiguity-check -a claude-code -g -y

安装 repo 全部 skill

npx skills add mtarcure/claude-vibe-squad --all -g -y

预览 repo 内 skill

npx skills add mtarcure/claude-vibe-squad --list

SKILL.md

Frontmatter
{
    "name": "interface-ambiguity-check",
    "audience": "specialist",
    "description": "Use before implementing against an API, schema, file format, or contract you did not author, especially when units, null\/empty\/absent behavior, ordering, errors, retries, or idempotency are unstated—pin each load-bearing assumption with documentation, observed producer\/consumer behavior, or a probe. Use requirements elicitation for an unclear stakeholder goal; this check resolves a concrete boundary’s semantics."
}

Interface Ambiguity Check

Two parties meeting at a boundary each hold a private interpretation of it. Before writing code against an interface, make every load-bearing assumption explicit, classify it as documented, observed, or guessed — and eliminate the guesses.

When to use

  • Implementing against an API, schema, TSV/JSON format, function signature, or protocol authored by someone else (including a past task).
  • Two independently-built components are about to integrate.
  • A packet says "integrate with X" or "consume Y's output" without a contract document.

Inputs

  • The interface artifact: schema, header row, signature, endpoint doc, example payload.
  • Real producer/consumer behavior: actual payloads, actual call sites, the parser's source.

Steps

  1. List every element crossing the boundary: each field, parameter, return value, status code, file, and side effect.
  2. Run each element through the ambiguity battery: type and units; required vs optional; null vs empty vs absent; ordering and uniqueness guarantees; case, encoding, and delimiter rules; error signaling (exception, code, sentinel, silence); idempotency and retry semantics; which side validates; versioning and evolution rules.
  3. Classify each answer: documented (cite where), observed (cite the real payload, call site, or parser line you inspected), or assumed (unpinned).
  4. Pin every load-bearing assumption: read the counterpart's source, inspect a real sample, or run a cheap probe. When the boundary's owner must decide — surface the question (in a packet context: ## NEEDS FROM CHRONO, or blocked per specialist rules) instead of implementing a guess whose wrong answer is expensive to unwind.
  5. When documentation and observed behavior disagree, the observed behavior wins for implementation — and the disagreement itself is a finding to report, not to silently absorb.
  6. Encode pinned answers where the machine can hold them: a strict parser, an assertion, a test that uses a real captured sample rather than a hand-invented one.
  7. Record deliberately unpinned residuals as named risks in the artifact, with the trigger that would surface each.

Outputs

  • A boundary table: element → answer → evidence class → citation.
  • Enforcement in code or tests for the answers that matter.
  • An explicit residual list; an empty one is a claim, not a default.

Failure modes

  • Happy-path sampling — pinning semantics from one well-formed example; the ambiguity lives in the edge rows.
  • Doc trust over behavior — implementing what the doc says while the parser does otherwise; drift between them is common and directional.
  • Convenient interpretation — resolving ambiguity toward whichever reading is easiest to implement, silently.
  • Symmetric-serialization assumption — assuming what one side writes is exactly what the other side accepts.
  • Over-asking — escalating questions the artifact itself answers; questions spend operator attention, so exhaust steps 4–5's evidence paths first.

Worked example

A task must add rows to a lane-scoped TSV registry. Ambiguity battery on the lanes column: is the delimiter comma, pipe, or either? Is all a literal lane name or a wildcard? Documentation is silent. Observed: the consuming parser splits with re.split(r"[|,]", ...) and expands all to the full lane set — both cited by file:line in the artifact. The answers are enforced by running the downstream validator over the new rows rather than trusting the reading. Residual recorded: unknown lane tokens are silently dropped by the intersection with the known-lane set, so a typo in lanes fails open — flagged as a risk, not fixed, since the parser is out of scope.

Acceptance

  • Every boundary element appears in the table with an evidence class.
  • No load-bearing element remains classified assumed.
  • Doc-vs-behavior disagreements are surfaced explicitly.
  • Pinned answers are machine-enforced where feasible; residuals are named with triggers.

Version History

  • d5262e2 Current 2026-09-11 11:16

Same Skill Collection

.agents/skills/accessible-media-authoring/SKILL.md
.agents/skills/agent-prompt-engineering/SKILL.md
.agents/skills/agentic-safety-audit/SKILL.md
.agents/skills/audio-event-map-authoring/SKILL.md
.agents/skills/auto-scaffold/SKILL.md
.agents/skills/claim-verification/SKILL.md
.agents/skills/code-reachability-audit/SKILL.md
.agents/skills/code-review-loop/SKILL.md
.agents/skills/color-theory/SKILL.md
.agents/skills/conversation-design/SKILL.md
.agents/skills/copy-refinement/SKILL.md
.agents/skills/cross-file-relationship-synthesis/SKILL.md
.agents/skills/dependency-cycle-audit/SKILL.md
.agents/skills/dependency-health-triage/SKILL.md
.agents/skills/detection-as-code/SKILL.md
.agents/skills/diff-aware-semgrep-scan/SKILL.md
.agents/skills/differential-review/SKILL.md
.agents/skills/dimensional-analysis-check/SKILL.md
.agents/skills/dual-level-retrieval/SKILL.md
.agents/skills/figma-implement-design/SKILL.md
.agents/skills/forensic-timeline-authoring/SKILL.md
.agents/skills/game-design-fundamentals/SKILL.md
.agents/skills/game-mechanics-balancing/SKILL.md
.agents/skills/head-tail/SKILL.md
.agents/skills/incident-response-runbook/SKILL.md
.agents/skills/interactive-audio-design/SKILL.md
.agents/skills/keyword-clustering/SKILL.md
.agents/skills/knowledge-base-integration/SKILL.md
.agents/skills/layered-analysis-loop/SKILL.md
.agents/skills/level-design-patterns/SKILL.md
.agents/skills/locale-adaptation/SKILL.md
.agents/skills/narrative-structure/SKILL.md
.agents/skills/platform-compliance/SKILL.md
.agents/skills/player-engagement-psychology/SKILL.md
.agents/skills/requirements-elicitation/SKILL.md
.agents/skills/rule6-rights-gate/SKILL.md
.agents/skills/rule8-truth-gate/SKILL.md
.agents/skills/sandbox-provision-discipline/SKILL.md
.agents/skills/scope-decomposition/SKILL.md
.agents/skills/scope-estimation/SKILL.md
.agents/skills/security-ownership-map/SKILL.md
.agents/skills/security-threat-model/SKILL.md
.agents/skills/semgrep-rule-author/SKILL.md
.agents/skills/skill-description-trigger-authoring/SKILL.md
.agents/skills/sound-design-principles/SKILL.md
.agents/skills/structured-data-authoring/SKILL.md
.agents/skills/supply-chain-audit/SKILL.md
.agents/skills/take-over-resume/SKILL.md
.agents/skills/technical-seo-audit/SKILL.md

Metadata

Files
0
Version
d5262e2
Hash
86f0bda6
Indexed
2026-09-11 11:16

Home - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-13 05:02
浙ICP备14020137号-1 $Map of visitor$