* Migrate Asana plugin to V2 MCP server
The V1 beta server (https://mcp.asana.com/sse) is deprecated and shuts down
on 2026-08-05. Asana's V2 server (https://mcp.asana.com/v2/mcp) requires each
user to register their own Asana OAuth app and does not support Dynamic Client
Registration. A plugin manifest cannot carry per-user OAuth credentials, so the
bundled MCP server entry is removed in favor of a documented one-time
`claude mcp add` setup (per Asana's official Claude Code instructions).
- Remove dead V1 sse .mcp.json
- Add README with V2 OAuth setup + troubleshooting
- Add /asana-setup slash command to guide the one-time setup
- Update plugin + marketplace descriptions to reference V2
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* plugin-dev: stop using deprecated Asana V1 SSE endpoint in examples
The Asana V1 SSE server (https://mcp.asana.com/sse) is deprecated and shuts
down on 2026-08-05, and Asana V2 is streamable HTTP with manual OAuth — not
SSE with automatic (DCR) OAuth. Replace the Asana SSE examples in the
mcp-integration skill with neutral placeholders so the tutorial no longer
teaches a dead endpoint or implies Asana is a zero-config SSE/OAuth server.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---------
Co-authored-by: Greg Dardis <86272347+greg-dardis@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Several agent files used <example> blocks containing user: "..." /
assistant: "..." turn markers, embedded as \n-escaped strings inside
the YAML frontmatter description: field. Replace those with flat prose
trigger descriptions in description: and a 'When to invoke' section
in the agent body containing prose-bullet scenarios.
Affected files:
- 5 agent definitions:
- plugins/hookify/agents/conversation-analyzer.md
- plugins/pr-review-toolkit/agents/code-reviewer.md
- plugins/pr-review-toolkit/agents/pr-test-analyzer.md
- plugins/pr-review-toolkit/agents/type-design-analyzer.md
- plugins/pr-review-toolkit/agents/comment-analyzer.md
- 5 agent-development skill files updated to teach the new format:
- plugins/plugin-dev/skills/agent-development/SKILL.md
- .../references/triggering-examples.md
- .../references/agent-creation-system-prompt.md
- .../examples/complete-agent-examples.md
- .../examples/agent-creation-prompt.md
Routing is unaffected: each description: still names the trigger
surface in plain English.
P0 follow-up for EA-471. Updates plugin-dev teaching materials to stop
recommending the commands/ directory layout for new plugins:
- command-development/SKILL.md: add legacy banner at top pointing to
skills/ format
- create-plugin.md: update scaffolding to create skills/<name>/SKILL.md
instead of commands/; mark commands/ as acceptable legacy alternative;
update all examples, tables, and testing instructions
- example-plugin: migrate example-command to skills/example-command/SKILL.md;
keep commands/example-command.md with a legacy-format note; update README
to reflect new preferred structure
Both formats remain loaded identically — this is a documentation change only.
Refs: anthropics/apps#26827
Co-authored-by: Henry Shi <henrys@anthropic.com>
Skills and commands are now merged, so SKILL.md name fields surface
in the UI as slash commands. Upper Space names like 'Hook Development'
become '/Hook Development', which doesn't work since user-invoked
commands don't support spaces.
Rename all affected SKILL.md name fields to lower-kebab-case:
- hookify: Writing Hookify Rules -> writing-hookify-rules
- plugin-dev: Agent Development -> agent-development
- plugin-dev: Command Development -> command-development
- plugin-dev: Hook Development -> hook-development
- plugin-dev: MCP Integration -> mcp-integration
- plugin-dev: Plugin Settings -> plugin-settings
- plugin-dev: Plugin Structure -> plugin-structure
- plugin-dev: Skill Development -> skill-development
Also update references in plugin-dev/README.md.
- Rename plugin from "ralph-wiggum" to "ralph-loop" to avoid trademark concerns
- Update all internal references to use "Ralph Loop" as the prominent name
- Keep explanatory text noting it "implements the Ralph Wiggum technique" (allowed)
- Rename plugin directory from plugins/ralph-wiggum to plugins/ralph-loop
- Update marketplace.json with new plugin name and source path
- Update plugin-dev documentation references
This change follows legal's recommendation to replace "Wiggum" with "Loop"
in the plugin name while still explaining the technique origin.
Slack thread: https://anthropic.slack.com/archives/C09KU300P7F/p1767741142753959
Co-authored-by: Claude <noreply@anthropic.com>