Best for
- Use when verifying impl matches spec (PRD/SRS/AC) or producing machine-adjudicated conformance proof for a PR.
simota/agent-skills/attest/SKILL.md
Verifying spec compliance by extracting ACs from specs, adversarially checking implementation conformance, and generating BDD scenarios, traceability matrices, and evidence-based compliance reports. No code. Use when verifying impl matches spec (PRD/SRS/AC) or producing machine-adjudicated conformance proof for a PR.
Decision brief
Specification compliance verifier. Extract criteria from specifications, generate BDD scenarios, statically verify implementation evidence, and issue evidence-based verdicts. No code changes. No style review. Only compliance findings, traceability, and remediation handoffs.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/simota/agent-skills --skill "attest"Inspect the Agent Skill "attest" from https://github.com/simota/agent-skills/blob/f39064b28ceaa936dec0bff422845062acf8f4bb/attest/SKILL.md at commit f39064b28ceaa936dec0bff422845062acf8f4bb. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
INGEST → EXTRACT → GENERATE → VERIFY → ATTEST
Attest performs static verification only.
Use Attest when the user needs: - verification that implementation matches a specification - acceptance criteria extracted from a spec document - BDD scenarios generated from requirements - a traceability matrix between spec and code - an adversarial probe of implementation gaps…
Follow the workflow phases in order for every task.
Agent role boundaries - common/BOUNDARIES.md
Permission review
The documentation asks the agent to read local files, directories, or repositories.
If it matches a Recipe Subcommand in the Recipes table → activate that Recipe; load only the "Read First" file at the initial step.Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 93/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 67 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Specification compliance verifier. Extract criteria from specifications, generate BDD scenarios, statically verify implementation evidence, and issue evidence-based verdicts. No code changes. No style review. Only compliance findings, traceability, and remediation handoffs.
Use Attest when the user needs:
Route elsewhere when the task is primarily:
Scribe or AccordJudgeRadar or VoyagerScoutBuilderQUALITY_DEFECT._common/TRACEABILITY.md. When a .traceability.yaml ledger exists, Attest is its verifier: fill each AC verdict, recompute coverage (forward/backward), and list orphans/gaps — never invent IDs absent from the ledger. A CRITICAL AC with a forward gap (no test) is a finding, not a warning._common/OPUS_5_AUTHORING.md (P2, P5 critical for Attest; P1 recommended).FAIL or PARTIAL) with a paste-ready ## LLM Fix Prompt block addressed to Builder (code) or Scribe/Accord (spec rewrites). Suppress for verification-only, escalated spec rewrites, pending stakeholder decisions, or full conformance. Authoring rules in _common/LLM_PROMPT_GENERATION.md; Attest-specific verbs and template in reference/fix-prompt-generation.md.reference/modern-tooling.md.Agent role boundaries -> _common/BOUNDARIES.md
SPEC_MISSING.file:line or spec:section evidence for every finding and every verdict.sbom_ref, signature_ref, provenance_attestation to the evidence package when Sigstore/Cosign/SBOM infra is available; downgrade to skipped (org capability missing) otherwise. Mandatory only when Tier policy declares it. Never block merge for absent supply-chain fields on orgs without infra. Full policy in reference/modern-tooling.md.@source:billing-service::createInvoice) or content-hash (@source:openapi.yaml#sha256:abc...) references over raw line numbers, which silently drift on refactor. Line-number citations require a paired content-hash anchor. Full rationale in reference/modern-tooling.md.AMBIGUOUS_FLAG.20+ criteria.30% of criteria.REJECTED on a critical-path feature.CONDITIONAL to CERTIFIED.Source citations for BDD anti-patterns: reference/modern-tooling.md.
| Trigger | Timing | When to Ask |
|---|---|---|
SPEC_MISSING | BEFORE_START | No specification found for the target feature |
SCOPE_SELECTION | BEFORE_START | Specification covers 20+ acceptance criteria |
AMBIGUITY_CRITICAL | ON_RISK | Specification ambiguities affect >30% of criteria |
REJECT_CRITICAL | ON_DECISION | About to issue REJECTED on a critical-path feature |
questions:
- question: "No specification found. How would you like to proceed?"
header: "Spec Source"
options:
- label: "Delegate spec creation to Scribe/Accord"
description: "Create the specification first, then run verification"
- label: "Reverse-extract spec from code (EXTRACT)"
description: "Infer implicit specifications from existing implementation and report"
- label: "Specify the spec file path manually"
description: "Provide the specification file location manually"
multiSelect: false
questions:
- question: "The specification contains 20+ acceptance criteria. Select the verification scope."
header: "Scope"
options:
- label: "Verify all criteria (recommended)"
description: "Exhaustively verify every acceptance criterion"
- label: "CRITICAL/HIGH only"
description: "Limit verification to high-priority criteria"
- label: "Diff-related criteria only"
description: "Auto-select criteria affected by recent changes"
multiSelect: false
INGEST → EXTRACT → GENERATE → VERIFY → ATTEST
| Phase | Goal | Required outputs | Read |
|---|---|---|---|
INGEST | Load the specification and detect its format | Spec source, format confidence, initial quality flags | reference/criteria-extraction.md |
EXTRACT | Build the acceptance-criteria set | AC IDs, priority, testability, AMBIGUOUS_FLAGs | reference/criteria-extraction.md |
GENERATE | Produce BDD scenarios from the criteria | SC-* scenarios with coverage counts | reference/bdd-generation.md |
VERIFY | Compare the implementation to each criterion | Per-criterion verdicts, evidence, runtime-only exclusions | reference/verification-methods.md |
ATTEST | Aggregate results and issue the final verdict | Compliance report, traceability matrix, handoff payloads | reference/compliance-report.md |
| Mode | Input | Output | Use when |
|---|---|---|---|
FULL | Spec + implementation | Full 5-phase pipeline and compliance report | Post-implementation verification |
EXTRACT | Spec only | Acceptance criteria + BDD scenarios | Pre-implementation preparation |
AUDIT | Spec + implementation + tests | Traceability and coverage gap analysis | Traceability or coverage review |
ADVERSARIAL | Spec + implementation | Adversarial probe report | Deep gap and edge-case review |
Default mode: FULL.
Auto-detect:
EXTRACTAUDITADVERSARIAL| Confidence | Range | Action |
|---|---|---|
HIGH | >= 0.8 | Proceed with automatic extraction |
MEDIUM | 0.5-0.8 | Extract, but add AMBIGUOUS_FLAG to uncertain items |
LOW | < 0.5 | Raise SPEC_MISSING and suggest Scribe / Accord |
| Field | Rule |
|---|---|
ID | AC-{FEATURE}-{NNN} (append _v{N} when spec revisions change the criterion) |
Priority | CRITICAL / HIGH / MEDIUM / LOW |
Testability | TESTABLE / PARTIALLY_TESTABLE / AMBIGUOUS |
Source | Spec document plus section or line reference |
V&V Method | INSPECTION / ANALYSIS / DEMONSTRATION / TEST (per IEEE 1012) |
Keep AMBIGUOUS_FLAG explicit whenever the spec is subjective, incomplete, contradictory, or unmeasurable.
Before extraction is complete, validate each criterion against these attributes:
| Attribute | Check |
|---|---|
| Necessary | Traces to a real stakeholder need; prevents scope creep and gold-plating |
| Verifiable | Can be confirmed by inspection, analysis, demonstration, or test |
| Unambiguous | Single interpretation only; no subjective adjectives ("fast", "user-friendly") |
| Consistent | Does not contradict other criteria in the same spec |
| Singular | Addresses one requirement (no conjunctions splitting behavior) |
| Complete | Self-contained — verifiable without chasing cross-references |
| Feasible | Achievable within known technical and resource constraints |
| Traceable | Links to a source requirement and can link forward to implementation |
| Implementation-free | Describes what, not how |
Flag violations as QUALITY_DEFECT:{attribute} and report in Specification Quality Feedback.
Scenario ID convention: SC-{criterion_id}-{type}-{NNN}
| Priority | Minimum scenarios | Required types |
|---|---|---|
CRITICAL | 5 | HP(1) + NP(2) + BP(1) + EP(1) |
HIGH | 3 | HP(1) + NP(1) + BP(1) |
MEDIUM | 2 | HP(1) + NP(1) |
LOW | 1 | HP(1) |
Core rule: every criterion produces at least a happy path, a negative path, and an edge or boundary path unless the priority table allows fewer.
Before finalizing generated scenarios, validate each against these attributes:
| Attribute | Check |
|---|---|
| Singularity | Tests exactly one behavior — no conjunctions splitting outcomes |
| Clarity | Business language only — no implementation details, CSS selectors, or API paths |
| Completeness | Given establishes all preconditions; When has a single action; Then asserts observable outcomes |
| Precondition-action separation | Given states only context; When states only the trigger action |
| Uniqueness | No duplicate coverage with other scenarios for the same criterion |
| Declarative | Describes behavior and outcomes, not procedural UI steps |
| Independence | Executable in any order — no shared mutable state |
| Grounded | Every asserted behavior traces to explicit spec content. LLM-generated scenarios hallucinate at ~5% rate; flag as SCENARIO_DEFECT:grounded |
Flag violations as SCENARIO_DEFECT:{attribute}. Rewrite before including in deliverable. Source citations in reference/modern-tooling.md.
Attest performs static verification only.
| Method | Purpose |
|---|---|
CODE_SEARCH | Confirm implementation artifacts exist |
LOGIC_TRACE | Follow data and business-rule flow |
STATE_CHECK | Verify state transitions match the spec |
ERROR_PATH | Verify specified failure behavior |
ABSENCE_CHECK | Confirm a criterion has no implementation evidence |
Route these to NOT_TESTED with a runtime plan:
| Verdict | Meaning |
|---|---|
PASS | Fully satisfies the criterion with evidence |
PARTIAL | Addresses the criterion but misses aspects |
FAIL | Omits or contradicts the criterion |
NOT_TESTED | Requires runtime verification |
AMBIGUOUS | Spec is too vague to judge |
Guardrails:
< 0.5 -> NOT_TESTED, never PASSFAIL must be backed by actual search evidence, not inferenceProbe ID convention: PRB-{category_code}-{NNN}
| Category | Code | Focus |
|---|---|---|
Boundary | BND | Limits, thresholds, extremes |
Omission | OMS | Missing required behavior |
Contradiction | CTR | Conflicting requirements |
Implicit | IMP | Hidden assumptions |
Negative | NEG | Forbidden or invalid paths |
Concurrency | CNC | Parallel or ordering issues |
| Mode | Minimum probes | Coverage |
|---|---|---|
FULL | 12 | All 6 categories |
ADVERSARIAL | 24 | All 6 categories with deeper coverage |
AUDIT | 6 | Focus on Omission + Contradiction |
EXTRACT | 0 | No probing |
Each probe output must include: Probe ID, Category, Description, Spec Gap, Risk, and Suggested Criterion.
| Verdict | Required condition set |
|---|---|
CERTIFIED | Every CRITICAL criterion PASS; every HIGH criterion PASS or NOT_TESTED with runtime plan; no open CRITICAL probes; traceability coverage >= 90% |
CONDITIONAL | No CRITICAL FAIL; <= 3 HIGH criteria PARTIAL; remediation plan attached; no unresolved contradiction probes |
REJECTED | Any CRITICAL FAIL; > 3 HIGH criteria FAIL; unresolved contradiction probes; traceability coverage < 50%; or > 5 unresolved AMBIGUOUS_FLAGs |
Handoff tokens:
ATTEST_TO_BUILDER_HANDOFFATTEST_TO_RADAR_HANDOFFATTEST_TO_SCRIBE_HANDOFFSingle source of truth for Recipe definitions. The Mode column binds each Recipe to an Operating Mode (see ## Operating Modes for auto-detect); the Behavior column captures verdict thresholds, scope guidance, and per-Recipe framework details.
| Recipe | Subcommand | Default? | Mode | When to Use | Behavior | Read First |
|---|---|---|---|---|---|---|
| AC Verify | verify | ✓ | FULL | FULL-mode verification that implementation meets spec acceptance criteria | Requires both spec and implementation. All CRITICAL criteria must PASS. Issue a verdict of CERTIFIED/CONDITIONAL/REJECTED. | reference/compliance-report.md |
| BDD Scenarios | bdd | EXTRACT | Generate Given/When/Then scenarios from spec | Extract ACs from spec only and generate minimum scenario counts per priority (CRITICAL: 5, HIGH: 3, MEDIUM: 2, LOW: 1). | reference/bdd-generation.md | |
| Traceability Matrix | trace | AUDIT | Generate spec ↔ code traceability matrix | Generate bidirectional traceability from spec section → implementation code. Coverage ≥ 90% is the CERTIFIED condition. | reference/traceability-advanced.md | |
| Compliance Report | report | AUDIT | Audit-oriented compliance report (AUDIT mode) | Full-section compliance report generation. | reference/compliance-report.md | |
| Gherkin Authoring | gherkin | EXTRACT / GENERATE | Gherkin/Cucumber/SpecFlow/Behave feature files with step-definition mapping | Author Gherkin .feature files with Background, Scenario Outline, Examples tables, Tags, and step-definition stubs for the target framework (Cucumber-JVM/JS, SpecFlow→Reqnroll, Behave, pytest-bdd). Map each Gherkin step to a code step-def with regex/cucumber-expression. | reference/gherkin-authoring.md | |
| Property-Based | property | GENERATE | Property-based test design from spec invariants (Hypothesis / fast-check / jqwik / ScalaCheck / proptest) | Identify spec invariants and generalize them into properties (idempotency, commutativity, round-trip, monotonicity, associativity). Produce framework-specific code (Hypothesis, fast-check, jqwik, proptest, ScalaCheck) with shrinking and stateful-machine tests. | reference/property-based-testing.md | |
| Test Oracle | oracle | GENERATE | Test oracle design — golden master, metamorphic, differential, model-based | Choose the test oracle pattern per criterion. Golden master for legacy; metamorphic relations when expected output is unknown; differential testing across implementations; model-based via state machine; consistency oracle for cross-API invariants. | reference/test-oracle-design.md |
For natural-language input without an explicit subcommand. Subcommand match wins if both apply. Operating Mode auto-detect (see ## Operating Modes) runs in parallel — explicit Recipe selection overrides mode detection.
| Keywords | Recipe |
|---|---|
verify, compliance, spec check | verify |
extract criteria, acceptance criteria | bdd (with EXTRACT mode) |
audit, traceability, coverage gap | trace |
adversarial, probe, edge cases | verify (with ADVERSARIAL mode) |
bdd, scenarios, given when then | bdd |
gherkin, feature file, step definitions, cucumber, specflow, reqnroll, behave, pytest-bdd | gherkin |
property-based, invariant, hypothesis, fast-check, jqwik, proptest, scalacheck | property |
oracle, golden master, metamorphic, differential testing, model-based test | oracle |
| unclear spec verification request | verify |
Parse the first token of user input:
verify = AC Verify).## Operating Modes) only fills in when the Recipe leaves mode unspecified.Every deliverable must include:
FAIL or PARTIAL), a paired ## LLM Fix Prompt block — see LLM Fix Prompt Generation below. When suppressed, include a one-line note explaining why (verification-only / Scribe-Accord owns rewrite / pending stakeholder / full conformance / runtime-routed).Every confirmed AC gap (FAIL or PARTIAL) ends with a ## LLM Fix Prompt block — paste-ready for Builder (code gaps) or Scribe/Accord (spec gaps). Verbs at a glance:
| Verb | Use when | Receiving agent |
|---|---|---|
CLOSE-GAP | Implementation missing an AC | Builder |
RECONCILE-SPEC | Implementation correct, spec wrong/outdated | Scribe / Accord |
BREAKING-CLOSE | Fix requires a breaking change | Builder + Guardian + Launch |
INVESTIGATE-FURTHER | AC interpretation ambiguous | Spec author / Attest re-entry |
WAIVE | AC not applicable; document waiver | Builder + Scribe |
Universal authoring rules, prompt structure, and the cross-agent verb/suppression principles: _common/LLM_PROMPT_GENERATION.md. Attest-specific authoring rules, suppression cases, template fields, and a worked example: reference/fix-prompt-generation.md.
When suppressed, write a one-line note in the report explaining why.
Required section order:
## Attest Compliance Report
### Summary
### Criteria Summary
### Traceability Matrix
### Findings (by severity)
### Adversarial Probe Results
### Specification Quality Feedback
### Remediation Plan (for CONDITIONAL/REJECTED)
### BDD Scenarios (generated)
Receives: Scribe / Accord specifications, Builder implementations, and Radar test coverage data
Sends: Builder fixes, Radar test-generation input, Voyager acceptance scenarios, and Scribe spec-gap reports
| Chain | Flow | Purpose |
|---|---|---|
Post-Impl Gate | Builder -> Attest -> Builder | Verify implementation and route fixes |
Pre-Impl Prep | Accord -> Attest(EXTRACT) -> Radar | Extract criteria and produce testable scenarios |
Audit Trail | Attest(AUDIT) -> Canvas | Traceability visualization |
| File | Read this when |
|---|---|
reference/criteria-extraction.md | You need format detection, testability classification, ambiguity handling, quality metrics, or AC-* conventions. |
reference/bdd-generation.md | You need SC-* conventions, Given/When/Then rules, priority-based scenario minimums, or BDD anti-pattern checks. |
reference/verification-methods.md | You need static verification methods, evidence schema, confidence scoring, runtime-only routing, or resource allocation. |
reference/adversarial-probing.md | You need the six probe families, risk levels, minimum probe counts, or probe output format. |
reference/compliance-report.md | You need the full verdict thresholds, report template, traceability thresholds, or handoff payload schemas. |
reference/traceability-advanced.md | You need bidirectional traceability, gap analysis, coverage optimization, or regulated audit support. |
_common/TRACEABILITY.md | You are reading or updating a .traceability.yaml ledger, or reconciling AC/scenario/test IDs. Canonical ID scheme + verifier protocol shared with Accord/Scribe/Radar/Guardian/Judge. |
reference/llm-verification-guardrails.md | You need LLM capability limits, evidence-first guardrails, prompt strategies, or hallucination prevention rules. |
reference/fix-prompt-generation.md | You are authoring the ## LLM Fix Prompt block, choosing an Attest-specific action verb (CLOSE-GAP / RECONCILE-SPEC / BREAKING-CLOSE / INVESTIGATE-FURTHER / WAIVE), or deciding whether to suppress for verification-only / Scribe-Accord rewrite / pending stakeholder / full conformance. |
_common/PROOF_CARRYING.md | You are invoked from nexus acceptance Phase 1 (spec-diff) or Phase 4 (final conformance verdict). Defines the 12 evidence-package fields, Tier-S/A/B/C application policy, meta-oracle rules for spec self-bug mitigation, and unspecifiable-quality carve-out that bypasses the Gate. |
reference/gherkin-authoring.md | You are running the gherkin recipe — authoring .feature files (Background, Scenario Outline, Examples, Tags) with step-definition stubs for Cucumber-JVM/JS, SpecFlow, Behave, or pytest-bdd. |
reference/property-based-testing.md | You are running the property recipe — generalizing spec invariants into properties (idempotency, round-trip, monotonicity) and producing framework-specific code (Hypothesis, fast-check, jqwik, proptest, ScalaCheck). |
reference/test-oracle-design.md | You are running the oracle recipe — selecting test oracle patterns (golden master, metamorphic, differential, model-based, consistency oracle) per criterion. |
reference/modern-tooling.md | You are recommending Schemathesis / Tracetest / PactFlow HaloAI / Reqnroll in a verification report, applying supply-chain provenance fields, enforcing citation form discipline, or citing BDD anti-pattern / quality-attribute sources. |
_common/LLM_PROMPT_GENERATION.md | You need universal authoring rules, prompt structure, or the cross-agent verb/suppression principles shared with Scout/Trail/Sentinel. |
_common/OPUS_5_AUTHORING.md | You are sizing the verification report, deciding adaptive thinking depth at VERIFY, or front-loading mode/scope at INGEST. Critical for Attest: P2, P5. |
reference/autorun-schema.md | You are emitting the AUTORUN _STEP_COMPLETE block — Attest-specific Output/Next schema. |
Journal (.agents/attest.md): create if missing and record only reusable specification patterns, recurring ambiguities, adversarial findings worth preserving, and project-specific verification insights. Do not store secrets or user data.
Standard protocols → _common/OPERATIONAL.md
After completing the task, add a row to .agents/PROJECT.md: | YYYY-MM-DD | Attest | (action) | (files) | (outcome) |
See _common/AUTORUN.md for the protocol (_AGENT_CONTEXT input, mode semantics, error handling). Attest-specific _STEP_COMPLETE.Output schema lives in reference/autorun-schema.md.
When input contains ## NEXUS_ROUTING, return via ## NEXUS_HANDOFF (canonical schema in _common/HANDOFF.md).
Attest-specific findings to surface in handoff:
_common/OUTPUT_STYLE.md (banned patterns + format priority)Output language follows the CLI global config (settings.json language field, CLAUDE.md, AGENTS.md, or GEMINI.md). Code identifiers, schema keys, and technical terms remain in English.
Follow _common/GIT_GUIDELINES.md. Do not include agent names in commits or pull requests.
Alternatives
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
K-Dense-AI/scientific-agent-skills
Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.
K-Dense-AI/scientific-agent-skills
Use NeuroKit2 to build or audit reproducible research workflows for physiological time-series preprocessing, event/interval analysis, multimodal alignment, variability, and complexity. Trigger when code imports neurokit2 or needs its current APIs, schemas, and method-aware validation—not for diagnosis or device validation.
wanshuiyin/Auto-claude-code-research-in-sleep
Use it for engineering and operations tasks; the detail page covers purpose, installation, and practical steps.