本文へ移動
cccskills
無料GitHub で公開

vibe-coverage-enforcer

Enforces tiered test coverage standards with three dimensions — line coverage by tier, spec-to-test traceability, and spec-to-code implementation mapping. Use before claiming code is complete.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md4.6 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

vibe-coverage-enforcer

Coverage numbers don't guarantee quality, but low coverage guarantees surprise.

When to Use This Skill

  • Before claiming a feature is complete
  • After writing tests, to verify coverage meets standards
  • During periodic coverage health checks
  • When deciding "do I need more tests?"
  • After vibe-spec-sync updates the spec — verify tests still cover requirements

When NOT to Use This Skill

  • Prototype/spike code that will be rewritten
  • Generated code (API clients, schema types)
  • Configuration files
  • When the user explicitly says coverage isn't a priority for this task

Three Coverage Dimensions

Dimension 1: Line Coverage (by Tier)

Not all code needs the same coverage:

TierTargetWhat's Included
Critical>=90%Security, authentication, authorization, payment/billing, data integrity, encryption
Business>=80%Core business logic, API handlers, state management, validation
General>=70%Utilities, formatting, UI components, logging
ExemptN/AGenerated code, test helpers, one-time scripts

Dimension 2: Spec-to-Test Coverage

Which spec requirements have corresponding tests?

  1. Parse requirements from the spec document — each atomic requirement gets an ID
  2. Scan test files for traceability markers:
    • Comment markers: # req:[REQ-ID] or // req:[REQ-ID]
    • Function name patterns: test_req_[REQ-ID]_*
  3. Map: requirement → test function(s) or UNCOVERED
  4. Report: X/N requirements covered (Y%)

Dimension 3: Spec-to-Code Coverage

Which spec requirements have corresponding implementations?

  1. For each requirement, search the codebase for implementing code
  2. Evidence: Note which file(s) and function(s) implement each requirement
  3. Map: requirement → implementation location(s) or NOT_IMPLEMENTED
  4. Report: X/N requirements implemented (Y%)

Steps

  1. Run line coverage for the project:

    • Go: go test -cover ./... or go test -coverprofile=coverage.out ./...
    • JS/TS: npm test -- --coverage
    • Python: pytest --cov
  2. Classify packages/modules into tiers

  3. Compare actual vs. target for each package (Dimension 1)

  4. If a spec document exists, run Dimensions 2 and 3:

    • Find the spec (same logic as vibe-spec-sync Step 1)
    • Extract requirements with IDs
    • Scan tests for traceability markers
    • Map requirements to implementations
  5. Report all dimensions

Output Format

Coverage Report

Dimension 1: Line Coverage

Overall: X%

Package/ModuleTierActualTargetStatus
auth/Critical92%90%PASS
handlers/Business75%80%FAIL (-5%)
utils/General68%70%FAIL (-2%)

Dimension 2: Spec-to-Test Coverage

Spec: [path/to/spec.md] Requirements Covered: X/N (Y%)

REQ IDRequirementTest(s)Status
AUTH-001Login requires email + passwordtest_login_credentialsCOVERED
AUTH-002Lockout after 5 failed attempts—UNCOVERED
CACHE-001Cache TTL is 24 hourstest_req_CACHE001_ttlCOVERED

Dimension 3: Spec-to-Code Coverage

Requirements Implemented: X/N (Y%)

REQ IDRequirementImplementationStatus
AUTH-001Login requires email + passwordsrc/auth.py:login()IMPLEMENTED
AUTH-002Lockout after 5 failed attempts—NOT IMPLEMENTED
CACHE-001Cache TTL is 24 hourssrc/cache.py:get()IMPLEMENTED

Summary

DimensionScoreTargetStatus
Line Coverage (Critical)92%90%PASS
Line Coverage (Business)75%80%FAIL
Line Coverage (General)68%70%FAIL
Spec-to-Test8/12 (67%)100%FAIL
Spec-to-Code10/12 (83%)100%FAIL

Action Required

  1. handlers/ needs +5% line coverage — suggest testing: [specific untested functions]
  2. AUTH-002 not implemented and not tested — implement first, then test
  3. 4 requirements lack tests — run vibe-adversarial-test-generation in spec-driven mode

Suggested Tests

[Specific test skeletons for uncovered requirements, with req:[ID] markers]

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Validates completed work against defined acceptance criteria. Use after completing a task that has specific success criteria defined in issues, specs, or task descriptions.

日本語の概要は準備中です。原文の説明を表示しています。

ash1794/vibe-engineering1642026年10月8日 更新

Generates edge case, failure mode, and spec-driven test cases. Covers boundary values, nil inputs, concurrency, resource exhaustion, malformed data, and requirement-linked traceability tests. Use after happy-path tests exist and before claiming coverage is complete, when requirements lack tests, or before a security review.

日本語の概要は準備中です。原文の説明を表示しています。

ash1794/vibe-engineering1642026年10月8日 更新

Catches shortcuts and reward hacking — weakening or deleting tests to make them pass, hard-coding expected outputs, silently dropping requirements, or claiming work is done without running it. Use before declaring a task complete and whenever a test or requirement feels like it's in the way.

日本語の概要は準備中です。原文の説明を表示しています。

ash1794/vibe-engineering1642026年10月8日 更新

Safely integrates commits from parallel agent branches using sequential cherry-pick. Use after parallel work completes in isolated branches or worktrees.

日本語の概要は準備中です。原文の説明を表示しています。

ash1794/vibe-engineering1642026年10月8日 更新

Audits tests for concurrency safety — race conditions, shared mock state, cleanup ordering. Use when writing tests that involve goroutines, async operations, or shared mutable state.

日本語の概要は準備中です。原文の説明を表示しています。

ash1794/vibe-engineering1642026年10月8日 更新

Extracts and records architectural decisions from diffs, conversation context, and explicit choices. Supports automatic extraction from staged changes, deduplication against prior decisions, and persistent ADR-format logging with spec traceability. Use after a significant design or architecture choice, before committing a diff that embeds implicit decisions, or when the same question keeps resurfacing.

日本語の概要は準備中です。原文の説明を表示しています。

ash1794/vibe-engineering1642026年10月8日 更新

ash1794 のスキルをすべて見る

このスキルの問題を報告する