git clone --depth 1 https://github.com/modu-ai/moai-adk /tmp/moai-workflow-docs-claim-check && cp -r /tmp/moai-workflow-docs-claim-check/.claude/skills/moai-workflow-docs-claim-check ~/.claude/skills/moai-workflow-docs-claim-checkSKILL.md
# Documentation Claim Check
Assess whether the statements a public-facing document makes are actually
supported by the evidence supplied alongside it. The assessment reads, judges,
and reports. It changes nothing and runs nothing.
Typical subjects: a README, a release note, an install guide, a quickstart, a
migration note, a feature or compatibility table.
## Hard boundaries
Three boundaries are absolute. They hold even when the request asks for more;
in that case perform the assessment and decline the rest in Boundary Notes.
1. **No command execution.** Do not run builds, tests, package managers,
linters, network requests, or any shell command as part of the assessment.
When a claim can only be settled by running something, **name** the exact
command and the file it should run against and label the claim
`needs-human`. Naming the command is the deliverable; running it is not.
2. **No fixes.** Do not produce patches, diffs, rewritten passages, or file
edits. Describe what a maintainer would change and where, then stop.
3. **No code review and no security review.** Do not assess code quality,
architecture, performance, or vulnerabilities. If asked, state the boundary
in Boundary Notes and continue with the claim assessment only.
Opening the files the user pointed at, to locate the evidence they supplied, is
in scope — that is reading, not executing.
## Phase 1 — Preflight
Complete all three steps before triaging a single claim. If a step cannot be
completed, report that and stop rather than guessing.
1. **Confirm the document is public-facing.** This skill judges documents
written for users of the software: README, release notes, install and usage
guides, published site pages. Internal design notes, task trackers, and
private runbooks are out of scope — say so and stop.
2. **Inventory the supplied evidence.** For every item record what it is, where
it came from, its **version** identifier, and its **timestamp**. An item with
neither is still usable, but record it as undated: it cannot later support a
freshness judgment.
3. **Flag secrets for redaction before proceeding.** Scan the supplied evidence
for credentials, tokens, private keys, connection strings, and personal
data. On a hit, flag the location for redaction, never reproduce the secret
in any output, and continue only once a redacted copy is available.
## Phase 2 — Claim Triage
Turn the document into an inventory of atomic claims.
**Extract.** Walk the document and pull out every statement that asserts
something checkable about the software: supported platforms and versions,
install and usage steps, defaults, limits, guarantees, availability, counts.
**Decompose composite claims.** A composite claim bundles several
independently-checkable assertions into one sentence. Split it so that **each
atomic claim carries exactly one assertion and therefore receives exactly one
label**. A sentence that would otherwise need two labels is not yet atomic.
> "Installs with a single command on macOS and Linux" splits into three atomic
> claims: single-command install, macOS support, Linux support. Each is
> evidenced — and can fail — independently.
**Set aside the subjective.** Statements of taste or ambition ("fast",
"developer-friendly", "production-grade") cannot be checked against evidence.
Exclude them from labeling and list them under Input Scope Reviewed with a
one-line reason. When a subjective adjective wraps a checkable core, split it:
label the core, exclude the adjective.
**Bind evidence.** For each atomic claim, note which supplied evidence items
bear on it — or record that none does.
## Phase 3 — Validation
Assign **exactly one** label to every atomic claim by walking the ordered
decision tree. Stop at the first gate that fires; do not re-open an earlier gate.
```
needs-human -> stale-suspected -> verified -> unsupported
```
| Label | Gate condition |
|-------|----------------|
| `needs-human` | Settling the claim requires something outside this skill: running a command, reaching a private system, exercising a UI, or a call only a maintainer can make. |
| `stale-suspected` | Evidence indicates the claim was true earlier, but current evidence disagrees on a version, date, count, or name. A temporal mismatch, not a contradiction of substance. |
| `verified` | Supplied evidence directly supports the claim and the supporting item can be named. |
| `unsupported` | None of the above fired: the evidence does not carry the claim. |
`unsupported` always carries **exactly one** reason:
| Reason | Meaning |
|--------|---------|
| `missing-evidence` | No supplied evidence speaks to the claim at all. |
| `contradicted` | Supplied evidence asserts the opposite. |
| `insufficient-coverage` | Evidence is on-topic but narrower than the claim — one platform of three, one version of a declared range, one path of several. |
Anchoring rules: every `verified` names its evidence anchor; every
`stale-suspected` names the mismatched field and both values; every
`needs-human` names the command or file that would settle it; every
`unsupported` carries its reason.
Gate criteria in full, tie-breaks between adjacent gates, and a claim-type
table live in `references/label-decision-tree.md`. Worked end-to-end
assessments live in `references/worked-examples.md`.
## Output contract
Emit exactly these three sections, in this order, every time — including when
the claim inventory is empty.
### 1. Input Scope Reviewed
- Documents read, with version or date when known.
- Evidence items inventoried, each with version and timestamp (or `undated`).
- Statements excluded as subjective, each with a one-line reason.
- Evidence that was needed but **not** supplied, named specifically.
### 2. Claim Assessments
One row per atomic claim:
| # | Atomic claim | Label | Reason | Evidence anchor or what is missing |
|---|--------------|-------|--------|------------------------------------|
`Reason`Claude Code upstream change tracker -> moai-adk update plan + docs sync workflow (dev-only). Tracks new CC release notes, classifies changes by impact tier, cross-references official docs, generates update plan at .moai/research/ or .moai/specs/, and synchronizes docs-site 4-locale + README. NOT distributed to user projects.
GitHub Workflow - Manage issues and review PRs with Agent Teams (dev-only). NOT distributed to user projects.
MoAI-ADK production release via Enhanced GitHub Flow (CLAUDE.local.md §18). Creates release/vX.Y.Z branch, version bump, CHANGELOG (bilingual), PR to main, merge commit (NOT squash), then scripts/release.sh for tag + GoReleaser. Hotfix support via --hotfix flag. All git operations delegated to manager-git. Quality failures escalate to expert-debug. NOT distributed to user projects (dev-only).
Run the 7-phase /moai brain ideation workflow to convert ideas into validated proposals
Identify and safely remove dead code with test verification
Scan codebase and generate architecture documentation in codemaps/
Analyze test coverage, identify gaps, and generate missing tests
Hybrid design workflow — Claude Design import (path A) or code-based brand design (path B)