Skip to content
Agentmart
Submit a tool

convergence-check

Check that a completed change tells one consistent story across request, behaviour specification, architecture knowledge, implementation, tests, and delivery…

Skill by docs-as-code-toolkit

IndexedMIT★ 4
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/docs-as-code-toolkit-convergence-check

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Check that a completed change tells one consistent story across request, behaviour specification, architecture knowledge, implementation, tests, and delivery metadata, and report converged, converged with recorded waivers, not converged, or blocked. Use before declaring a pull request mergeable, before treating an implementation issue as complete, when asked whether a change is done, or when issues, specs, architecture documentation and code may have drifted apart.

Use cases: documents

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/convergence-check

What's inside

Skill name
convergence-check
Description
Check that a completed change tells one consistent story across request, behaviour specification, architecture knowledge, implementation, tests, and delivery metadata, and report converged, converged with recorded waivers, not converged, or blocked. Use before declaring a pull request mergeable, before treating an implementation issue as complete, when asked whether a change is done, or when issues, specs, architecture documentation and code may have drifted apart.
License
MIT
Instructions
232 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Convergence Check

## Purpose

A change is finished when its artifacts agree. Each one is reviewed on its own —
the issue at refinement, the scenario at specification, the ADR at decision, the
diff at review — and nothing looks across them at the end. Drift between two
individually correct artifacts is what this check exists to find.

It is a **gate**, not a phase. It adds no work of its own: it inspects what the
other skills already produced and reports whether it holds together.

## What it is not

- **Not a demand that artifacts say the same thing.** They sit at different
  abstraction levels and are supposed to. An issue states intent, a scenario
  states behaviour, an ADR states a decision and its cost. Convergence means no
  contradiction and no missing mandatory evidence, not repetition.
- **Not a repair tool.** A failed check produces findings and follow-up actions.
  It must never rewrite an accepted requirement, soften a recorded decision, or
  retarget a relation in order to make the artifacts agree. Making the evidence
  fit the conclusion is the failure this check is supposed to catch.
- **Not proof.** Only the deterministic tier proves anything. See
  "Automation boundary".

## When to run it

At least once, at the end:

- before a pull request is declared mergeable, and
- before an implementation issue is treated as complete.

Running it earlier is fine and cheap, but an early pass is not a result: the
artifacts it inspects are not all final yet.

## Every question must be able to fail

Before answering a question, know what evidence would make it fail for **this**
change. A question that cannot fail here is **not applicable**, and it is
reported as such.

Do not report a question as passed when it never had a way to fail. That is the
same defect as a scenario written to be green against unfixed code: a guard with
no failure path is worse than an absent guard, because it reads like coverage.

**Not applicable is not the same as blocked.** A question is *not applicable*
when it has no bearing on this change — nothing touched the deployment view, so
there is nothing there to contradict. It is an *unavailable blocker* when it does
bear on the change but cannot be answered at this layer. The first needs no
follow-up; the second does. See "Every blocker names its kind".

## The seven questions

### 1. Intent and scope

- Does the implemented change still match the Epic or UserStory it came from?
- Is every scope change reflected in the issue and the specification, rather
  than only in the diff?

### 2. Behaviour

- Is every added or changed observable behaviour described by a Gherkin
  scenario, or covered by an explicit recorded waiver?
- Is each scenario mapped to at least one automated verification under the
  bridge convention?
- Does any implemented edge case contradict the specification?

`../bdd-specification/SKILL.md` owns these rules. This check asks whether they
were met; it does not restate what a scenario or a bridge must look like.

### 3. Architecture impact

- Were the affected boundaries, components, interfaces, dependencies, runtime
  interactions, deployment elements, quality attributes, risks and constraints
  assessed?
- Were only genuinely affected architecture artifacts changed? Collateral
  updates to unaffected documents are a finding, not tidiness.

`../architecture-impact/SKILL.md` owns the assessment.

### 4. Decisions

- Are conflicts with existing ADRs resolved rather than left implicit?
- Is every architecture-significant decision recorded as an ADR, instead of
  living only in code or pull request discussion?
- Are the decisions that still need a human explicit?

Apply the proportionality rule from `../adr/SKILL.md`: a decision that does not
warrant an ADR is not a finding, and a missing ADR for a decision that does is.

### 5. Traceability

- Can the path from Epic or UserStory through specification and architecture
  impact to implementation, tests and pull request be followed?
- Are the authoritative outgoing relations valid, and were the derived views
  regenerated?

`../traceability-review/SKILL.md` owns relation review.

### 6. Implementation and verification

- Do code and configuration implement the specified behaviour and the recorded
  decisions?
- Do the relevant tests, validators, generators, render checks and builds pass?
- Are unavailable checks and residual risks reported rather than omitted?

### 7. Documentation and delivery state

- Do the issue, the pull request, the source documentation and the code describe
  the same resulting state?
- Are superseded assumptions and stale references removed, or explicitly kept
  with a valid lifecycle status?
- Do deliberately deferred pieces have follow-up issues?

## Automation boundary

Three tiers, and they must not be presented as one.

| Tier | What it is | Examples |

From docs-as-code-toolkit/architecture-knowledge-toolkit, MIT.

More from docs-as-code-toolkit/architecture-knowledge-toolkit

Signals

Stars
4
Forks
2
Open issues
44
Last commit (this folder)
Aug 31, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from docs-as-code-toolkit

Cite this page

convergence-check skill. Agent Mart. https://agentmart.dev/skills/docs-as-code-toolkit-convergence-check (last updated 2026-10-24)