Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add rpraharaj/forward-deployed-engineer --skill test-data-strategygit clone --depth 1 https://github.com/rpraharaj/forward-deployed-engineerWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/rpraharaj/forward-deployed-engineer/test-data-strategy)<a href="https://agentmods.dev/skills/rpraharaj/forward-deployed-engineer/test-data-strategy"><img src="https://agentmods.dev/badge/skills/rpraharaj/forward-deployed-engineer/test-data-strategy.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00109 | $0.02470 |
| Opus 5 | $0.00055 | $0.01235 |
| Sonnet 5 | $0.00022 | $0.00494 |
| Haiku 4.5 | $0.00011 | $0.00247 |
Grade A, and why
test-data-strategy scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 216 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Test data strategy
Getting data you're allowed to have that behaves like data you aren't.
Why this exists
In a regulated organization, production data cannot be copied into a test environment. Not "shouldn't" — cannot, without a legal basis, and often not even then. GDPR, PCI-DSS, HIPAA, and internal data policies all land in the same place: the realistic data you need to verify anything is the data you are least allowed to touch.
The result is a specific and very common failure. Tests run against three hand-written rows containing "Test User" and "123 Test Street." They pass. The change ships. It breaks immediately on a customer whose name contains an apostrophe, an address with no postcode, an order placed before the 2019 migration, or an account with forty thousand transactions.
The data wasn't wrong. It was unrepresentative, which is harder to notice.
This is frequently the real bottleneck to shipping in an enterprise — not the code, and not the tests, but having anything sensible to run them against.
When this applies
- Tests need data you don't have
- Verification blocked by an empty or unrealistic environment
- Someone proposes copying production data
- A bug reproduces in production and not locally
- Performance work needing realistic volume
When it doesn't
- Adequate fixtures already exist — check they're representative, then use them
- Pure unit tests over in-memory logic with no data shape dependency
- The blocker is access to an environment rather than data — that's
access-and-onboarding
Prerequisites
.fde/03-requirements.md— the criteria determine what data must exist.fde/02-system-map.md— where data lives and what shape it takes- Understand the organization's data policy before starting. See
../_shared/enterprise-constraints.md.
Procedure
1. Establish what's actually permitted
Ask before designing anything, because the answer determines the whole approach and people's assumptions about it are usually wrong in both directions.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 216 lines · 109 tokens per session scan A 4daa3f56c938
test-data-strategy is a skill published in the GitHub repository rpraharaj/forward-deployed-engineer (6 stars, last pushed 20d ago), licensed MIT. It adds 109 tokens to every session and 2,470 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
go-testing
Trigger: Go tests, go test coverage, Bubbletea teatest, golden files. Apply focused Go testing patterns.
adding-dbt-unit-test
Creates unit test YAML definitions that mock upstream model inputs and validate expected outputs. Use when adding unit tests for a dbt model or practicing test-driven development (TDD) in dbt.
test-generator
A test-writing helper that creates unit or integration tests from the code's actual behavior and contracts. Unit tests check small pieces of code, while integration tests check how real components work together.
test-quality
Write high-quality JUnit 5 tests with AssertJ assertions. Use when user says "add tests", "write tests", "improve test coverage", or when reviewing/creating test classes for Java code.
memstack-development-test-writer
Use this skill when the user says 'write tests', 'add tests', 'test coverage', 'unit tests', 'integration tests', 'component tests', 'mocking', 'edge cases', or needs to generate tests with proper mocking and edge case coverage. Do NOT use for refactoring plans or database migrations.
typescript
TypeScript strict mode with eslint and jest.