Swig Test
swig/swig
Run SWIG test suite for specific languages. An agent skill from swig/swig.
Reproduce first, then fix — turn a reported defect into a failing test, fix it, and confirm that same test goes green.
$ npx skills add vfarcic/dot-agent-deck --skill reproduce-first -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install vfarcic/dot-agent-deck reproduce-first --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/vfarcic/dot-agent-deck.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/reproduce-first .claude/skills/reproduce-first && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "reproduce-first" agent skill from https://github.com/vfarcic/dot-agent-deck/tree/main/.claude/skills/reproduce-first into .claude/skills/reproduce-first/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reproduce-first", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/vfarcic/dot-agent-deck/tree/main/.claude/skills/reproduce-firstType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add vfarcic/dot-agent-deck --skill reproduce-first -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install vfarcic/dot-agent-deck reproduce-first --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vfarcic/dot-agent-deck.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/reproduce-first .agents/skills/reproduce-first && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "reproduce-first" agent skill from https://github.com/vfarcic/dot-agent-deck/tree/main/.claude/skills/reproduce-first into .agents/skills/reproduce-first/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reproduce-first", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add vfarcic/dot-agent-deck --skill reproduce-first -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install vfarcic/dot-agent-deck reproduce-first --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vfarcic/dot-agent-deck.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/reproduce-first .cursor/skills/reproduce-first && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "reproduce-first" agent skill from https://github.com/vfarcic/dot-agent-deck/tree/main/.claude/skills/reproduce-first into .cursor/skills/reproduce-first/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reproduce-first", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/vfarcic/dot-agent-deck.git --path .claude/skills/reproduce-first--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add vfarcic/dot-agent-deck --skill reproduce-first -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install vfarcic/dot-agent-deck reproduce-first --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vfarcic/dot-agent-deck.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/reproduce-first .gemini/skills/reproduce-first && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "reproduce-first" agent skill from https://github.com/vfarcic/dot-agent-deck/tree/main/.claude/skills/reproduce-first into .gemini/skills/reproduce-first/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reproduce-first", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install vfarcic/dot-agent-deck reproduce-firstInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add vfarcic/dot-agent-deck --skill reproduce-first -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/vfarcic/dot-agent-deck.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/reproduce-first .github/skills/reproduce-first && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "reproduce-first" agent skill from https://github.com/vfarcic/dot-agent-deck/tree/main/.claude/skills/reproduce-first into .github/skills/reproduce-first/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reproduce-first", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add vfarcic/dot-agent-deck --skill reproduce-first -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install vfarcic/dot-agent-deck reproduce-first --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vfarcic/dot-agent-deck.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/reproduce-first .opencode/skills/reproduce-first && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "reproduce-first" agent skill from https://github.com/vfarcic/dot-agent-deck/tree/main/.claude/skills/reproduce-first into .opencode/skills/reproduce-first/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reproduce-first", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
reproduce-firstReproduce first, then fix — turn a reported defect into a failing test, fix it, and confirm that same test goes green.
Reproduce First is an agent skill from vfarcic/dot-agent-deck. Reproduce first, then fix — turn a reported defect into a failing test, fix it, and confirm that same test goes green. Use whenever the user describes the software behaving differently from what they expected or intended, however they phrase it: a complaint, a neutral observation, a question about whether something is meant to work that way, or an aside that something works "except for" one detail. It applies to a report that arrives mid-task about unrelated work, and to a symptom mentioned in passing. Trigger on…
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Testing & QA, covering Failing and flaky tests. The repository describes itself as: A rich terminal dashboard for monitoring and controlling multiple AI coding agent sessions. The licence is MIT.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 9cc3e60. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
cargoFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Reproduce First loads about 2k tokens when it runs. Until then it costs about 166 tokens; SKILL.md has 1,256 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from vfarcic/dot-agent-deck at commit 9cc3e60, republished under its MIT licence (© vfarcic). 1,256 words, ~2,041 tokens.
.claude/skills/reproduce-first/SKILL.md (or your agent's skills folder).The user has reported that something is broken. That includes the quiet forms: "it works except for…", "I have to do X twice", "it stopped doing Y", "is it supposed to…?".
Do NOT use it for: a request for a new feature, a question about how something works, or a bug you found yourself while already mid-task with a test already failing for that reason.
The first deliverable is a test that fails for the user's reason. Not a fix. Then fix it, and watch that same test pass.
Do not reverse the order, and do not skip to the fix because the cause looks obvious. A fix whose test was written afterwards tends to assert what the code now does rather than what the user asked for. "The cause is obvious" is the single most reliable predictor that it is not — see the case studies below, where two confident diagnoses were both wrong and only the control runs exposed it.
Restate the symptom as the user sees it. At their altitude: a card that stays on screen, a tab that never appears, a name that reads wrong. Not "the registry entry is stale".
Find the test that already covers this surface, and EXTEND it. Bias order: extend an existing test > modify an existing test > write a new one. Only add a brand-new #[spec] id when no catalog entry covers the surface at all — search tests/CATALOG.md for the area before assuming there isn't one.
Most follow-up reports are the SAME behaviour under a different configuration (a real agent instead of a stand-in, an orchestration instead of a single agent, a command the deck cannot infer an agent type from). That is a case for widening the existing test's coverage to the configuration that actually broke — not a parallel test duplicating 90% of the setup. A new spec id is justified when the mechanism genuinely differs, not when the inputs do.
This matters more at L2 than anywhere else: every PTY test spawns real binaries, and a suite of near-duplicate e2e tests is slow for everyone and harder to diagnose than one test that names its cases.
Assert at the user's altitude. The user-visible outcome, not an adjacent artefact — a file on disk, a log line, or a registry entry can all be correct while the screen is wrong. If they said "no orchestration tab appeared", the assertion is a tab with live role cards.
Run it and confirm it fails FOR THEIR REASON. A test that fails for a setup error (a stub that broke an unrelated path, a form field that was pre-filled, an ellipsized card title) is not a reproduction. Read the failure message and check it describes their symptom. Fix the harness problem and re-run until the red is the right red.
Add a control that isolates the cause. The nearest thing that should still work — the same close on a card with no worktree, the same dispatch with a fast git — proves the failure is attributable to what you think it is. Without a control you cannot tell "this path is broken" from "this whole feature is broken".
Fix it.
Watch the same test go green, then prove each fix is load-bearing: revert one change at a time and confirm the test goes red again. If reverting a change leaves the test green, that change is not part of the fix — take it out or find what it is really doing.
Run the wider tier before reporting done: cargo xtask affected-checks --run (for a code change that is cargo fmt --check, rule 2's clippy command and cargo test-fast), plus the tests covering what you touched. There is no full-tier obligation before the PR — per CLAUDE.md rule 5, lane 1 runs in CI on every PR, so read that run rather than reproducing it. If your reproduction is an e2e test, run it and its module by filter (cargo test-e2e <filter>, or cargo test-e2e-live <filter> when the test reaches a real agent); do not run either alias unfiltered. A lane-2 test is worth running deliberately: nothing in CI runs one, so if you do not, nobody does.
Prove the test can fail. An assertion never observed failing is not evidence. This is the cheapest step and it has caught a vacuous assertion repeatedly: a stream-based wait that could never match redrawn chrome; a wait_until_grid capped at the harness's 10s WAIT_TIMEOUT that silently shortened an intended 60s wait; and an AgentRecord.live check that was Some(Idle) for every role within 1.5s of the spawn, before a byte had reached any of those PTYs.
Prefer their configuration over a convenient stand-in. cat roles and print-mode agents prove the plumbing and hide everything else: they cannot tell an agent from a $SHELL, and they never read an orchestrator-context file, so both of those defects shipped green. Where a stand-in is genuinely necessary for cost, say so in the test, name what it stands in for, and add one real-config case beside it.
A stand-in must be narrow. A git stub that slept on every status also hit the deck's own pane-creation path, which has its own 5s budget — the pane never came up and the test failed before reaching what it was about. Key the stand-in to the exact invocation under test.
Reproduce before diagnosing, and diagnose on the reporter's machine, not yours. Environment-shaped bugs do not travel: a whole diagnosis was once built from this server's process table while the user was reporting from a laptop. Ask for the artefacts — the message the pane printed, ~/.local/state/dot-agent-deck/deck.log, command -v — instead of inferring them locally.
If it genuinely cannot be reproduced, say so explicitly and name what is missing, before proposing a fix. "I could not reproduce this, so the fix is unverified" is a legitimate report. Presenting an unreproduced fix as verified is not.
Two stacked defects, one symptom (dispatch/close/001). Reported: closing a dispatched agent left its card behind; a second close removed it. The reporter's guess was that worktree removal blocked the close. The first diagnosis (mine) was a client-side timeout. A control run with the slowness removed still failed — which exposed a different, primary defect underneath: a daemon-spawned card has no local pane until focused, so close_pane returned "not found", the card was preserved by policy, and the agent kept running. Only after fixing that did the reporter's timeout theory become the remaining cause. Both were real; reverting either fix alone turns the test red. Neither would have been found by reading code.
The assertion that proved nothing (orchestration/dispatch/002). The first version passed in 1.5 seconds — impossibly fast for three agent cold boots. It was asserting a field the daemon populates at spawn time. Rewritten to assert what the user looks at (every role named on its own card), it immediately caught a real defect: dispatched role cards were labelled with session UUIDs instead of the role names in the toml.
CONTRIBUTING.md — the team-facing statement of this norm, and the TDD loop commands.CLAUDE.md rule 4 (which test tier a change needs) and rule 5 (fast tier per task, plus the tests covering the change; lane 1 runs in CI, and lane 2 runs nowhere but your machine).tests/CATALOG.md — every test's entry records what it does not assert; add yours there.© vfarcic, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/reproduce-first of vfarcic/dot-agent-deck.
Open the folder on GitHubat commit 9cc3e60
Reproduce First next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Reproduce First this skillvfarcic/dot-agent-deck | 109 | — | ~2k | Automated safety check: Pass | MIT | |
| Swig Testswig/swig | 6.3k | — | ~2.3k | Automated safety check: Pass | Custom licence | |
| Triage CI FailureDataDog/datadog-agent | 3.8k | — | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Dynamo Jira TicketDynamoDS/Dynamo | 2k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Fix Ready PRsfastrepl/anarlog | 9.5k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Trx Analysismicrosoft/vstest | 969 | — | ~1.8k | Automated safety check: Pass | MIT |
swig/swig
Run SWIG test suite for specific languages. An agent skill from swig/swig.
DataDog/datadog-agent
Classify a failed CI as either caused by an active incident, flakiness, or a true code regression.
DynamoDS/Dynamo
Create structured Jira tickets for Dynamo from bug reports, failing tests, or feature requests.
fastrepl/anarlog
Inspect every open non-draft PR for CI failures and unresolved Cursor Bugbot findings, then fix them on the existing PR branches.
microsoft/vstest
Parse and analyze Visual Studio TRX test result files. An agent skill from microsoft/vstest.
workersio/skills
Testing workflow skill for finding high-value test candidates, writing focused tests, generating realistic workloads, reviewing test value, and diagnosing test-suite health.
vfarcic/dot-agent-deck
Bring the base that every dispatched unit is cut from up to date before the first dot-agent-deck dispatch of a batch in this repo, and check the base dispatch reports afterwards.
vfarcic/dot-agent-deck
Choose the shape of a unit you are about to dispatch in this repo — one agent (--single) or a team (--orchestration '<name') — from divisibility criteria instead of asking, and report the shape you…
vfarcic/dot-agent-deck
Check that a change to the user-facing docs covers both clients (the TUI and the desktop app) unless the feature exists in only one, and decide whether it needs a new or updated screenshot, then…
vfarcic/dot-agent-deck
Generate a feature request prompt for another dot-ai project.
vfarcic/dot-agent-deck
Take committed work from a branch to a verified pull request — push, open the PR, settle CI and the automated review, answer and resolve every finding, and hand off.
vfarcic/dot-agent-deck
Publish the docs site to GHCR with a main-<sha tag and bump site/helm/values.yaml so Argo CD picks it up — without cutting a SemVer release.
Categories
Reproduce first, then fix — turn a reported defect into a failing test, fix it, and confirm that same test goes green. Reproduce First is an agent skill from vfarcic/dot-agent-deck. Reproduce first, then fix — turn a reported defect into a failing test, fix it, and confirm that same test goes green.
Reproduce First fits situations like: the user describes the software behaving differently from what they expected; however they phrase it: a complaint; A neutral observation; A question about whether something is meant to work that way.
Run `npx skills add vfarcic/dot-agent-deck --skill reproduce-first -a claude-code`. Or copy the skill folder (.claude/skills/reproduce-first in vfarcic/dot-agent-deck) into .claude/skills/reproduce-first in your project. Claude Code loads it when a task matches its description.
Run `npx skills add vfarcic/dot-agent-deck --skill reproduce-first -a codex`. Or copy the skill folder (.claude/skills/reproduce-first in vfarcic/dot-agent-deck) into .agents/skills/reproduce-first in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add vfarcic/dot-agent-deck --skill reproduce-first -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/reproduce-first, .gemini/skills/reproduce-first, .github/skills/reproduce-first and .opencode/skills/reproduce-first in your project.
Going by SKILL.md and its folder, Reproduce First needs the command-line tools its instructions call (cargo).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Reproduce First is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Reproduce First: Swig Test (swig/swig, 6.3k stars), Triage CI Failure (DataDog/datadog-agent, 3.8k stars), Dynamo Jira Ticket (DynamoDS/Dynamo, 2k stars) and Fix Ready PRs (fastrepl/anarlog, 9.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
vfarcic (a GitHub user) maintains it in vfarcic/dot-agent-deck, which has 109 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 10, 2026.
Source: vfarcic/dot-agent-deck on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.