reqon

majiayu000's avatarfrom majiayu000

Use when writing or editing .vague files for Reqon declarative API data pipelines

⭐0stars🔀0forks📁View on GitHub🕐Updated Jan 5, 2026

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.
namereqon
descriptionUse 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, rateLimit
  • source Name from "./spec.yaml" - OAS-based source
  • store - Storage: memory("name"), file("path"), sql("table"), postgrest("table")
  • action - Pipeline step: fetch, map, validate, store, wait
  • run [A, B] then C - Parallel then sequential execution
  • match response { Schema -> ..., _ -> skip } - Pattern matching
  • for item in store where .active { ... } - Iteration with filter
  • call Source.operationId - OAS-based fetch by operationId
  • wait { timeout, path, eventFilter, storage } - Webhook/callback waiting
  • schedule: every N hours or schedule: cron "..." or schedule: at "datetime"

Flow Control

continue, skip, abort "msg", retry {...}, queue dlq, jump Action then retry

Reference Files