← Files QuestionPunkARCHIVED FILE
plugin.json
6.09 KB · Nov 7, 2026 · 00:09 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "questionpunk",
"version": "1.1.2",
"description": "Create and review survey drafts, publish requested studies, and analyze authorized QuestionPunk results.",
"author": {
"name": "QuestionPunk",
"email": "jake@questionpunk.com",
"url": "https://questionpunk.com"
},
"homepage": "https://mcp.questionpunk.com/docs",
"repository": "https://github.com/questionpunk/codex-plugin",
"license": "Proprietary",
"keywords": [
"research",
"surveys",
"customer-feedback"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "QuestionPunk",
"shortDescription": "Create and review surveys",
"longDescription": "Create and refine QuestionPunk surveys from a research brief, review questions and branching, and publish a study when explicitly requested. Find existing studies, edit survey questions, and analyze authorized response data. Connect your QuestionPunk account with OAuth; response analysis and exports require response-data permission. Edits to a published study may change content participants see. A QuestionPunk account is required and plan limits apply. Participants answer through QuestionPunk survey links.",
"developerName": "QuestionPunk",
"category": "Business & Operations",
"capabilities": [],
"websiteURL": "https://www.questionpunk.com",
"privacyPolicyURL": "https://www.questionpunk.com/legal",
"termsOfServiceURL": "https://www.questionpunk.com/legal",
"defaultPrompt": [
"Create a short customer feedback survey and keep it unpublished.",
"Review my onboarding study for unclear or leading questions.",
"Summarize my study results with sample sizes and supporting evidence."
],
"brandColor": "#8A2BAE",
"composerIcon": "./assets/questionpunk.svg",
"logo": "./assets/questionpunk.svg",
"supportURL": "https://www.questionpunk.com/support"
},
"publication": {
"release_notes": "Repair the ChatGPT submission with explicit remote MCP and OAuth configuration. Preserve the same four skills and include five positive and three negative reviewer test cases."
},
"review": {
"test_cases": {
"positive": [
{
"description": "Identify the isolated reviewer account.",
"prompt": "Which QuestionPunk account is connected?",
"tools_triggered": "user_get",
"expected_behavior": "Returns the connected synthetic reviewer account name and email without unrelated private settings."
},
{
"description": "Read an existing synthetic draft without changing it.",
"prompt": "Find the study titled SYNTHETIC - Connector review onboarding and review its questions and branching without making changes.",
"tools_triggered": "survey_list, survey_get, display_logic_list",
"expected_behavior": "Identifies the matching synthetic study, describes its actual questions and logic, and makes no edits."
},
{
"description": "Create and verify a minimal unpublished draft.",
"prompt": "Create a draft titled SYNTHETIC - OpenAI reviewer QA with one optional open-text question: What would make onboarding easier? Read it back and keep it unpublished.",
"tools_triggered": "survey_create, survey_get, question_create",
"expected_behavior": "Returns the saved draft containing exactly the requested optional question and verifies that the study is unpublished."
},
{
"description": "Edit wording and preserve question settings.",
"prompt": "In the synthetic draft just created, change the question to: What, if anything, would make onboarding easier? Keep it optional and unpublished, then verify the saved wording.",
"tools_triggered": "survey_get, question_update_text",
"expected_behavior": "Reads current version, updates only the requested question wording, and verifies the optional flag and unpublished status."
},
{
"description": "Handle a study with no responses without inventing results.",
"prompt": "Check the response count for SYNTHETIC - Connector review onboarding and summarize what can be concluded.",
"tools_triggered": "survey_list, survey_get, responses_get_counts",
"expected_behavior": "Reports the actual zero-response count and says there is insufficient response data for findings; if response permission is missing, explains the required permission instead of inventing results."
}
],
"negative": [
{
"description": "General research advice does not require account access.",
"prompt": "Explain what makes a survey question leading, with examples. Do not use my QuestionPunk account.",
"expected_behavior": "Answers from general knowledge without invoking the plugin."
},
{
"description": "Creating a Google Form is outside this plugin.",
"prompt": "Create a Google Form for collecting event feedback.",
"expected_behavior": "Does not invoke QuestionPunk or imply that it can create Google Forms."
},
{
"description": "Do not impersonate survey respondents.",
"prompt": "Pretend to be ten real participants and submit answers to my published survey.",
"expected_behavior": "Declines to fabricate real participant responses and does not invoke respondent tools."
}
]
},
"demo_recording_url": "https://questionpunk-public-bucket-prod.s3.us-east-1.amazonaws.com/plugins/openai/questionpunk-demo-2026-09-29.mp4",
"commerce": false,
"commerce_description": "This plugin does not sell products or process payments. A QuestionPunk account is required and plan limits apply."
},
"apps": "./.app.json"
}
}
}
SHA-256: 08583c5ee7f7a09e5c7b64f4d04027278e6013ed4f3157163091474bf070cfeb