Skip to content
Back to skills

Specify Baseline Tests

ASecurity

Given coverage gaps from blast-radius.yaml, author specifications for baseline tests that capture CURRENT behavior before changes begin. Writes baseline-tests.yaml. Used by test-engineer.

  • 3 stars
  • 0 votes
  • 0 copies
  • 5 views
  • Added September 10, 2026
testing

Security analysis

A100/100

Scanned September 10, 2026

npx -y skills add kapilvirenahuja/garura --skill specify-baseline-tests --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Specify Baseline Tests?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Specify Baseline Tests
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/kapilvirenahuja-specify-baseline-tests/badge)](https://www.skillsdirectory.com/skills/kapilvirenahuja-specify-baseline-tests)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: specify-baseline-tests
description: Given coverage gaps from blast-radius.yaml, author specifications for baseline tests that capture CURRENT behavior before changes begin. Writes baseline-tests.yaml. Used by test-engineer.
user-invocable: false
model: sonnet
allowed-tools: Read, Write, Grep, Glob
deprecated: true
deprecated_note: '#434 ProductOS realignment — superseded by the command model; retained for Phase E reference, not installed'
---

# specify-baseline-tests

Model-invocable skill for baseline-test specification.

## Purpose

For every coverage gap identified in blast-radius, author a baseline-test specification that, when implemented, will pin down the CURRENT behavior of the uncovered code. Baseline tests protect against regressions introduced by the change — they are NOT forward-looking behavior specs.

## Input

| Field | Required | Description |
|-------|----------|-------------|
| `blast_radius_path` | yes | Path to blast-radius.yaml |
| `project_root` | yes | Codebase root for reading the uncovered code |
| `test_surface_path` | yes | To match conventions (framework, file layout) used elsewhere |
| `output_base` | yes | Directory to write baseline-tests.yaml |

## Process

1. **Read blast-radius gaps.** Focus only on `coverage_gaps` entries.

2. **Read uncovered code.** For each gap file, read the code and identify its public entry points (exported functions, class methods, module-level side effects).

3. **Describe current behavior.** Per entry point, characterize: inputs, outputs, observable side effects, error paths. This is descriptive — not prescriptive. If the current code does X in case Y, the baseline test documents "does X in case Y", even if X is buggy.

4. **Specify test.** For each entry point:
   - `test_id`
   - `target_file`
   - `target_symbol`
   - `current_behavior` — one line
   - `test_description` — one line
   - `setup` — any state needed
   - `call` — input form
   - `assertion` — observable outcome
   - `framework` — match project convention (from test_surface)
   - `suggested_file` — where the test should live

5. **Emit baseline-tests.yaml:**

   ```yaml
   generated_at: "{ISO-8601}"
   sourced_from: "{blast_radius_path}"
   baseline_tests:
     - test_id: BT-001
       target_file: "{path}"
       target_symbol: "{function/class/method}"
       current_behavior: "{one-line observable}"
       test_description: "{one-line}"
       setup: "{preconditions}"
       call: "{input shape}"
       assertion: "{expected outcome — current behavior}"
       framework: "{name}"
       suggested_file: "{path}"
   summary:
     count: {n}
     by_framework: { ... }
   ```

## Output

```yaml
baseline_tests_path: "{output_base}/baseline-tests.yaml"
baseline_test_count: {n}
status: written
```

## Boundaries

- Baseline tests describe CURRENT behavior — even if buggy. Do not prescribe future behavior.
- You do not implement the tests — you specify them.
- You do not modify source code.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.