Adaline evaluations
Skills that guide AI coding agents to integrate with the Adaline platform — send traces, manage prompts, run evaluations, fetch deployments, and more. Compatible with Cursor, Claude Code, Codex, Windsurf, and 40+ other agents.
npx -y skills add adaline/skills --skill adaline-evaluationsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Run and manage evaluations in Adaline to test prompt quality at scale. Use when creating evaluation runs, polling status, analyzing results, or cancelling runs.
SKILL.md
3.9 KB, as published. Nobody here has run it
Adaline Evaluations
Concepts
Evaluations run a prompt against a dataset and score each row with one evaluator. They are asynchronous: create a run, poll its status, then read paginated results.
Key terms:
- Evaluation — one run, identified by
runId - Evaluator — the scoring configuration, identified by
evaluatorId - Dataset — rows that provide prompt inputs and optional expected values
- Grade —
pass,fail, orunknown - Metrics — aggregate pass/fail/unknown counts, cost, latency, and token count
Status Lifecycle
queued -> running -> completed
-> failed
-> cancelling -> cancelled
Configuration
Set these environment variables when credentials are available:
ADALINE_API_KEY— workspace API key from Admin > API KeysADALINE_PROMPT_ID— prompt to evaluateADALINE_EVALUATOR_ID— evaluator to runADALINE_DATASET_ID— optional dataset override
Base URL: https://api.adaline.ai/v2
Quick Triage
| Symptom | First Fix |
|---|---|
| Create body rejected | Use singular evaluatorId, not the old plural evaluator field |
| Follow-up GET returns 404 | Use response runId as the {evaluationId} path parameter |
| Results missing row data | Add expand=row on the results endpoint |
| Pagination skips results | Use pagination.nextCursor, not page numbers |
| Python example returns coroutine | Await SDK methods inside an asyncio event loop |
Running an Evaluation
Step 1 — Create run
curl -X POST "https://api.adaline.ai/v2/prompts/$ADALINE_PROMPT_ID/evaluations" \
-H "Authorization: Bearer $ADALINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"evaluatorId": "evaluator_abc123",
"datasetId": "dataset_abc123"
}'
The response returns runId. Use that value as evaluationId in status/results/cancel calls.
Step 2 — Poll status
curl "https://api.adaline.ai/v2/prompts/$ADALINE_PROMPT_ID/evaluations/$RUN_ID" \
-H "Authorization: Bearer $ADALINE_API_KEY"
Step 3 — Fetch results
curl "https://api.adaline.ai/v2/prompts/$ADALINE_PROMPT_ID/evaluations/$RUN_ID/results?grade=fail&expand=row&limit=50" \
-H "Authorization: Bearer $ADALINE_API_KEY"
Step 4 — Cancel if needed
curl -X POST "https://api.adaline.ai/v2/prompts/$ADALINE_PROMPT_ID/evaluations/$RUN_ID/cancel" \
-H "Authorization: Bearer $ADALINE_API_KEY"
SDK Usage
const run = await adaline.prompts.evaluations.create({
promptId,
evaluation: { evaluatorId, datasetId },
});
const status = await adaline.prompts.evaluations.get({
promptId,
evaluationId: run.runId,
});
const results = await adaline.prompts.evaluations.results.list({
promptId,
evaluationId: run.runId,
grade: 'fail',
expand: 'row',
});
run = await adaline.prompts.evaluations.create(
prompt_id=prompt_id,
evaluation=CreateEvaluationRequest(evaluator_id=evaluator_id, dataset_id=dataset_id),
)
status = await adaline.prompts.evaluations.get(
prompt_id=prompt_id,
evaluation_id=run.run_id,
)
results = await adaline.prompts.evaluations.results.list(
prompt_id=prompt_id,
evaluation_id=run.run_id,
grade="fail",
expand="row",
)
Best Practices
- Use one evaluator per run; create multiple runs when you need multiple evaluators.
- Persist
runIdin CI or job metadata so later steps can poll and fetch results. - Poll status with backoff; do not tight-loop.
- Gate deploy/promotion on terminal status and acceptable metrics.
- Inspect failing rows with
grade=fail&expand=row.
References
See references/api.md for request/response schemas and curl examples.