Generates dbt tests including schema tests, data quality tests, and freshness checks. Use when adding tests to dbt models or implementing data quality validation.
Scanned 2/12/2026
npx -y skills add armanzeroeight/fastagent-plugins --skill test-generator --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Test Generator?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/armanzeroeight-test-generator)More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.
---
name: test-generator
description: Generates dbt tests including schema tests, data quality tests, and freshness checks. Use when adding tests to dbt models or implementing data quality validation.
---
# dbt Test Generator
## Quick Start
Generate comprehensive tests for dbt models including schema tests, data quality tests, and freshness checks.
## Instructions
### Step 1: Add schema tests
```yaml
# models/schema.yml
version: 2
models:
- name: stg_orders
description: Staging orders table
columns:
- name: order_id
description: Unique order identifier
tests:
- unique
- not_null
- name: customer_id
description: Customer reference
tests:
- not_null
- relationships:
to: ref('stg_customers')
field: customer_id
- name: order_status
description: Order status
tests:
- accepted_values:
values: ['pending', 'processing', 'shipped', 'delivered', 'cancelled']
- name: order_total
description: Total order amount
tests:
- not_null
- dbt_utils.accepted_range:
min_value: 0
```
### Step 2: Create custom data tests
```sql
-- tests/assert_positive_revenue.sql
select
order_id,
order_total
from {{ ref('fct_orders') }}
where order_total < 0
```
### Step 3: Configure freshness checks
```yaml
# models/sources.yml
version: 2
sources:
- name: raw
database: analytics
schema: raw_data
tables:
- name: orders
description: Raw orders data
freshness:
warn_after: {count: 12, period: hour}
error_after: {count: 24, period: hour}
loaded_at_field: created_at
```
### Step 4: Run tests
```bash
# Run all tests
dbt test
# Run tests for specific model
dbt test --select stg_orders
# Run specific test type
dbt test --select test_type:unique
dbt test --select test_type:not_null
```
## Test Types
**Schema tests:**
- unique
- not_null
- accepted_values
- relationships
**dbt_utils tests:**
- accepted_range
- at_least_one
- cardinality_equality
- equal_rowcount
- expression_is_true
- recency
- unique_combination_of_columns
**Custom tests:**
- SQL queries that return failing rows
- Placed in tests/ directory
## Best Practices
1. Test all primary keys (unique, not_null)
2. Test foreign key relationships
3. Test accepted values for categorical columns
4. Add range tests for numeric columns
5. Configure freshness for critical sources
6. Create custom tests for business logic
7. Run tests in CI/CD pipeline
8. Document test expectations
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!