acceptance-test
Use when writing acceptance tests or adding scenarios to spec.yaml. Defines Given/When/Then format and acceptance test patterns.
What this skill does
# Acceptance Test Skill
This skill defines how to write acceptance tests and scenarios that validate end-to-end feature behavior.
## When to Write Acceptance Tests
Write acceptance tests when the feature requires end-to-end testing across multiple modules or external dependencies.
- Testing complete user workflows that involve external APIs, databases, or services
- Verifying business requirements are satisfied across module boundaries
- Testing features that span multiple units within the feature
- When a test requires mocking dependencies, it should be an acceptance test
If the feature only involves isolated logic within a single module, use unit tests instead.
## Scenarios in spec.yaml
Scenarios live in the `scenarios` section of spec.yaml. Only add scenarios when the feature requires end-to-end testing with other modules. Ask the user if scenarios apply before adding them.
```yaml
scenarios:
- name: Descriptive scenario name
given: Setup/preconditions
when: User action/trigger
then: Expected outcome/verification
```
**Describe WHAT, not HOW:**
- Focus on user behavior and system outcomes
- Avoid implementation details (field names, status codes, internal states)
- Describe the value and intent, not the mechanics
- Keep scenarios at a high level of abstraction
**Cover end-to-end flows:**
- Start with user perspective
- Verify final state
## Acceptance Test Structure
Acceptance tests follow the Given/When/Then pattern from scenarios:
- **Given** — Setup/preconditions
- **When** — User action/trigger
- **Then** — Expected outcome/verification
Each acceptance test should map to a scenario in spec.yaml.
## Acceptance Tests vs Unit Tests vs Integration Tests
**Unit Tests:**
- Test individual functions/classes in isolation
- Fast, focused, and run frequently
- Marked with `test: unit` in spec.yaml
**Acceptance Tests:**
- Test complete features from a user/business perspective
- Verify requirements are met end-to-end within a feature
- Test scenarios from the spec (Given/When/Then)
- May involve multiple units working together
- Marked with `test: acceptance` in spec.yaml
**Integration Tests:**
- Test interactions between multiple modules or external systems
- Use sparingly and only for tactical purposes
- Located in `tests/` directory at project root
**Test hierarchy:** Default to unit tests. Use acceptance tests when you need end-to-end feature validation. Use integration tests sparingly for tactical external integration needs.
## Updating spec.yaml Markers
- After writing acceptance test that passes: `test: to-implement` → `test: acceptance`
- After code passes acceptance test: `code: to-implement` → `code: done`
- When acceptance test passes, mark related unit-tested features as implemented: `code: to-implement` → `code: done`
Related in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.