integrate-command

Integrate a user or project command into Product Forge

9 stars

Best use case

integrate-command is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Integrate a user or project command into Product Forge

Teams using integrate-command should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/integrate-command/SKILL.md --create-dirs "https://raw.githubusercontent.com/jpoutrin/product-forge/main/plugins/claude-code-dev/skills/integrate-command/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/integrate-command/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How integrate-command Compares

Feature / Agentintegrate-commandStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Integrate a user or project command into Product Forge

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Integrate Command

Import a command from your user-level (`~/.claude/`) or project-level (`.claude/`) directory into a Product Forge plugin.

## Usage

```bash
# 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
```

## Arguments

- `<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 Locations

- `--source=user`: Searches in `~/.claude/*/commands/` directories
- `--source=project`: Searches in `.claude/*/commands/` directories

## Execution Instructions

When the user runs this command:

### 1. Parse Arguments

- Extract `command-name` from first argument
- Extract `plugin` from `--plugin=` flag (required)
- Extract `source` from `--source=` flag (default: `user`)

### 2. Locate Source Command

Search for the command file:

```bash
# 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]
```

### 3. Validate Target Plugin

Check the target plugin exists in Product Forge:

```bash
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
- ...
```

### 4. Determine Destination

```bash
DESTINATION=plugins/${plugin}/commands/${command-name}.md
```

### 5. Check for Conflicts

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
```

### 6. Copy Command

```bash
cp ${source_path} plugins/${plugin}/commands/${command-name}.md
```

### 7. Confirm Success

```
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
```

## Example Workflow

```bash
# 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"
```

## Error Handling

- **Command not found**: Show search locations and available commands
- **Plugin not found**: Show list of available plugins
- **Missing --plugin flag**: Show usage with example
- **Copy failed**: Show error and suggest checking permissions

Related Skills

review-django-commands

9
from jpoutrin/product-forge

Review Django management commands for proper structure and refactor if needed

parallel-integrate

9
from jpoutrin/product-forge

Verify integration after parallel agent execution and generate report

create-command

9
from jpoutrin/product-forge

Create a new Claude Code slash command with proper YAML frontmatter structure. Use when the user wants to add a custom slash command to a plugin. Handles command file creation with description, argument hints, allowed tools, and all advanced features.

copy-command

9
from jpoutrin/product-forge

Copy a command from Product Forge to user or project level

zod

9
from jpoutrin/product-forge

Zod schema validation patterns and type inference. Auto-loads when validating schemas, parsing data, validating forms, checking types at runtime, or using z.object/z.string/z.infer in TypeScript.

typescript-import-style

9
from jpoutrin/product-forge

Merge-friendly import formatting (one-per-line, alphabetical). Auto-loads when writing TypeScript/JavaScript imports to minimize merge conflicts in parallel development. Enforces consistent grouping and sorting.

setup-mcp-auth

9
from jpoutrin/product-forge

Configure authentication for an existing FastMCP server

fastmcp

9
from jpoutrin/product-forge

FastMCP TypeScript framework patterns for MCP servers. Auto-loads when building MCP servers, creating tools/resources/prompts, implementing authentication, configuring transports, or working with FastMCP in TypeScript.

add-mcp-tool

9
from jpoutrin/product-forge

Add a new tool to an existing FastMCP server with guided configuration

add-mcp-resource

9
from jpoutrin/product-forge

Add a new resource or resource template to an existing FastMCP server

plan-with-team

9
from jpoutrin/product-forge

Validate plan file ownership

privacy-compliance

9
from jpoutrin/product-forge

GDPR, CCPA, and privacy compliance guidance for data protection. Use when handling personal data, implementing consent management, or ensuring regulatory compliance across jurisdictions.