Skip to content

[External Plugin]: specstream #6210

Closed
Closed

Description

@Specstreamai

Plugin name

specstream

Short description

Ask for structured data from the live web in plain words (companies, repositories, packages, papers, grants, vulnerabilities and more). Copilot reads the request back, shows the most it can cost, and returns rows where every value links to the page it came from.

GitHub repository

specstream/specstream-tools

Plugin path inside the repository

plugins/github-agent

Ref to review

v1.2.0

Commit SHA to review

73909167fe82d60e1d2823396422ffbfbcb23b9c

Version

1.2.0

License identifier

MIT

Author name

SpecStream

Author URL

https://specstream.ai

Homepage URL

https://github.com/specstream/specstream-tools/tree/main/plugins/github-agent

Keywords

mcp
research
sources
web
data

Additional notes for reviewers

I work at SpecStream, the company behind this service. This replaces #5093, which never entered the intake workflow. The plugin files are unchanged from the tag in #5093.

What is in the bundle. plugin.json (Agent Plugins 1.0.0), mcp.json (one remote server, streamable HTTP, https://api.specstream.ai/mcp) and four skills under skills/: compile, review-work, approve-work, continue-work. No hooks, scripts, binaries or agents. No key is stored in any file. mcp.json reads the API key from the user's account in the SPECSTREAM_API_KEY variable.

What it does for a Copilot user, inside the editor. A user asks Copilot for data that has conditions, for example "open source packages for a given ecosystem that have a permissive license and a release this year". The skills then work as steps in the chat:

  1. compile reads the request back: what is being looked for, which conditions every row must meet, which facts to bring back. Nothing runs and nothing is charged.
  2. review-work asks for the quote and shows the most the run can cost, in text, before anything starts. A quote does not spend any balance.
  3. approve-work starts the run only after the user approves that maximum. It needs the quote ID, the quote hash and the approved amount, and it never raises the amount on its own.
  4. continue-work reads the rows in the chat. Each value comes with the page it was read from and when. The user can export a CSV, Excel, JSON or HTML file, or send rows to Google Sheets, Excel, Notion, Airtable, HubSpot, Salesforce or an Outlook draft. Reading, exporting and sharing cost nothing.

On the funnel concern in the paid services guidance (discussion 968). The skills are written to keep the user in the editor and away from any sales path:

  • approve-work says: "Do not top up, subscribe, add a seat or open a payment page." If the balance is missing, the agent says what is missing and keeps the request.
  • review-work says plans and top-ups live in the user's account, not in chat.
  • The skills never ask for an API key in chat. The key stays in the user's environment.
  • A user can try the whole path without paying. New accounts start with $10 of work, no card needed. That covers compile, quote, approval, rows with sources and export. Beyond that, results cost 5 cents, 15 cents or $1 per matching row, plus 5 cents for a person's email and 15 cents for a phone, and nothing when nothing matches. Only matching rows are charged, never more than the approved maximum.

Limits, stated plainly. It is for requests that need many rows that each meet conditions. For one fact, Copilot should just search the web. Requests for people by job title often return few rows. Results depend on what is on public pages at the time of the run, and unsure results are shown as unsure, not filled in. The server is also listed in the official MCP Registry as ai.specstream/specstream.

Setup. Create a key under Agents & API in the SpecStream workspace, set it as SPECSTREAM_API_KEY, then add the plugin. Source, README and license are in the repository.

Submission checklist

  • The plugin lives in a public GitHub repository.
  • The ref and/or sha I provided is immutable (release tag and/or full 40-character commit SHA), not a branch.
  • This submission follows this repository's contribution, security, and responsible AI policies.
  • This plugin is not already listed in the Awesome Copilot marketplace.

Activity

  1. github-actions commented on Nov 3, 2026

    @github-actions
    Contributor

    🔴 Contributor Reputation Check: HIGH risk

    Check Risk
    Profile HIGH
    Credential audit NONE

    Maintainers: please review this contributor before merging.
    See the workflow run for full details.
    Automated check powered by AGT.

  2. added
    needs-review:HIGHContributor reputation check flagged HIGH risk
    ready-for-reviewSubmission passed intake validation and is ready for maintainer review
    and removed
    awaiting-reviewSubmission is waiting for automated intake validation
    on Nov 3, 2026
  3. github-actions commented on Nov 3, 2026

    @github-actions
    Contributor

    ✅ External plugin intake passed

    This submission passed automated intake validation and quality checks and is ready for maintainer review.

    View workflow run · Download full quality gate logs

    Reviewer signals

    These are non-blocking heuristics for maintainer review; they are not evidence of misconduct or low quality.

    Signal Result
    Repository owner Organization-owned (third party)
    Repository age 22 day(s)
    Repository activity 0 stars; 0 watchers; 0 forks
    Repository counts 0 stars · 0 watchers · 0 forks · 1 open issues/PRs
    Homepage heuristics ⚠️ pricing

    Quality gate summary

    Legend: ✅ pass · ⚠️ warning · 🛑 fail

    Gate Status
    spec compliance ✅ pass
    vally lint ✅ pass
    install smoke test ✅ pass
    version match ✅ pass
    ref/sha consistency ✅ pass
    canvas structure ⚪ not_run
    • spec compliance: pass
    • vally lint: pass
    • install smoke test: pass
    • version match: pass
    • ref/sha consistency: pass
    • canvas structure: not_run
    • overall: pass
    spec compliance output (✅ pass)
    Agent Plugins v1.0.0 manifest checks passed for plugin.json.
    
    vally lint output (✅ pass)
    ✅ approve-work (2/2 checks passed)
        ✓ [spec-compliance] All 1 skill(s) are spec-compliant.
            ✓ spec-compliance: All spec checks passed.
        ✓ [valid-refs] All file references across 1 skill(s) are valid.
            ✓ valid-refs: All file references resolve to existing files within the skill directory.
    ✅ compile (2/2 checks passed)
        ✓ [spec-compliance] All 1 skill(s) are spec-compliant.
            ✓ spec-compliance: All spec checks passed.
        ✓ [valid-refs] All file references across 1 skill(s) are valid.
            ✓ valid-refs: All file references resolve to existing files within the skill directory.
    ✅ continue-work (2/2 checks passed)
        ✓ [spec-compliance] All 1 skill(s) are spec-compliant.
            ✓ spec-compliance: All spec checks passed.
        ✓ [valid-refs] All file references across 1 skill(s) are valid.
            ✓ valid-refs: All file references resolve to existing files within the skill directory.
    ✅ review-work (2/2 checks passed)
        ✓ [spec-compliance] All 1 skill(s) are spec-compliant.
            ✓ spec-compliance: All spec checks passed.
        ✓ [valid-refs] All file references across 1 skill(s) are valid.
            ✓ valid-refs: All file references resolve to existing files within the skill directory.
    
    4 skill(s) linted, 4 passed
    
    install smoke test output (✅ pass)
    Install smoke test succeeded. Verified /tmp/external-plugin-quality-NImpAW/copilot-home/.copilot/installed-plugins/external-plugin-intake/specstream/plugin.json.
    
    Version match output
    - v1.2.0: matched version "1.2.0" at "plugins/github-agent/plugin.json".
    - 73909167fe82d60e1d2823396422ffbfbcb23b9c: matched version "1.2.0" at "plugins/github-agent/plugin.json".
    
    Ref/SHA consistency output
    source.ref "v1.2.0" resolves to the same commit as source.sha "73909167fe82d60e1d2823396422ffbfbcb23b9c".
    
    Canvas structure output
    Canvas structure gate skipped because plugin is not tagged with "canvas".
    

    Canonical external.json payload

    {
      "name": "specstream",
      "description": "Ask for structured data from the live web in plain words (companies, repositories, packages, papers, grants, vulnerabilities and more). Copilot reads the request back, shows the most it can cost, and returns rows where every value links to the page it came from.",
      "version": "1.2.0",
      "author": {
        "name": "SpecStream",
        "url": "https://specstream.ai"
      },
      "repository": "https://github.com/specstream/specstream-tools",
      "homepage": "https://github.com/specstream/specstream-tools/tree/main/plugins/github-agent",
      "license": "MIT",
      "keywords": [
        "mcp",
        "research",
        "sources",
        "web",
        "data"
      ],
      "source": {
        "source": "github",
        "repo": "specstream/specstream-tools",
        "path": "plugins/github-agent",
        "ref": "v1.2.0",
        "sha": "73909167fe82d60e1d2823396422ffbfbcb23b9c"
      }
    }
  4. aaronpowell commented on Nov 3, 2026

    @aaronpowell
    Contributor

    /reject This package primarily connects users to SpecStream's credit-metered service: all four skills depend on your hosted MCP, and obtaining rows starts metered work. The $10 trial and explicit spending safeguards are useful, but the contribution does not demonstrate enough standalone Copilot value beyond operating the paid connector. That is not a fit for this marketplace.

  5. added
    rejectedSubmission was rejected by a maintainer
    and removed
    ready-for-reviewSubmission passed intake validation and is ready for maintainer review
    on Nov 3, 2026
  6. github-actions commented on Nov 3, 2026

    @github-actions
    Contributor

    ❌ External plugin rejected

    A maintainer rejected specstream, and the submission issue has been closed.

    Reason

    This package primarily connects users to SpecStream's credit-metered service: all four skills depend on your hosted MCP, and obtaining rows starts metered work. The $10 trial and explicit spending safeguards are useful, but the contribution does not demonstrate enough standalone Copilot value beyond operating the paid connector. That is not a fit for this marketplace.

    This issue is now closed and /rerun-intake will no longer reopen it. If you address the feedback, please open a new external plugin submission issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    external-pluginPublic external plugin submissionneeds-review:HIGHContributor reputation check flagged HIGH riskrejectedSubmission was rejected by a maintainerthird party

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions