Skip to content

[External Plugin]: strunk #6382

Open
Open

Description

@labudis

Plugin name

strunk

Short description

Publish a draft to Google Docs for review, then pull reviewer comments back into Copilot with their anchored spans, revise the doc in place, and reply to and resolve each thread. Existing comments survive every re-publish.

GitHub repository

firstcrack-studio/claude-plugin

Plugin path inside the repository

plugin

Ref to review

v0.4.0

Commit SHA to review

1eafd8929311434b7a75fb0d532db816b7216273

Version

0.4.0

License identifier

MIT

Author name

Strunk

Author URL

https://strunk.io

Homepage URL

https://strunk.io

Keywords

google-docs
review
comments
writing
mcp

Additional notes for reviewers

  • What it bundles: mcp.json with Strunk's hosted remote MCP server (https://strunk.io/mcp, Streamable HTTP, OAuth 2.1 with PKCE and dynamic client registration, so there is no API key), and two Agent Skills: strunk-setup walks the two connections, and strunk-review runs the review round trip.
  • What it does for a Copilot user: a spec, design doc or README drafted in the editor goes to Google Docs for people who review there. Their comments come back with the exact span they anchor to. Copilot drafts each revision with the repo in context, and the author approves it before anything is written. Copilot then applies the edit as a targeted update, so other reviewers' comments and anchors stay intact, and replies to and resolves the thread.
  • Pricing, stated plainly: there is a free plan covering one Google Doc with unlimited revisions on it. Unlimited docs cost £7 a month. Pricing is at https://strunk.io/#pricing.
  • Google access: Strunk uses Google's drive.file scope, so it touches only docs it creates or files the user picks.
  • Same server elsewhere: listed in the official MCP Registry as io.strunk/google-docs-comments, and in the Claude directory.

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. added
    awaiting-reviewSubmission is waiting for automated intake validation
    external-pluginPublic external plugin submission
    ready-for-reviewSubmission passed intake validation and is ready for maintainer review
    and removed
    awaiting-reviewSubmission is waiting for automated intake validation
    on Nov 12, 2026
  2. github-actions commented on Nov 12, 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 91 day(s)
    Repository activity 0 stars; 0 watchers; 0 forks
    Repository counts 0 stars · 0 watchers · 0 forks · 0 open issues/PRs
    Homepage heuristics ⚠️ pricing, trial

    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)
    ✅ strunk-review (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.
    ✅ strunk-setup (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.
    
    2 skill(s) linted, 2 passed
    
    install smoke test output (✅ pass)
    Install smoke test succeeded. Verified /tmp/external-plugin-quality-nt9wRL/copilot-home/.copilot/installed-plugins/external-plugin-intake/strunk/plugin.json.
    
    Version match output
    - v0.4.0: matched version "0.4.0" at "plugin/plugin.json".
    - 1eafd8929311434b7a75fb0d532db816b7216273: matched version "0.4.0" at "plugin/plugin.json".
    
    Ref/SHA consistency output
    source.ref "v0.4.0" resolves to the same commit as source.sha "1eafd8929311434b7a75fb0d532db816b7216273".
    
    Canvas structure output
    Canvas structure gate skipped because plugin is not tagged with "canvas".
    

    Canonical external.json payload

    {
      "name": "strunk",
      "description": "Publish a draft to Google Docs for review, then pull reviewer comments back into Copilot with their anchored spans, revise the doc in place, and reply to and resolve each thread. Existing comments survive every re-publish.",
      "version": "0.4.0",
      "author": {
        "name": "Strunk",
        "url": "https://strunk.io"
      },
      "repository": "https://github.com/firstcrack-studio/claude-plugin",
      "homepage": "https://strunk.io",
      "license": "MIT",
      "keywords": [
        "google-docs",
        "review",
        "comments",
        "writing",
        "mcp"
      ],
      "source": {
        "source": "github",
        "repo": "firstcrack-studio/claude-plugin",
        "path": "plugin",
        "ref": "v0.4.0",
        "sha": "1eafd8929311434b7a75fb0d532db816b7216273"
      }
    }
  3. labudis commented on Nov 12, 2026

    @labudis
    ContributorAuthor

    The plugin repository was renamed from firstcrack-studio/claude-plugin to firstcrack-studio/strunk-plugin, so the one repo now serves several plugin directories. Nothing else changed. GitHub redirects the old name, and the submitted ref (v0.4.0, 1eafd8929311434b7a75fb0d532db816b7216273) resolves under either name.

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 submissionready-for-reviewSubmission passed intake validation and is ready for maintainer reviewthird party

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions