.agents/skills/requirements-verification/SKILL.md
Analyzes an OpenSpec requirements spec for internal consistency, implementation compliance, and test opportunities; when a shell is available, run openspec validate first for structural checks. Use when reviewing specs, verifying implementation against requirements, or identifying test gaps.
npx skillsauth add elastic/terraform-provider-elasticstack requirements-verificationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Analyze an OpenSpec requirements spec (from openspec/specs/<capability>/spec.md, or a delta spec under openspec/changes/**/specs/) and produce three outputs:
openspec/specs/elasticsearch-security-role/spec.md) or the entity name/implementation path. Resolve to the spec.md under openspec/specs/<capability>/ (or the relevant delta spec path).internal/elasticsearch/security/role). Use that package for compliance and test analysis.Before deep analysis, run the OpenSpec CLI so the spec matches what CI enforces. This checks structure (e.g. ### Requirement: / #### Scenario: shape, SHALL / MUST in requirement bodies)—not semantic consistency or implementation compliance.
make setup (or make setup-openspec / npm ci):make check-openspecOPENSPEC_TELEMETRY=0 ./node_modules/.bin/openspec validate --specsOPENSPEC_TELEMETRY=0 ./node_modules/.bin/openspec validate <capability> --type spec (e.g. elasticsearch-security-role)openspec validate --all to include openspec/changes/**If validation fails, report the CLI errors first and fix the markdown before spending effort on sections 1–3. If no terminal is available, proceed with manual review and note that openspec validate was not run.
Resource implementation: / Data source implementation: / Workflow implementation: / Script implementation:), Purpose, Schema (HCL/YAML block if present).### Requirement: section: id (use (REQ-NNN) or (REQ-001–REQ-003) from the heading if present; otherwise derive a short id from the heading), category (infer from content: API, Identity, Import, etc.), and text (full SHALL/MUST statements in that section). Normalize references (e.g. “id format”, “cluster_uuid/name”) for consistency checks.Apply the checks in reference.md (Consistency checks):
Output: Consistent or list Inconsistencies with requirement ids and short explanation.
internal/elasticsearch/security/role). Locate resource.go, schema.go, create.go, read.go, update.go, delete.go, models.go, state upgrade code, and any validators/plan modifiers.*_test.go in the implementation package (e.g. resource_test.go, state_upgrade_test.go) and acceptance tests: acc_test.go (or *_acc_test.go) for the resource.Produce a single report with three sections:
# Requirements analysis: <entity name>
**Document**: `openspec/specs/.../spec.md`
**Implementation**: `internal/...` (or workflow/script path from the spec)
## 1. Internal consistency
- **Result**: Consistent | Inconsistent
- **Inconsistencies** (if any): [REQ-xxx] vs [REQ-yyy]: ...
## 2. Implementation compliance
| REQ-ID | Category | Status | Evidence |
|--------|------------|----------|----------|
| REQ-001| API | Met | create.go, update.go call PutRole |
...
**Summary**: X met, Y not met, Z unclear.
## 3. Test opportunities
| REQ-ID(s) | Type | Suggested test | Verifies |
|-----------|------------|----------------|----------|
| REQ-008 | Acceptance | Import with invalid id; expect error diagnostic | Import validation |
...
dev-docs/high-level/openspec-requirements.md.agents/skills/existing-entity-requirements/reference.md.cursor/skills/schema-coverage/ if analyzing attribute-level coverage alongside requirements.tools
Guides migration of Terraform resources from Plugin SDK to Plugin Framework. Use when migrating SDK resources to PF, planning SDK-to-PF migrations, or when the user asks to migrate a resource to the Plugin Framework.
testing
Analyzes a Terraform resource schema and compares it to attributes used in the acceptance test suite (configs + assertions). Produces a prioritized report of missing and poor coverage (set-only assertions, single-value coverage, missing unset/empty cases, missing update coverage). Use when the user asks about schema coverage, test coverage gaps, or improving Terraform acceptance tests for a resource.
testing
Verify implementation matches change artifacts. Use when the user wants to validate that implementation is complete, correct, and coherent before archiving.
data-ai
Sync delta specs from a change to main specs. Use when the user wants to update main specs with changes from a delta spec, without archiving the change.