CtrlK
BlogDocsLog inGet started
Tessl Logo

copy-skill

Copy a skill from Product Forge to user or project level

Install with Tessl CLI

npx tessl i github:jpoutrin/product-forge --skill copy-skill
What are skills?

67

Does it follow best practices?

Validation for skill structure

SKILL.md
Review
Evals

Copy Skill

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

Usage

# List available skills
/copy-skill

# Copy to project (default)
/copy-skill product-design:python-style

# Copy to user level
/copy-skill product-design:python-style --user

# Explicit project level
/copy-skill git-workflow:commit-patterns --project

Arguments

  • <plugin>:<skill-name> - The skill to copy in plugin:name format
  • --user - Copy to ~/.claude/{plugin}/skills/{name}/
  • --project - Copy to .claude/{plugin}/skills/{name}/ (default)

What Gets Copied

Skills are copied as entire directories, including:

  • SKILL.md - The main skill definition
  • Any additional files (scripts/, references/, *.yaml, etc.)

Example: parallel-agents skill contains both SKILL.md and agent-skills-mapping.yaml.

Directory Structure

# Project-level (default)
.claude/
└── product-design/
    └── skills/
        └── python-style/
            └── SKILL.md

# User-level (--user)
~/.claude/
└── product-design/
    └── skills/
        └── python-style/
            └── SKILL.md

Execution Instructions

When the user runs this command:

No Arguments - List Available Skills

  1. Scan Product Forge plugins cache for all available skills:

    ls ~/.claude/plugins/cache/product-forge-marketplace/*/skills/ 2>/dev/null
  2. For each plugin with skills, list them with descriptions:

    • Read SKILL.md frontmatter to get name and description
    • Format as: {plugin}:{skill-name} - {description}
  3. Display formatted list:

    Available skills from Product Forge:
    
    product-design:
      python-style - Python coding style and PEP standards
      prd-management - Automatic PRD lifecycle management
      parallel-agents - Multi-agent orchestration patterns
      ...
    
    git-workflow:
      commit-patterns - Git commit best practices
      ...
    
    Usage: /copy-skill <plugin>:<skill-name> [--user | --project]

With Arguments - Copy Skill

  1. Parse arguments:

    • Extract plugin and skill-name from <plugin>:<skill-name> format
    • Determine destination: --user or --project (default)
  2. Locate source skill:

    SOURCE=~/.claude/plugins/cache/product-forge-marketplace/{plugin}/skills/{skill-name}
    • If not found, show error with available skills from that plugin
  3. Determine destination path:

    • --project: .claude/{plugin}/skills/{skill-name}/
    • --user: ~/.claude/{plugin}/skills/{skill-name}/
  4. Check if destination exists:

    • If exists, use AskUserQuestion to prompt:
      Skill '{skill-name}' already exists at {destination}.
      
      Options:
      - Overwrite: Replace existing skill
      - Rename: Save as {skill-name}-copy
      - Cancel: Abort operation
  5. Create destination directory structure:

    mkdir -p {destination}
  6. Copy entire skill directory recursively:

    cp -r {source}/* {destination}/
  7. Confirm success:

    Skill copied successfully!
    
    Source: ~/.claude/plugins/cache/product-forge-marketplace/{plugin}/skills/{skill-name}/
    Destination: {destination}
    
    Files copied:
    - SKILL.md
    - [any additional files]
    
    The skill is now available in your {project|user} configuration.

Error Handling

  • Plugin not found: Show list of available plugins
  • Skill not found: Show list of skills in that plugin
  • Invalid format: Show usage example with correct format
  • Copy failed: Show error and suggest checking permissions
Repository
jpoutrin/product-forge
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.