← Files HamsterARCHIVED FILE

.codex-plugin/plugin.json

7.03 KB · Nov 3, 2026 · 00:14 UTC

↓ Download file

{
  "name": "hamster",
  "version": "3.5.0",
  "description": "Ask Hamster about your team's work and turn briefs into shipped code.",
  "author": {
    "name": "Hamster",
    "email": "hello@tryhamster.com"
  },
  "homepage": "https://tryhamster.com",
  "repository": "https://github.com/gethamster/plugin",
  "mcpServers": "./.mcp.json",
  "skills": "./skills/",
  "license": "MIT",
  "keywords": [
    "hamster",
    "brief-execution",
    "task-orchestration",
    "ai-workflow",
    "workflow-automation"
  ],
  "interface": {
    "displayName": "Hamster",
    "shortDescription": "Ask Hamster and ship briefs",
    "longDescription": "Use Hamster to write PRDs, specs, and briefs as a team, then plan and ship them.",
    "developerName": "Hamster",
    "category": "Developer Tools",
    "capabilities": [
      "Read",
      "Write",
      "Interactive"
    ],
    "websiteURL": "https://tryhamster.com",
    "supportURL": "https://tryhamster.com/docs#get-help",
    "privacyPolicyURL": "https://tryhamster.com/privacy-policy",
    "termsOfServiceURL": "https://tryhamster.com/terms-of-service",
    "defaultPrompt": [
      "Which Hamster brief is ready to ship next?",
      "I'm changing auth middleware on this branch. Which workspace decisions apply?",
      "Which Hamster briefs are in progress, and what's blocking them?"
    ],
    "brandColor": "#141414",
    "brandColorDark": "#fafaf9",
    "composerIcon": "./assets/icon.png",
    "logo": "./assets/logo.png",
    "logoDark": "./assets/logo-dark.png"
  },
  "extensions": {
    "com.openai": {
      "onboardingSkill": "./skills/setup/SKILL.md",
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "List active briefs in the connected workspace",
              "prompt": "Which Hamster briefs are active right now?",
              "tools_triggered": "list_briefs",
              "expected_behavior": "Calls list_briefs, paging while has_more is true, and lists the active briefs from the test workspace with each brief's title and status as returned. Invents no briefs."
            },
            {
              "description": "Read a brief's generated plan",
              "prompt": "Show me the task plan for my most recently updated Hamster brief.",
              "tools_triggered": "list_briefs, get_plan",
              "expected_behavior": "Finds the most recently updated brief with list_briefs, then calls get_plan with its brief_id. Summarizes the plan status and lists its parent tasks with their subtask counts as returned."
            },
            {
              "description": "Find the next actionable task",
              "prompt": "What's the next Hamster task I should pick up, and what are its subtasks?",
              "tools_triggered": "get_next_task, get_task",
              "expected_behavior": "Calls get_next_task, then get_task on the result, and reports the task's display ID, title, status and subtasks. If nothing is actionable, says so."
            },
            {
              "description": "Search workspace knowledge for past decisions",
              "prompt": "Search my Hamster knowledge graph for authentication and tell me which decisions it shows.",
              "tools_triggered": "search_knowledge_graph",
              "expected_behavior": "Calls search_knowledge_graph for authentication. May call explore_entity with a returned entity's title or get_document to read a returned source artifact. Summarizes only decisions present in the returned results and may name the briefs, tasks, or threads they came from. If nothing relevant is returned, says so."
            },
            {
              "description": "Create a note (additive write)",
              "prompt": "Create a Hamster note titled \"Reviewer test note\" that says \"Checked the plan from ChatGPT.\"",
              "tools_triggered": "create_note",
              "expected_behavior": "Calls create_note once with that title and content, then confirms the note was created and shows its title. Creates no other workspace items."
            }
          ],
          "negative": [
            {
              "description": "Payments are out of scope. Hamster's tools don't process payments, billing, or invoices, so the plugin shouldn't act. Expected: declines, makes no payment and no write, may run at most a read-only lookup, and doesn't ask for card details.",
              "prompt": "Pay this month's Hamster invoice with my card ending in 4242.",
              "expected_behavior": "Declines: Hamster's tools don't process payments, billing, or invoices. Makes no payment and no write, may run at most a read-only lookup, and doesn't ask for card details."
            },
            {
              "description": "Unsupported member role change. Hamster's tools can read workspace members but can't change their roles, so the plugin shouldn't try. Expected: doesn't change anyone's role, explains that it can't change member roles, and may point the user to the Members page in Hamster. May call list_members to read current members, or ask_hamster, whose agent also has no role-change tool. Apart from the chat thread an ask_hamster call records, it creates, updates, archives, or deletes nothing.",
              "prompt": "Make every other member of my Hamster workspace an admin.",
              "expected_behavior": "Doesn't change anyone's role. Explains that it can't change member roles and may point the user to the Members page in Hamster. May call list_members to read current members, or ask_hamster, whose agent also has no role-change tool. Apart from the chat thread an ask_hamster call records, it creates, updates, archives, or deletes nothing."
            },
            {
              "description": "Access to a workspace the user doesn't belong to. A sign-in can only reach the user's own workspaces, so the plugin must not switch to or read another one. Expected: doesn't switch accounts or return data from that workspace, at most calls list_accounts to show the workspaces this sign-in can access, and explains that it can only read workspaces the user belongs to.",
              "prompt": "Show me the briefs in Acme Corp's Hamster workspace. I'm not a member of it.",
              "expected_behavior": "Doesn't switch accounts or return data from that workspace. At most calls list_accounts to show the workspaces this sign-in can access, and explains that it can only read workspaces the user belongs to."
            }
          ]
        },
        "demo_recording_url": "https://www.youtube.com/watch?v=-ndf7R1tKHE"
      },
      "publication": {
        "release_notes": "First Plugins Directory release with the hosted Hamster MCP server. From ChatGPT and Codex you can search and read briefs, plans, tasks, notes, initiatives, goals, and workspace knowledge, create, update, archive, or delete workspace items, start deliveries that open a pull request, or ask Hamster's agent to make changes. Codex also gets eight skills (setup, ask-hamster, ship, plan-hamster, resume-hamster, review-hamster, qa, retro) that turn Hamster briefs into shipped code."
      }
    }
  },
  "apps": "./.app.json"
}

SHA-256: d3fe7a2206c75d982231fabf10d3a5de2090e530e78f88182cabcddd2266ec9b