vague
Use when writing Vague (.vague) files - a declarative language for generating realistic test data with superposition, constraints, and cross-references
When & Why to Use This Skill
This Claude skill facilitates the creation and management of Vague (.vague) files, a specialized declarative language for generating highly realistic and complex test data. By leveraging advanced features like superposition, constraints, and cross-references, it enables developers and QA engineers to define sophisticated data schemas that mirror real-world scenarios for robust software validation.
Use Cases
- Automated Test Data Generation: Rapidly produce large-scale, realistic datasets for unit, integration, and end-to-end testing to ensure comprehensive software reliability.
- Database Seeding: Create complex relational data with unique identifiers and specific business logic constraints to populate development, staging, or demonstration environments.
- Edge Case Simulation: Utilize ranges and 'assume' constraints to generate specific edge-case scenarios and boundary conditions that are often difficult to create manually.
- Mocking Complex Systems: Define schemas for financial records, user profiles, or inventory systems where fields are interdependent, ensuring data integrity across the generated dataset.
| name | vague |
|---|---|
| description | Use when writing Vague (.vague) files - a declarative language for generating realistic test data with superposition, constraints, and cross-references |
Vague Language
Quick Start
schema Invoice {
id: unique int in 1000..9999,
status: "draft" | "sent" | "paid",
total: decimal in 100.00..5000.00,
line_items: 1..5 of LineItem,
tax: round(total * 0.2, 2),
assume total > 0
}
dataset TestData {
invoices: 100 of Invoice
}
Core Syntax
- Types:
string,int,decimal,boolean,date - Superposition:
"a" | "b"or weighted0.7: "a" | 0.3: "b" - Ranges:
int in 1..100,date in 2020..2024 - Collections:
1..5 of Itemor100 of Item - Computed:
total: sum(items.amount) - Constraints:
assume due_date >= issued_date - References:
any of companies where .active == true - Parent ref:
= ^parent_field - Nullable:
string?orstring | null - Unique:
id: unique int in 1..1000
Reference Files
- references/syntax.md - Complete syntax
- references/functions.md - Built-in functions
- references/cli.md - CLI usage