repro-api

Reproduce EmDash bugs in REST handlers, CLI, migrations, and build tooling with failing vitest tests.

Updated Sep 8, 2026
One-click install
npx skills add https://github.com/Thigh-Food/emdash --skill repro-api-thigh-food
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: repro-api
Source: https://github.com/Thigh-Food/emdash/tree/main/.flue/skills/repro-api
Command: npx skills add https://github.com/Thigh-Food/emdash --skill repro-api-thigh-food

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Bug reports for server-side code often lack a deterministic reproduction, making diagnosis slow and error-prone. This Skill turns an issue report about EmDash's REST handlers, CLI, MCP server, migrations, schema registry, or build tooling into a concrete, repeatable failure the team can act on. ## Core Features & Use Cases - Failing vitest tests: Writes a reproduction test in the affected package's tests directory, using shared test database utilities, so it becomes the regression fixture after the fix. - Fallback reproduction paths: Falls back to a standalone repro script under /tmp or a direct pnpm CLI invocation when a test would require too much scaffolding. - Skip criteria: Recognizes non-reproducible cases such as deployed Worker behavior, production-scale Postgres issues, missing customer artifacts, and timing-dependent heisenbugs, and reports them instead of wasting runner time. - Use Case: A user reports that an EmDash REST handler returns the wrong status code. The Skill locates the handler in packages/core/src/api/handlers/, writes a failing vitest test mirroring the source structure, confirms it fails for the reported reason, and records the exact command and output for the diagnosis stage. ## Quick Start Reproduce the bug described in this EmDash issue by writing a failing vitest test in the affected package and report the exact command and failure output.

Frequently Asked Questions about repro-api

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I reproduce a bug in an EmDash REST handler?

Locate the handler in packages/core/src/api/handlers/, then write a failing vitest test in the mirrored tests directory that triggers the reported behavior. Run it with pnpm --filter <package> test <path> and confirm it fails for the reason the user reported.

What is the preferred way to reproduce a CLI or migration bug?

A failing vitest test in the affected package is preferred, using setupTestDatabase() or setupForDialect() for anything touching the database. If a test needs too much scaffolding, use a single-file repro script under /tmp or a direct pnpm exec emdash command.

When should a bug reproduction be skipped instead of attempted?

Skip when the bug needs a missing customer artifact, only manifests on deployed Cloudflare Workers, requires production-scale Postgres, needs real Cloudflare bindings like Access or R2 credentials, or is a timing-dependent heisenbug that cannot be reproduced reliably.

Does this reproduction workflow commit or push any changes?

No. The workflow prohibits git commit, git push, branch creation, GitHub writes via gh, and publishing. Failing tests are left uncommitted in the working tree for the fix stage or orchestrator to handle.

Why does a reproduction that crashes differently not count?

A crash for a different reason than the user reported does not confirm the actual bug, so it is not a valid reproduction. In that case the notes should describe the adjacent failure and lower confidence in the result.