9 Commits

Author SHA1 Message Date
Jake Marsh fc446d6c6a productivity: escape file-derived content before innerHTML rendering in dashboard
Task titles, notes, subtask text, and section names from the opened task
file, plus memory file and directory names, were interpolated into
innerHTML template strings unescaped, so markup in that content was parsed
as HTML when the dashboard rendered.

- Route every such interpolation through the existing escapeHtml() helper.
- Make escapeHtml() also escape quotes so it is safe inside attribute
  values (data-tab, data-search, placeholder).
- Replace the inline onclick/oninput handlers that embedded file and
  directory names in JavaScript string literals with addEventListener,
  matching the pattern the rest of the file already uses.
- Bump plugin version to 1.3.1.
2026-08-06 22:36:08 +00:00
Elliot Klein 181c4f6ff5 Remove broken Microsoft 365 http entries from role plugin manifests (#285)
The ms365 / microsoft-365 entries ship M365 as a manual type:http MCP
server. That auth path cannot succeed: the M365 server's OAuth client
registration only permits the claude.ai callback, so any client-initiated
OAuth flow (localhost or claude:// redirect) is rejected by the identity
provider before the consent screen ever shows (AADSTS50011).

Users connect Microsoft 365 through the claude.ai Connectors directory
instead, which uses the registered callback and works. Plugin skills
reference tools via ~~category placeholders (see CONNECTORS.md), not the
ms365 server key, so no content changes are needed.

Bumps each touched plugin's version so the update distributes to
existing installs.

Co-authored-by: Claude <noreply@anthropic.com>
2026-06-02 18:58:45 +01:00
Basil Hosmer 39a57c5c8e fix(mcp): add Slack OAuth clientId to all role plugins
Slack's auth server does not support dynamic client registration, so a
bare {type, url} config fails in Claude Code with "Incompatible auth
server: does not support DCR" before the OAuth prompt appears.

Cowork/Desktop resolve these via the claude.ai connector directory and
don't hit this, but Claude Code does raw OAuth against the URL. The
broken entry also shadows the working claude.ai Slack passthrough
(manual > plugin > claude.ai dedup), so users lose Slack entirely.

Adds the same oauth.{clientId, callbackPort} block already present in
partner-built/slack/.mcp.json to all 12 role plugins.

Refs: anthropics/claude-code#38229
2026-04-23 11:54:32 -04:00
lee-weisberger 3b505c1046 Rename google-calendar MCP key and clear gmail/gcal URLs (#184)
Across all plugin .mcp.json files:
- Rename "google-calendar" key to "google calendar"
- Replace gmail and google calendar URLs with empty string placeholders
2026-04-21 16:05:35 -04:00
Matt Piccolella 7b2ea8ea53 Bump plugin versions after commands-to-skills migration
Bump minor version across all 14 plugins to reflect the migration
from commands/ to skills/ format shipped in the previous merge.
2026-03-13 11:51:33 -07:00
Matt Piccolella 2d6f7e22dd Migrate commands to skills across all plugins
- Convert all commands/*.md files to skills/*/SKILL.md format
- Merge 36 reference-skill pairs into their invokable counterparts
- Mark reference-only skills as user-invocable: false
- Expand descriptions for migrated skills with usage scenarios
- Keep partner-built/ commands as-is
- Remove bio-research from marketplace.json
2026-03-13 08:57:57 -07:00
Matt Piccolella b3b34df654 Bump version to 1.1.0 for plugins with google-calendar and gmail MCPs 2026-02-24 09:38:33 -05:00
Matt Piccolella 4fa3cb92e2 Big round of pushes 2026-02-23 19:08:12 -05:00
Matt Piccolella 7c35640e49 Initial commit of the knowledge work plugins repo 2026-01-29 14:36:17 -08:00