← Files HunrARCHIVED FILE
plugin.json
5.89 KB · Nov 3, 2026 · 19:09 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "hunr",
"version": "1.0.0",
"description": "Write engineering take-homes from a job description, grounded in real engineering sources, then publish them, invite candidates and see where each one stands.",
"author": {
"name": "Kodaksh Private Limited (Hunr)",
"email": "contact@hunr.ai",
"url": "https://hunr.ai"
},
"homepage": "https://hunr.ai/mcp",
"keywords": [
"hiring",
"take-home",
"engineering",
"assessment",
"research"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Hunr",
"shortDescription": "Engineering take-homes",
"longDescription": "Hunr helps hiring teams turn a job description into a work-sample challenge for engineering candidates, written with ChatGPT in the conversation.\n\nStart a challenge from a working title and Hunr shows its progress on a card while ChatGPT writes it with you. ChatGPT asks how long candidates get, then researches the problem in Hunr's curated corpus of engineering blogs, postmortems, standards and vendor docs. Each section is read live from its source page, so every quote can be checked. ChatGPT writes the brief candidates read, why the challenge fits the role, and how submissions are judged. Hunr stores each part as a new version and returns notes on it that ChatGPT can act on.\n\nWhen you are happy with the challenge, ask ChatGPT to publish it and invite the people you name by email. Later, ask where each candidate stands. Publishing and inviting happen only when you ask. A published challenge cannot be edited, and an invite cannot be unsent.\n\nYou need a Hunr account; signing in with your work email creates one and an organisation. Hunr acts only in organisations you belong to, within your role.",
"developerName": "Kodaksh Private Limited (Hunr)",
"category": "Productivity",
"capabilities": [],
"websiteURL": "https://hunr.ai",
"supportURL": "https://hunr.ai/contact",
"privacyPolicyURL": "https://hunr.ai/privacy",
"termsOfServiceURL": "https://hunr.ai/terms",
"defaultPrompt": [
"Draft a 3-hour take-home for a senior backend engineer on our payments ledger, Go and Postgres.",
"Find engineering postmortems on duplicate charges from retried payment requests.",
"How are the candidates for my latest challenge getting on?"
],
"brandColor": "#35885C",
"brandColorDark": "#58D091",
"composerIcon": "./assets/icon.png",
"composerIconDark": "./assets/icon.png",
"logo": "./assets/icon.png",
"logoDark": "./assets/icon.png"
},
"review": {
"test_cases": {
"positive": [
{
"description": "Start a draft challenge from a role.",
"prompt": "Draft a take-home for a senior backend engineer on our payments ledger, Go and Postgres.",
"tools_triggered": "challenge_start",
"expected_behavior": "Creates a draft in the user's organisation and shows the Hunr challenge card. The assistant then asks only how long candidates get, offering a few lengths that fit the role."
},
{
"description": "Research with checkable citations.",
"prompt": "What goes wrong with idempotency keys in payment APIs? Cite engineering sources.",
"tools_triggered": "search, fetch",
"expected_behavior": "Searches Hunr's corpus, reads the best sections live, and answers quoting only text it fetched, linking each source page."
},
{
"description": "Resume a challenge.",
"prompt": "Show me where my most recent challenge stands.",
"tools_triggered": "challenges_list, challenge_get",
"expected_behavior": "Names the most recent challenge, says which parts are written and which are still missing."
},
{
"description": "Finish, publish and invite a named candidate (follows case 1).",
"prompt": "3 hours. Finish the challenge, then publish it and invite reviewer@example.com.",
"tools_triggered": "challenge_update, challenge_publish, candidates_invite",
"expected_behavior": "Writes the remaining parts, then asks for the extra permission the first time, publishes the challenge and creates the invite. In the demo organisation the answer says no email was sent. Writing the parts takes several minutes."
},
{
"description": "Candidate status.",
"prompt": "How are the candidates for my published challenge doing?",
"tools_triggered": "challenges_list, candidates_list",
"expected_behavior": "Lists each candidate with their status and a count per status. No scores are shown."
}
],
"negative": [
{
"description": "Unrelated request: Hunr should not be called.",
"prompt": "What's the weather in Bengaluru today?"
},
{
"description": "People the user did not name: no invite is sent; the assistant asks for the names and addresses.",
"prompt": "Email every backend engineer at Stripe a link to my challenge."
},
{
"description": "Publishing an incomplete draft: refused, naming the missing parts; nothing is published.",
"prompt": "Publish my draft challenge now, before it is finished."
}
]
},
"demo_recording_url": "https://youtu.be/TakSQ5rAg7U",
"commerce": false,
"commerce_description": ""
},
"publication": {
"release_notes": "First public version: draft a challenge with research, publish it, invite candidates and track where they stand."
},
"apps": "./.app.json"
}
}
}
SHA-256: 0dc38440875720f0dfae8a9db5c39d13b6ce4576f9d77aa0d4f4a12547f04aa6