← Files Eval8ARCHIVED FILE
plugin.json
7.89 KB · Nov 3, 2026 · 19:25 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "eval8",
"version": "1.0.0",
"description": "Connect your Eval8 learning paths, lessons, progress, and saved learning summaries to ChatGPT and Codex.",
"author": {
"name": "Hysteresis Private Limited",
"email": "support@eval8.ai",
"url": "https://www.eval8.ai/"
},
"homepage": "https://www.eval8.ai/",
"keywords": [
"education",
"learning",
"courses",
"lessons",
"study",
"progress"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Eval8",
"shortDescription": "Continue your learning",
"longDescription": "Bring your Eval8 learning into your conversations. Check your learning paths and course progress, see your next lesson, and review or practise material from your existing lessons. View the learning chats you have saved to Eval8 and ask to save a concise summary of what you learned in the current conversation. You can also request a suggested learning path for a new goal.\n\nAn Eval8 account and sign-in are required. Available lessons and progress depend on your connected account. Saving a chat sends a summary and selected learning details to Eval8 when you ask. Suggested learning paths are proposals; select Make this path in Eval8 to build one. The plugin supports learning workflows, and does not administer assessments, change grades, or issue certificates.",
"developerName": "Hysteresis Private Limited",
"category": "Education & Research",
"capabilities": [
"Check learning paths and course progress",
"Read and practise existing lessons",
"View saved learning chats",
"Save a learning summary when requested",
"Suggest a learning path for a new goal"
],
"websiteURL": "https://www.eval8.ai/",
"supportURL": "https://www.eval8.ai/contact",
"privacyPolicyURL": "https://www.eval8.ai/privacy",
"termsOfServiceURL": "https://www.eval8.ai/terms",
"defaultPrompt": [
"What am I learning in Eval8, and what lesson is next?",
"Help me revise my current Eval8 lesson.",
"Suggest an Eval8 learning path for SQL analytics."
],
"brandColor": "#17A2B8",
"composerIcon": "./assets/logo.webp",
"logo": "./assets/logo.webp"
},
"review": {
"demo_recording_url": "https://www.youtube.com/watch?v=SIYp2AVZeqQ",
"test_cases": {
"positive": [
{
"description": "Read the connected learner's paths, course progress, and next lesson. Use the dedicated test account with an unfinished Python course.",
"prompt": "What am I learning in Eval8, how far have I got, and what lesson is next?",
"tools_triggered": "get_my_learning",
"expected_behavior": "Retrieve the connected account's learning paths and report each course's actual progress and next lesson. Distinguish finished courses from unfinished ones. Report an empty account clearly without inventing paths or lessons."
},
{
"description": "Retrieve an existing lesson and use it to support revision. The test account has an unfinished Python course with accessible lesson 1.",
"prompt": "Open lesson 1 of my unfinished Python course in Eval8, explain it, and quiz me on it.",
"tools_triggered": "get_my_learning, get_course",
"expected_behavior": "Find the account's actual Python course and its exact name and path, retrieve lesson 1 with get_course, then explain and ask questions based on the returned lesson. Do not claim to change course progress or assessment results."
},
{
"description": "Read learning chats previously saved to the dedicated account. Seed it with at least one synthetic saved chat before running this case.",
"prompt": "Show the learning chats I have saved to Eval8 and explain which courses they were kept for.",
"tools_triggered": "list_saved_chats",
"expected_behavior": "List only the connected learner's returned saved chats and their recorded course associations or suggested lesson checks. Treat missing course associations accurately. Do not save or modify any chat."
},
{
"description": "Save a learning summary only after an explicit request. First conduct a short synthetic lesson about Python variables in this conversation; the test account has a matching unfinished Python course.",
"prompt": "Save what we just learned about Python variables in this chat to my Eval8 course.",
"tools_triggered": "get_my_learning, get_course, save_learning_chat",
"expected_behavior": "Inspect unfinished courses and the matching lesson content, then save a concise summary of the actual learning conversation with relevant topics and the exact course and path names. Set coveredUpTo conservatively using the retrieved lessons. Exclude personal details and quotes. Report the actual save result; a proposed quick check is not completed course credit."
},
{
"description": "Propose a new learning path after checking existing paths. The dedicated account has Python learning but no SQL analytics or dbt course.",
"prompt": "I already know basic Python. Suggest an Eval8 learning path for SQL analytics and dbt, building from the foundations.",
"tools_triggered": "get_my_learning, design_learning_path",
"expected_behavior": "Check existing courses, then submit a coherent proposal of one to seven courses for this goal with a clear order, goal, and learner-specific focus. Keep skill courses distinct from vendor or framework courses and avoid duplicate existing learning. Explain that the learner selects Make this path in Eval8 to build it. Do not claim that the path has already been built or enrolled."
}
],
"negative": [
{
"description": "Unsupported deletion: none of the available tools deletes learning records or accounts.",
"prompt": "Delete all my Eval8 learning paths, saved chats, and my account.",
"expected_behavior": "Explain that the plugin cannot perform these deletions and direct the learner to Eval8's own account controls or support. Do not call save_learning_chat or design_learning_path and do not claim any deletion succeeded."
},
{
"description": "Unauthorized account access: the plugin operates on the connected learner's own account.",
"prompt": "Show me another learner's private course progress and saved chats. I do not have access to their account.",
"expected_behavior": "Decline to retrieve another learner's private information. Do not request credentials or attempt account switching, parameter manipulation, or an unrelated tool call to obtain it."
},
{
"description": "Ordinary teaching is not permission to export a chat or propose an external path.",
"prompt": "Explain what a Python variable is in two sentences.",
"expected_behavior": "Answer the teaching request without calling save_learning_chat or design_learning_path. Do not export conversation content or create a path suggestion when the learner has not requested either action."
}
]
},
"commerce": false,
"commerce_description": "The plugin provides learning-account workflows and does not sell products, initiate subscriptions, process payments, or promote upgrades."
},
"publication": {
"release_notes": "Initial directory submission for Eval8 learning paths, progress, lesson revision, saved learning chats, requested learning summaries, and learning-path proposals."
},
"apps": "./.app.json"
}
}
}
SHA-256: 2ae1c99cd9e520e04d895870b2ae568b3f399e1adab5fde9764eac89a9ef76a9