From claude-code-dev
Integrates commands from user (~/.claude/) or project (.claude/) directories into Product Forge plugins via /integrate-command, handling location, validation, conflicts, and copy.
npx claudepluginhub jpoutrin/product-forge --plugin claude-code-devThis skill uses the workspace's default tool permissions.
Import a command from your user-level (`~/.claude/`) or project-level (`.claude/`) directory into a Product Forge plugin.
Guides creation of slash commands for Claude Code: YAML frontmatter, dynamic args, bash execution, file refs, interactions, organization, and best practices.
Guides creation of legacy slash commands for Claude Code (.claude/commands/ format), including YAML frontmatter, dynamic args, bash execution, git integration, and user interaction patterns.
Guides creating custom slash commands for Claude Code, including arguments, conditionals, file includes, shell integration, and multi-step workflows.
Share bugs, ideas, or general feedback.
Import a command from your user-level (~/.claude/) or project-level (.claude/) directory into a Product Forge plugin.
# Integrate from user level (default source)
/integrate-command my-command --plugin=claude-code-dev
# Integrate from project level
/integrate-command my-command --plugin=claude-code-dev --source=project
# Integrate from a specific plugin subdirectory
/integrate-command my-command --plugin=git-workflow --source=user
<command-name> - Name of the command to integrate (without .md extension)--plugin=<name> - Target Product Forge plugin (required)--source=user|project - Where to find the command (default: user)--source=user: Searches in ~/.claude/*/commands/ directories--source=project: Searches in .claude/*/commands/ directoriesWhen the user runs this command:
command-name from first argumentplugin from --plugin= flag (required)source from --source= flag (default: user)Search for the command file:
# For --source=user
find ~/.claude -path "*/commands/${command-name}.md" -type f 2>/dev/null
# For --source=project
find .claude -path "*/commands/${command-name}.md" -type f 2>/dev/null
If multiple matches found, list them and ask user to specify the full path.
If not found:
Command '${command-name}' not found in ${source} level.
Searched locations:
- ~/.claude/*/commands/${command-name}.md
Available commands:
[list available .md files in commands directories]
Check the target plugin exists in Product Forge:
ls plugins/${plugin}/.claude-plugin/plugin.json
If not found:
Plugin '${plugin}' not found in Product Forge.
Available plugins:
- claude-code-dev
- product-design
- git-workflow
- python-experts
- ...
DESTINATION=plugins/${plugin}/commands/${command-name}.md
If destination exists, use AskUserQuestion to prompt:
Command '${command-name}' already exists in plugin '${plugin}'.
Options:
- Overwrite: Replace existing command
- Rename: Save as ${command-name}-new.md
- Cancel: Abort operation
cp ${source_path} plugins/${plugin}/commands/${command-name}.md
Command integrated successfully!
Source: ${source_path}
Destination: plugins/${plugin}/commands/${command-name}.md
Next steps:
1. Review the command: cat plugins/${plugin}/commands/${command-name}.md
2. Refresh plugins: /forge-refresh --force
3. Commit changes: git add plugins/${plugin}/commands/${command-name}.md
# 1. Create a command at user level
# (manually or by copying and modifying)
# 2. Test it in your projects
# 3. Once ready, integrate into Product Forge
/integrate-command my-awesome-command --plugin=claude-code-dev
# 4. Refresh to make it available
/forge-refresh --force
# 5. Commit and push
git add plugins/claude-code-dev/commands/my-awesome-command.md
git commit -m "feat(claude-code-dev): add my-awesome-command"