-
Notifications
You must be signed in to change notification settings - Fork 0
Add Claude Code plugin architecture with namespaced skills and bundled hooks #129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: ncrmro <8276365+ncrmro@users.noreply.github.com>
Co-authored-by: ncrmro <8276365+ncrmro@users.noreply.github.com>
Co-authored-by: ncrmro <8276365+ncrmro@users.noreply.github.com>
Co-authored-by: ncrmro <8276365+ncrmro@users.noreply.github.com>
|
@copilot - please update the top-level AGENTS.md to note that Claude has basically retired commands in favor of skills. Skills are now invokable with slash commands just like commands were. Based on that, update all your code. |
…Claude Code changes Co-authored-by: nhorton <204146+nhorton@users.noreply.github.com>
Updated in commit 0fc7114. Changes made:
The plugin now follows Claude Code's current architecture where skills in |
Co-authored-by: nhorton <204146+nhorton@users.noreply.github.com>
DeepWork currently requires manual CLI installation (
deepwork install) with platform-specific file generation. This adds native Claude Code plugin distribution for simplified installation viaclaude plugin install.Plugin Structure
Architecture
Following Claude Code's retirement of the separate
commands/directory, this implementation uses a skills-only architecture where skills serve dual purposes:/deepwork:namespace prefixHooks: Bundled configuration for SessionStart version checks, UserPromptSubmit rules queue management, and Stop/SubagentStop rules validation.
Installation Flow
Documentation
PLUGIN.md: Plugin-specific installation, testing, and development guidelinesAGENTS.md: Updated with Claude Code plugin architecture section documenting the skills-only approachREADME.md: Updated with plugin-first installation approachCHANGELOG.md: Added [Unreleased] section documenting plugin additions and architectural changesPlugin validates successfully with correct directory structure, JSON schemas, and unified skills architecture following Claude Code's current design.
Original prompt
This section details on the original issue you should resolve
<issue_title>Claude Code Plugin</issue_title>
<issue_description>
Current State vs Plugin Architecture
DeepWork currently uses:
Claude Code plugins provide:
Deployment Options
Option 1: Plugin Wrapper (Recommended)
Create a Claude Code plugin that wraps DeepWork:
deepwork-plugin/
├── .claude-plugin/
│ └── plugin.json # Plugin manifest
├── skills/
│ ├── install/SKILL.md # /deepwork:install
│ ├── sync/SKILL.md # /deepwork:sync
│ └── / # From deepwork sync
├── hooks/
│ └── hooks.json # rules_check hook
├── .mcp.json # Optional MCP server
└── scripts/
└── deepwork_wrapper.sh # Shell hooks
Pros:
Cons:
<agent_instructions>Here are the claude code plugins here
Create plugins
Plugins let you extend Claude Code with custom functionality that can be shared across projects and teams. This guide covers creating your own plugins with skills, agents, hooks, and MCP servers.
Looking to install existing plugins? See Discover and install plugins. For complete technical specifications, see Plugins reference.
When to use plugins vs standalone configuration
Claude Code supports two ways to add custom skills, agents, and hooks:
.claude/directory)/hello.claude-plugin/plugin.json)/plugin-name:helloUse standalone configuration when:
/helloor/reviewUse plugins when:
- You want to share functionality with your team or community
- You need the same skills/agents across multiple projects
- You want version control and easy updates for your extensions
- You're distributing through a marketplace
- You're okay with namespaced skills like
Start with standalone configuration in `.claude/` for quick iteration, then [convert to a plugin](#convert-existing-configurations-to-plugins) when you're ready to share./my-plugin:hello(namespacing prevents conflicts between plugins)Quickstart
This quickstart walks you through creating a plugin with a custom skill. You'll create a manifest (the configuration file that defines your plugin), add a skill, and test it locally using the
--plugin-dirflag.Prerequisites
- Claude Code installed and authenticated
- Claude Code version 1.0.33 or later (run
If you don't see the `/plugin` command, update Claude Code to the latest version. See [Troubleshooting](/en/troubleshooting) for upgrade instructions.claude --versionto check)Create your first plugin
Every plugin lives in its own directory containing a manifest and your skills, agents, or hooks. Create one now:✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.