copy-command

Copy a command from Product Forge to user or project level

9 stars

Best use case

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

Copy a command from Product Forge to user or project level

Teams using copy-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/copy-command/SKILL.md --create-dirs "https://raw.githubusercontent.com/jpoutrin/product-forge/main/plugins/claude-code-dev/skills/copy-command/SKILL.md"

Manual Installation

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

How copy-command Compares

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

Frequently Asked Questions

What does this skill do?

Copy a command from Product Forge to user or project level

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

# Copy Command

Copy a command from Product Forge plugins to your user-level (`~/.claude/`) or project-level (`.claude/`) directory.

## Usage

```bash
# List available commands
/copy-command

# Copy to project (default)
/copy-command product-design:create-prd

# Copy to user level
/copy-command git-workflow:commit --user

# Explicit project level
/copy-command devops-data:create-rfc --project
```

## Arguments

- `<plugin>:<command-name>` - The command to copy in `plugin:name` format
- `--user` - Copy to `~/.claude/{plugin}/commands/{name}.md`
- `--project` - Copy to `.claude/{plugin}/commands/{name}.md` (default)

## What Gets Copied

Commands are single markdown files (`.md`) containing:
- YAML frontmatter with description and argument hints
- Documentation and usage examples
- Execution instructions for Claude Code

## Directory Structure

```
# Project-level (default)
.claude/
└── git-workflow/
    └── commands/
        └── commit.md

# User-level (--user)
~/.claude/
└── git-workflow/
    └── commands/
        └── commit.md
```

## Execution Instructions

When the user runs this command:

### No Arguments - List Available Commands

1. **Scan Product Forge plugins cache** for all available commands:
   ```bash
   ls ~/.claude/plugins/cache/product-forge-marketplace/*/commands/*.md 2>/dev/null
   ```

2. **For each plugin with commands**, list them with descriptions:
   - Read command file frontmatter to get `description`
   - Format as: `{plugin}:{command-name} - {description}`

3. **Display formatted list**:
   ```
   Available commands from Product Forge:

   product-design:
     create-prd - Interactive PRD creation wizard
     create-qa-test - Create a new QA test procedure
     task-focus - Focus on a specific task with context
     ...

   git-workflow:
     commit - Guided git commit with atomic commit analysis
     rebase - Rebase local changes on remote updates
     code-review - Review code changes for issues
     ...

   devops-data:
     create-rfc - Create a new RFC technical specification
     create-tech-spec - Create a new Technical Specification
     ...

   Usage: /copy-command <plugin>:<command-name> [--user | --project]
   ```

### With Arguments - Copy Command

1. **Parse arguments**:
   - Extract `plugin` and `command-name` from `<plugin>:<command-name>` format
   - Determine destination: `--user` or `--project` (default)

2. **Locate source command**:
   ```bash
   SOURCE=~/.claude/plugins/cache/product-forge-marketplace/{plugin}/commands/{command-name}.md
   ```
   - If not found, show error with available commands from that plugin

3. **Determine destination path**:
   - `--project`: `.claude/{plugin}/commands/{command-name}.md`
   - `--user`: `~/.claude/{plugin}/commands/{command-name}.md`

4. **Check if destination exists**:
   - If exists, use **AskUserQuestion** to prompt:
     ```
     Command '{command-name}' already exists at {destination}.

     Options:
     - Overwrite: Replace existing command
     - Rename: Save as {command-name}-copy.md
     - Cancel: Abort operation
     ```

5. **Create destination directory structure**:
   ```bash
   mkdir -p {destination_dir}
   ```

6. **Copy command file**:
   ```bash
   cp {source} {destination}
   ```

7. **Confirm success**:
   ```
   Command copied successfully!

   Source: ~/.claude/plugins/cache/product-forge-marketplace/{plugin}/commands/{command-name}.md
   Destination: {destination}

   The command is now available as /{command-name} in your {project|user} configuration.
   ```

## Error Handling

- **Plugin not found**: Show list of available plugins
- **Command not found**: Show list of commands in that plugin
- **Invalid format**: Show usage example with correct format
- **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

integrate-command

9
from jpoutrin/product-forge

Integrate a user or project command into Product Forge

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

9
from jpoutrin/product-forge

Copy an agent 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.