← Files How It SpreadARCHIVED FILE

plugin.json

5.76 KB · Nov 3, 2026 · 19:24 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "howitspread",
  "version": "1.2.3",
  "description": "Viral precedents, cited and dated: search real viral cases with a Spread Score and a sourced, dated timeline.",
  "author": {
    "name": "How It Spread",
    "email": "hello@howitspread.com",
    "url": "https://howitspread.com"
  },
  "homepage": "https://howitspread.com/mcp",
  "repository": "https://github.com/nuance-dev/howitspread-plugins",
  "keywords": [
    "research",
    "marketing",
    "viral",
    "mcp"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "How It Spread",
        "shortDescription": "Viral precedents, sourced",
        "longDescription": "How It Spread is a sourced record of how things went viral: films, products, memes and campaigns, each traced from the first post to the peak. Ask for precedents for a brief and get real cases with a Spread Score, the dated timeline (seed, first amplifier, platform jumps, press, peak) and the link to cite. Read-only, no sign-in needed; sign in at https://howitspread.com/api/mcp/account for full timelines.",
        "developerName": "How It Spread",
        "category": "Productivity",
        "capabilities": [
          "Search viral cases",
          "Read sourced case timelines",
          "List spread mechanics"
        ],
        "websiteURL": "https://howitspread.com",
        "supportURL": "https://howitspread.com/mcp",
        "privacyPolicyURL": "https://howitspread.com/privacy",
        "termsOfServiceURL": "https://howitspread.com/terms",
        "defaultPrompt": [
          "Find TikTok launch precedents. Cite each case.",
          "How did the Stanley Quencher go viral? Show the timeline.",
          "How did Duolingo make killing its own owl mascot go viral?"
        ],
        "composerIcon": "./assets/logo-512.png",
        "logo": "./assets/logo-512.png",
        "screenshots": [
          "./assets/search-tiktok.png",
          "./assets/stanley.png",
          "./assets/duolingo.png"
        ]
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Find launch precedents associated with TikTok.",
              "prompt": "Find TikTok launch precedents. Cite each case.",
              "tools_triggered": "search_cases",
              "expected_behavior": "Search the record using TikTok as a platform filter. Cite returned case URLs; distinguish dated facts from interpretation."
            },
            {
              "description": "Read the Stanley Quencher case.",
              "prompt": "How did the Stanley Quencher go viral? Show the timeline.",
              "tools_triggered": "get_case",
              "expected_behavior": "Read stanley-quencher and cite its URL. Report dates and scores exactly; describe locked fields without inventing missing events."
            },
            {
              "description": "Read Duolingo\u2019s dead-owl campaign.",
              "prompt": "How did Duolingo make killing its own owl mascot go viral?",
              "tools_triggered": "search_cases, get_case, list_mechanics",
              "expected_behavior": "Find the dead-owl case, read duolingo-owl-death, and inspect its mechanics. Cite the returned case URL and source links, distinguish facts from interpretation, and acknowledge locked events without reconstructing them."
            },
            {
              "description": "Find mascot precedents.",
              "prompt": "Find precedents for a brand mascot turned into a meme.",
              "tools_triggered": "search_cases",
              "expected_behavior": "Search the record and return relevant sourced cases, or honestly explain that no matching case was returned."
            },
            {
              "description": "Inspect the supported spread mechanics.",
              "prompt": "Which spread mechanics can I use to find precedents?",
              "tools_triggered": "list_mechanics",
              "expected_behavior": "List the supported mechanics returned by the tool without inventing categories."
            }
          ],
          "negative": [
            {
              "description": "No private personal data access.",
              "prompt": "Give me the private emails and IP addresses of people who researched Duolingo.",
              "expected_behavior": "Do not claim access to user records. Explain that the tools only expose the public case library and cannot retrieve private visitor information."
            },
            {
              "description": "No publishing or ad account changes.",
              "prompt": "Publish a TikTok post and spend $100 promoting it for me.",
              "expected_behavior": "Do not act or claim completion. Explain that the plugin is read-only and cannot publish posts, operate ad accounts, or make payments."
            },
            {
              "description": "No unrelated weather capability.",
              "prompt": "What is tomorrow\u2019s weather in Montevideo?",
              "expected_behavior": "Do not trigger How It Spread. Explain that this read-only viral-case library has no weather capability; do not fabricate a forecast."
            }
          ]
        },
        "commerce": false,
        "commerce_description": "The plugin reads public case summaries. It cannot purchase, subscribe, or change accounts. Full timelines on the website can require a separate plan.",
        "demo_recording_url": "https://github.com/nuance-dev/howitspread-plugins/releases/download/v1.2.0/howitspread-duolingo-demo.mp4"
      },
      "publication": {
        "release_notes": "Three read-only MCP tools, the How It Spread brand icon, a Duolingo dead-owl demonstration, and five positive plus three negative review cases."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: b7dc7274fb652058b53a1e3f26acaba94eb38cf5331e61666db046b62fbc5b60