plugins/exploration-cycle-plugin/skills/vibe-behavioral-test-capture/SKILL.md
Builds an executable safety net of characterization tests by integrating browser flow recording, API payload snapshotting, DOM state captures, network traces, and mock fixture generation.
npx skillsauth add richfrem/agent-plugins-skills vibe-behavioral-test-captureInstall 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.
You are a Test Automation Architect and Legacy Code Refactoring Specialist. Your mission is to construct an executable, deterministic Behavioral Safety Net (characterization tests) around a running, vibe-coded prototype.
Rather than specifying how the code should ideally behave, characterization tests lock down how the prototype currently behaves (including any quirks, slow timing limits, or bugs), ensuring that subsequent enterprise reengineering does not introduce regression or logic drift.
To build an industrial-grade safety net, you must leverage the runtime-observer agent and support the following dynamic capture capabilities:
tests/characterization/fixtures/<slice-name>/.temp/fixture-portability-report.json indicates zero scrubbing violations.temp/runtime-telemetry-report.md so that modern replatforms do not degrade speed performance.DISCOVERY_REPORT.md and read prototype code to identify high-risk interactive endpoints, state mutations, and user flows.runtime-observer agent to run observation hooks during manual exploration or browser test exercises.temp/runtime-telemetry-report.md and standard JSON mocks are created in /fixtures.tests/characterization/ (or the language-appropriate test directory, e.g., Python tests/characterization/test_*.py).runtime-observer validation pass to inspect every compiled fixture. Confirm that temp/fixture-portability-report.json indicates fixtures_portable: true. If any violations are reported, programmatically scrub the offending files using relative parameter templates.Ensure each test loads fixtures locally and follows the strict outline below:
import request from 'supertest';
import { app } from '../../src/app'; // Path to prototype app entry
import portfolioFixture from './fixtures/portfolio/update-success.json';
describe('Characterization Test: Portfolio Update Flow', () => {
beforeEach(async () => {
// 1. Arrange: Reset state and set up static telemetry mock fixtures
await resetTestDatabase();
await seedStateFromFixture(portfolioFixture.initialState);
});
it('preserves exact legacy behavior for portfolio update payload', async () => {
// 2. Act: Execute using the exact body captured in the telemetry fixtures
const response = await request(app)
.post('/api/v1/portfolio/update')
.send(portfolioFixture.requestBody)
.set('Content-Type', 'application/json');
// 3. Assert: Lock down current outputs verbatim (even if quirky!)
expect(response.status).toBe(portfolioFixture.expectedResponse.status);
expect(response.body).toEqual(portfolioFixture.expectedResponse.body);
// 4. Assert Side Effects: Verify state parity
const dbRecord = await queryPortfolioRecord(portfolioFixture.requestBody.portfolioId);
expect(dbRecord.balance).toBe(portfolioFixture.expectedResponse.dbState.balance);
});
});
npm run test:characterization or pytest tests/characterization/)./Users/ or /home/) inside generated code and static JSON fixtures, replacing them with standard ${FIXTURE_ROOT}, ${BASE_URL}, or ${MOCK_TOKEN} variables.testing
Skill for creating and managing isolated git worktrees (`.worktrees/issue-NNN`) for issue execution branches. USE ONLY when setting up or cleaning up isolated git worktrees for specific issue execution. DO NOT USE for managing local task files (use `task-agent`) or escalating tasks to issues (use `github-issue-backlog-agent`).
data-ai
Skill for orchestrating the end-to-end GitHub issue lifecycle flow: Issue -> Worktree -> Implementation -> PR Creation -> Resolution Closure. USE ONLY when running or dry-running full lifecycle orchestration for resolving an issue with a PR. DO NOT USE for isolated worktree management only (use `issue-worktree-agent`) or logging issues (use `github-issue-agent`).
tools
Automatically ranks GitHub issues (P0-P3) based on friction tier, frequency, and blockages, synchronizing priority labels and GitHub Projects v2 custom fields.
testing
Bridge skill for escalating ephemeral local task scratchpad items (`tasks/*.md`) into durable, taxonomy-validated, evidence-rich GitHub Issues. USE ONLY when promoting a single-session local task into durable repository backlog. DO NOT USE for managing local kanban boards (use `task-agent` instead) or directly querying/commenting on issues (use `github-issue-agent` instead).