跳到正文
cccskills
免费在 GitHub 公开

verify

Contract document for the binding test verdict file at .claude/state/last_test_result. Format spec for callers (integrate, simplify, chore, the verify-tick worker) that inline the four mechanical operations. Not Skill-tool-invocable.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md4.4 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

verify — contract document for the binding test verdict

This skill is not invocable. Its body is the canonical reference for the .claude/state/last_test_result statefile that the verify_pass_guard hook reads as the single source of truth.

Callers that previously did Skill(verify) (integrate, simplify, chore, the verify-tick worker invoked by harness after a /tdd decomposition) now inline the four mechanical operations described below. There is one statefile format; every caller writes the same bytes.

Statefile format (.claude/state/last_test_result)

<PASS|FAIL>
<ISO-8601 UTC timestamp, e.g. 2026-05-12T18:30:00Z>
<exact command run, verbatim>
<exit code>

Exactly four lines plus a single trailing newline. No preamble, no blank lines, no JSON. The verify_pass_guard hook reads line 1 verbatim — anything that breaks the byte format breaks the gate.

The four mechanical operations a caller performs

  1. Read the command. Open .claude/project.json; extract test.cmd. If absent or empty, the verdict is FAIL with reason "project.json not configured — run /init-project"; skip step 2 and proceed to step 3 with exit code 1 and an empty command string.
  2. Run the command. Execute via Bash from the project root. Capture stdout, stderr, and exit code. Do not retry. Do not pass {file} placeholders — verify always runs the full suite.
  3. Format the four lines. Apply the verdict rules below to decide PASS vs FAIL. Build the four-line string in memory.
  4. Atomically write the statefile. Write the four lines plus trailing newline to .claude/state/last_test_result. Prefer write-then-rename for atomicity when the writer needs guarantees; a direct overwrite is acceptable for non-concurrent callers (the four current callers are sequential).

Verdict rules

  • PASS iff all of: exit code 0 and at least one test executed and no test reported as failed/errored.
  • FAIL otherwise. Specifically: non-zero exit, "0 tests collected", a panic/crash, a timeout (treat as FAIL), a killed process (FAIL), or output that contradicts the exit code (ambiguity is FAIL).
  • If the same FAIL has stamped three or more consecutive times for the same slug, surface a recommendation that the caller invoke the rca skill. (The caller is responsible for noticing repeated failures; verify writes only the current verdict.)

Inline report the caller emits

Callers emit a human-readable report alongside the statefile write (sent to stdout / surface, not to the statefile):

# Verify — <slug or task id>

## Verdict: PASS | FAIL

## Command
`<exact command>`

## Exit code
<N>

## Output tail (last 80 lines)
<raw> ```

Reason (only if FAIL)

<one paragraph> ```

The report's role is human review; the statefile's role is the binding gate.

verify_pass_guard interaction

verify_pass_guard.sh (PreToolUse on Write/Edit/MultiEdit) reads line 1 of .claude/state/last_test_result. When a caller attempts to write a PASS line to a verification artifact and line 1 of the statefile says FAIL, the guard blocks the write. Inlined callers MUST preserve the four-line byte format so the guard's parser keeps working.

Constraints on inlined callers

  • Do not modify source or tests. Inlined verify reads; it never writes outside .claude/state/last_test_result.
  • Do not retry the command. One run, one verdict.
  • State-write discipline (binding — see .claude/CONSTITUTION.md §2 "State-write discipline"). last_test_result is Tier 2 workflow state — not a consent path. Prefer the Write tool for the four-line statefile (write-then-rename when atomicity is needed); if Bash is used, only a shell builtin redirect — never tee or sed -i. The byte format is what verify_pass_guard parses; the tool that writes it is the caller's choice within this rule.
  • Do not synthesize, summarize, or "clean up" test output. Capture raw output for the report; the statefile records the verdict only.
  • A timeout is FAIL. A killed process is FAIL.
  • The truth lives in the statefile. The inline report is for the human; the hook trusts the four-line file.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

archive

免费

Phase 10.5 — move the slug's workflow artifacts (intake, scout, research, spec, approvals, swarm state, security reports, rendered diagrams) to docs/archive/<YYYY-MM-DD>/<slug>/. Runs before /commit so the committed tree is clean of work-in-flight files. workflow.json stays live and gets archived as the first step of /commit.

中文简介正在准备中。当前显示原文说明。

friedbotstudio/baseline142026年10月13日 更新

Drift check between the baseline implementation on disk and the claims in `docs/init/seed.md` + cross-references in CLAUDE.md, README.md, and the rendered docs site. Verifies hook/agent/skill/command names + counts, settings.json wiring, project.json key presence, .mcp.json servers, vendored license files, and helper script presence. Exit 0 PASS / 1 FAIL — suitable for CI. Read-only; safe to invoke any time.

中文简介正在准备中。当前显示原文说明。

friedbotstudio/baseline142026年10月13日 更新

PM-mode brainstorm helper. Captures the requirement via Socratic dialogue before any entry phase (`/intake`, `/spec`, `/tdd`) drafts its artifact. Stage 0 skip-check, Stage 1 gap-analysis, Stage 2 probe-loop, Stage 3 confirm-and-persist. Output lives at `docs/brief/<slug>.md`. Never proposes solutions — Stage 2 dialogue discipline is structurally enforced via `discipline.mjs`.

中文简介正在准备中。当前显示原文说明。

friedbotstudio/baseline142026年10月13日 更新

brd

免费

Draft a Business Requirements Document (BRD) for cross-functional or stakeholder-heavy work that needs more structure than an intake. Use after `/intake` when the request spans multiple systems/teams, carries regulatory weight, or needs formal sign-off. Output lives at `docs/brd/<slug>.md`.

中文简介正在准备中。当前显示原文说明。

friedbotstudio/baseline142026年10月13日 更新

chore

免费

Workflow track for tasks that need no TDD — documentation edits, governance count bumps, vendored-skill content updates, configuration tweaks, formatting, typo fixes, dependency bumps where no project code changes. Skips `/scenario` and `/implement` (no failing test to drive) and runs the work directly. `archive`, `memory-sync`, `/grant-commit`, and `/commit` remain mandatory. `verify`, `simplify`, `integrate`, and `document` are conditional — required when the diff hits one of the listed triggers, optional otherwise. `verify` is skipped only when the diff is pure-docs/prose AND `project.json → test.kind` is `behavior` (absent/invalid `test.kind` → `structural` → verify runs). Chore is a stripped-down pipeline, not a bypass; never silently skip a conditional phase whose triggers apply.

中文简介正在准备中。当前显示原文说明。

friedbotstudio/baseline142026年10月13日 更新

Analyze a codebase and recommend Claude Code automations (hooks, subagents, skills, plugins, MCP servers). Use when user asks for automation recommendations, wants to optimize their Claude Code setup, mentions improving Claude Code workflows, asks how to first set up Claude Code for a project, or wants to know what Claude Code features they should use.

中文简介正在准备中。当前显示原文说明。

friedbotstudio/baseline142026年10月13日 更新

查看 friedbotstudio 的全部技能

报告此技能的问题