API verification
SkillDev toolsReference for how each end-to-end Modaic dataflow is *intended* to work across client (modaic) and server (modaic-dev). Use this skill BEFORE planning or implementing any change that touches the API surface — predictions, annotations, alignment (GEPA + repredict), or confidence scoring. The dataflow docs capture the contract and the cross-repo gotchas (split semantics, idempotency keys, validator placement) that are not visible from one side of the wire alone.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the API verification skill
What this skill tells your AI
The instructions your AI receives, as published by modaic-ai/modaic in .agents/skills/api-verification/SKILL.md and read by ahel’s review.
Modaic's public API is split across two repos:
- Client (
core/modaic) — Python SDK,modaic_client.ModaicClient, schemas the user constructs. - Server (
core/modaic-dev/server) — FastAPI routes, ClickHouse writes, Celery / Redis / sandbox orchestration.
Every public dataflow has invariants that span both sides. A change on
one side that ignores the contract on the other silently corrupts data
(e.g. annotated rows landing with split='none' and being skipped by
GEPA forever). This skill is the one place those contracts live.
When to consult this skill
Invoke it whenever you are about to:
- Plan a change that crosses the wire — anything where the client builds a request body, hits an endpoint, or parses a response. Read the relevant dataflow doc first; reconcile your plan against it.
- Add or modify code in any of:
src/modaic-client/modaic_client/client.py(any method that does HTTP)src/modaic-client/modaic_client/schemas.pymodaic-dev/server/src/api/v1/**route handlers, schemas, utilsmodaic-dev/server/src/api/v1/jobs/**(batch / GEPA / repredict)
- Review a PR that touches the surface above. Use the docs as the acceptance bar — the contract is what merges, not the diff.
If the change is purely internal to the server (no public-API implication) or purely client-side (e.g. adding a tqdm option), you do not need the skill — but a 30-second sanity check costs nothing.
How to use the docs
Each dataflow/*.md describes one end-to-end path:
| File | Path |
|---|---|
dataflow/annotations.md | How examples become annotated and how split is assigned. |
dataflow/alignment.md | GEPA optimization + the repredict-and-score follow-up. |
dataflow/predictions.md | Single (/v2/arbiters/predictions) and batch (/jobs/batch/predictions) inference. |
dataflow/confidence_scoring.md | Per-prediction confidence scoring (POST/GET/SSE). |
Each doc follows the same shape:
- Endpoints — exact paths, methods, request/response models.
- Client → server flow — what the client sends, what the server does on receipt, what it stores.
- Invariants — the rules that must hold across the wire. Bugs in this area always trace back to one of these being violated.
- Common pitfalls — historical foot-guns, with the symptom and the fix.
Updating the docs
The docs are the source of truth for intended behavior. If you discover that the code disagrees with a doc:
- If the doc is wrong, update it.
- If the code is wrong, fix the code AND add a "Common pitfall" entry with the symptom so the next agent doesn't reintroduce the bug.
Do not delete a "Common pitfall" entry just because the bug is fixed — that's exactly the institutional memory the skill exists to preserve.
When you add a new public dataflow (a new endpoint family or a new
job type), add a new file under dataflow/ and link it from the table
above.
Signals
- GitHub stars
- 28
- Forks
- 1
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
api-verification- Source
- github.com/modaic-ai/modaic