reqon
Use when writing or editing .vague files for Reqon declarative API data pipelines
When & Why to Use This Skill
This Claude skill provides specialized assistance for writing and editing .vague files used in Reqon, a declarative Domain-Specific Language (DSL) for building API data pipelines. It streamlines the creation of complex data workflows by helping users define missions for fetching, mapping, and validating data across various sources and storage systems. By utilizing this skill, developers can ensure their API integrations are robust, maintainable, and follow the declarative patterns required for efficient data synchronization.
Use Cases
- Case 1: Designing automated data synchronization missions that fetch data from REST APIs and store it in SQL databases or memory-based stores.
- Case 2: Configuring secure API authentication (Bearer, OAuth2, API Keys) and rate-limiting strategies within declarative pipeline definitions.
- Case 3: Implementing complex data transformation and validation logic using pattern matching to ensure data integrity during ingestion.
- Case 4: Setting up scheduled data pipelines and error-handling workflows, including retries and dead-letter queues, for background automation.
| name | reqon |
|---|---|
| description | Use when writing or editing .vague files for Reqon declarative API data pipelines |
Reqon
Declarative DSL for fetch, map, validate pipelines. File extension: .vague
Quick Start
mission SyncData {
source API { auth: bearer, base: "https://api.example.com" }
store items: memory("items")
action Fetch {
get "/items" { paginate: page(page, 100), until: length(response) == 0 }
store response -> items { key: .id }
}
run Fetch
}
Core Constructs
mission- Pipeline container (sources, stores, schemas, actions, schedule)source- API: auth (bearer/basic/api_key/oauth2/none), base, headers, rateLimitsource Name from "./spec.yaml"- OAS-based sourcestore- Storage:memory("name"),file("path"),sql("table"),postgrest("table")action- Pipeline step: fetch, map, validate, store, waitrun [A, B] then C- Parallel then sequential executionmatch response { Schema -> ..., _ -> skip }- Pattern matchingfor item in store where .active { ... }- Iteration with filtercall Source.operationId- OAS-based fetch by operationIdwait { timeout, path, eventFilter, storage }- Webhook/callback waitingschedule: every N hoursorschedule: cron "..."orschedule: at "datetime"
Flow Control
continue, skip, abort "msg", retry {...}, queue dlq, jump Action then retry
Reference Files
- references/syntax.md - Full DSL syntax
- references/examples.md - Complete examples