Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when you need to drive SynthLabs generation through backend routes instead of the UI.
.claude/skills/mkurman-synthlabs-generation/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 127% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 5% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -23% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 58% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 258% | 0% |
Use this skill for repeatable, backend-first SynthLabs workflows such as listing sessions, creating sessions, and calling generation routes from a healthy local instance. This skill documents existing SynthLabs HTTP routes and zorai workflow guidance only. Do not assume dedicated zorai SynthLabs tools exist.
Use this skill when:
Do not use this skill when:
GET /api/sessions and POST /api/sessions for repeatable session discovery and session setup.synthlabs-ui-operator.synthlabs-ui-operator when the operator needs to inspect prompts, review generated rows, enter provider credentials, use DEEP mode, or confirm output visually.POST /api/ai/generate or POST /api/ai/generate/stream only when you already have a SynthLabs-compatible encrypted apiKey value.server/utils/keyEncryption.js decrypts apiKey with AES-256-CBC using a key derived from VITE_API_KEY_SALT or API_KEY_SALT.synthlabs-setup or the SynthLabs UI instead of guessing the encryption format.List recent sessions from a healthy local backend:
bashcurl -fsS "http://localhost:8787/api/sessions?limit=20"
Create a minimal session shell before generation work:
bashcurl -fsS -X POST "http://localhost:8787/api/sessions" \ -H "Content-Type: application/json" \ -d '{ "name": "zorai generation run", "source": "zorai" }'
If you know the running instance expects mode metadata, extend the payload with fields the backend stores such as appMode, engineMode, externalModel, or config.
Use a direct generation route only with an encrypted key value produced by a compatible SynthLabs client or UI flow:
bashcurl -fsS -X POST "http://localhost:8787/api/ai/generate" \ -H "Content-Type: application/json" \ -d '{ "apiKey": "<encrypted iv:ciphertext value from SynthLabs-compatible flow>", "provider": "openai", "model": "gpt-4.1-mini", "baseUrl": "https://api.openai.com/v1", "systemPrompt": "You generate concise synthetic reasoning samples.", "userPrompt": "Produce 3 algebra tutoring examples in SYNTH-style JSON.", "outputFormat": "json" }'
apiKey value.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-02 | fail→pass | 6,771 | 9,705 | +43% | 1 | 1 | 0% | 1,229 | 2,788 | +127% | 0 | 0 | — |
case-03 | fail→pass | 9,773 | 5,388 | -45% | 1 | 1 | 0% | 1,847 | 1,947 | +5% | 0 | 0 | — |
case-01 | fail→fail | 7,346 | 5,112 | -30% | 1 | 1 | 0% | 509 | 1,319 | +159% | 0 | 0 | — |
case-04 | fail→pass | 13,547 | 5,955 | -56% | 1 | 1 | 0% | 2,573 | 1,992 | -23% | 0 | 0 | — |
case-05 | fail→pass | 6,415 | 4,345 | -32% | 1 | 1 | 0% | 1,142 | 1,806 | +58% | 0 | 0 | — |
case-06 | pass→pass | 8,169 | 5,066 | -38% | 1 | 1 | 0% | 1,334 | 1,804 | +35% | 0 | 0 | — |
case-07 | fail→pass | 3,175 | 4,935 | +55% | 1 | 1 | 0% | 549 | 1,964 | +258% | 0 | 0 | — |
case-17 | fail→pass | 10,471 | 4,492 | -57% | 1 | 1 | 0% | 1,626 | 1,832 | +13% | 0 | 0 | — |
case-08 | fail→pass | 5,776 | 1,474 | -74% | 1 | 1 | 0% | 922 | 1,214 | +32% | 0 | 0 | — |
case-09 | fail→pass | 4,962 | 3,178 | -36% | 1 | 1 | 0% | 876 | 1,511 | +72% | 0 | 0 | — |
case-10 | pass→pass | 2,592 | 3,099 | +20% | 1 | 1 | 0% | 416 | 1,645 | +295% | 0 | 0 | — |
case-11 | fail→fail | 6,914 | 1,971 | -71% | 1 | 1 | 0% | 998 | 1,311 | +31% | 0 | 0 | — |
case-12 | fail→pass | 13,628 | 1,990 | -85% | 1 | 1 | 0% | 2,371 | 1,391 | -41% | 0 | 0 | — |
case-13 | fail→pass | 14,210 | 2,741 | -81% | 1 | 1 | 0% | 2,564 | 1,489 | -42% | 0 | 0 | — |
case-14 | fail→pass | 12,307 | 3,732 | -70% | 1 | 1 | 0% | 1,898 | 1,665 | -12% | 0 | 0 | — |
case-15 | fail→pass | 11,405 | 3,335 | -71% | 1 | 1 | 0% | 1,766 | 1,580 | -11% | 0 | 0 | — |
case-16 | fail→pass | 6,190 | 2,331 | -62% | 1 | 1 | 0% | 1,212 | 1,512 | +25% | 0 | 0 | — |
case-18 | fail→pass | 6,521 | 1,731 | -73% | 1 | 1 | 0% | 1,101 | 1,258 | +14% | 0 | 0 | — |
case-19 | fail→pass | 18,290 | 17,437 | -5% | 1 | 1 | 0% | 548 | 2,308 | +321% | 0 | 0 | — |
case-20 | fail→pass | 13,097 | 1,978 | -85% | 1 | 1 | 0% | 2,039 | 1,317 | -35% | 0 | 0 | — |
case-21 | pass→pass | 8,689 | 4,235 | -51% | 1 | 1 | 0% | 1,433 | 1,741 | +21% | 0 | 0 | — |
case-22 | pass→pass | 11,189 | 3,610 | -68% | 1 | 1 | 0% | 1,905 | 1,620 | -15% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +73 percentage points is the difference between those two pass rates over the 21 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.