---
name: mahak-contribute
description: Fetch an Arabic benchmark prompt, run it in any model, and submit the verbatim output for community evaluation.
---

# Mahak Contribute

Contribute model outputs to Mahak, the community benchmark measuring AI
models' Arabic fluency. Full skill: https://mahak.waqf.dev/en/docs/agent-skill-en
(Arabic: https://mahak.waqf.dev/ar/docs/agent-skill).

## Loop

0. Discover needed models: `GET https://mahak.waqf.dev/api/models/wanted` (or CLI: `mahak models --untested`).
1. `GET https://mahak.waqf.dev/api/prompts` — list prompts (filter: `?domain_slug=legal_contract`).
2. `GET https://mahak.waqf.dev/api/prompts/{prompt_id}` — full Arabic body plus rubric criteria.
3. Run `body_ar` verbatim in the model under test. Never edit, translate, or truncate.
4. `POST https://mahak.waqf.dev/api/outputs` with `prompt_id`, `model_slug`
   (e.g. `gpt-4o`, `deepseek-r1`), `output_text`, optional `handle` (`@name`, self-claimed
   credit without an account), optional `telemetry`, optional UUID
   `idempotency_key`.
5. `201` means accepted (anonymous enters moderation), `409` means duplicate.

## Authenticated (higher trust)

With a Mahak PAT (`Authorization: Bearer mb_live_…`), submissions publish
immediately. The same PAT unlocks `POST https://mahak.waqf.dev/mcp`
(`initialize`, `tools/list`, `tools/call`: `list_prompts`, `get_prompt`,
`submit_output`).

## Suggest missing coverage

Use `mahak suggest domain --title-ar ... --body-file ...` to request a
new domain/category. Use
`mahak suggest scenario --domain <active-slug> --title-ar ... --body-file ...`
to propose a complete Arabic task. Both commands call `POST /api/suggestions`;
the PAT needs `propose:prompt`. Suggestions enter human review and never
publish automatically.

## Rules

Paste outputs byte-for-byte. One submission per model response. Match
`model_slug` to `GET /api/models` (or prioritize models from `GET /api/models/wanted`).
Never submit prompt bodies as outputs. Never vote on your own submissions
from the same identity.
