share-skill

from guo-yu/skills

My collection of skills for productivity and automation.

215 stars18 forksUpdated Jan 23, 2026
npx skills add https://github.com/guo-yu/skills --skill share-skill

SKILL.md

Share Skill

Migrate user's locally created temporary skills to a project repository via symlinks, and initialize Git for version tracking.

Usage

CommandDescription
/share-skill <skill-name>Migrate specified skill to code repository and initialize git
/share-skill configConfigure code_root and other settings
/share-skill <skill-name> --remote <url>Migrate and configure remote URL
/share-skill listList all local skills available for migration
/share-skill remote <alias> <endpoint>Configure Git remote alias
/share-skill remote listList configured remote aliases
/share-skill docsGenerate documentation website for the repository
/share-skill docs --style <name>Generate docs with specified design style
/share-skill docs --skill <ui-skill>Use specified UI skill to design docs
/share-skill docs configConfigure default design style or UI skill
/share-skill allowOne-time authorization for this skill's permissions
Natural languagee.g., "Help me open source port-allocator and push to github"

Configuration File

All settings are stored in ~/.claude/share-skill-config.json:

{
  "code_root": "~/Codes",
  "skills_repo": "skills",
  "github_username": "guo-yu",
  "remotes": {
    "github": "git@github.com:guo-yu/skills",
    "gitlab": "git@gitlab.com:guo-yu/skills"
  },
  "default_remote": "github",
  "auto_detected": true,
  "docs": {
    "style": "botanical",
    "custom_skill": null,
    "custom_domain": null
  }
}

Configuration Fields:

FieldDescriptionDefault
code_rootBase directory for code repositories~/Codes
skills_repoName of skills repository folderskills
github_usernameGitHub username for URLsAuto-detected
remotesGit remote aliasesAuto-configured
docs.custom_domainCustom domain for docs sitenull (use GitHub Pages)

Path Variables:

Throughout this document, the following variables are used:

  • {code_root} → Value of code_root config (e.g., ~/Codes)
  • {skills_repo} → Value of skills_repo config (e.g., skills)
  • {skills_path}{code_root}/{skills_repo} (e.g., ~/Codes/skills)
  • {username} → Value of github_username config

Plugin Marketplace

share-skill automatically creates a Claude Code Plugin Marketplace structure, enabling users to install skills via the /plugin command.

Installation via Marketplace

Once your skills repository is set up, users can install skills with:

# Add the marketplace (one-time setup)
/plugin marketplace add {username}/{skills_repo}

# Install individual skills
/plugin install port-allocator@{username}-{skills_repo}
/plugin install share-skill@{username}-{skills_repo}

Marketplace Structure

The repository requires two types of manifest files:

1. Root marketplace.json ({skills_path}/.claude-plugin/marketplace.json):

{
  "name": "{username}-{skills_repo}",
  "owner": {
    "name": "{display-name}",
    "email": "{username}@users.noreply.github.com"
  },
  "metadata": {
    "description": "A collection of productivity skills for Claude Code",
    "version": "1.0.0"
  },
  "plugins": [
    {
      "name": "skill-name",
      "source": "./skill-name",
      "description": "Skill description from SKILL.md frontmatter"
    }
  ]
}

2. Plugin manifest ({skills_path}/<skill-name>/.claude-plugin/plugin.json):

{
  "name": "skill-name",
  "description": "Skill description",
  "version": "1.0.0"
}

Directory Structure with Plugin Support

{skills_path}/
├── .claude-plugin/
│   └── marketplace.json         # Root marketplace config
├── port-allocator/
│   ├── .claude-plugin/
│   │   └── plugin.json          # Plugin manifest
│   ├── SKILL.md
│   └── ...
├── share-skill/
│   ├── .claude-plugin/
│   │   └── plugin.json
│   ├── SKILL.md
│   └── ...
└── docs/
    └── ...

Marketplace Commands Reference

CommandDescription
/plugin marketplace add <repo>Add a marketplace (GitHub: owner/repo)
/plugin marketplace updateUpdate all marketplace indexes
/plugin install <name>@<marketplace>Install a plugin from marketplace
/plugin validate .Validate marketplace structure

Auto-detection on First Run

On first invocation of share-skill, it automatically detects settings:

Auto-detection Logic:

  1. Check if config file exists

    if [ ! -f ~/.claude/share-skill-config.json ]; then
      # First run, perform auto-detection
    fi
    
  2. Detect code_root directory

    # Check common code directory locations in order
    for dir in ~/Codes ~/Code ~/Projects ~/Dev ~/Development ~/repos; do
      if [ -d "$dir" ]; then
        CODE_ROOT="$dir"
        break
      fi
    done
    
    # If none found, default to ~/Codes
    CODE_ROOT="${CODE_ROOT:
    

...

Read full content

Repository Stats

Stars215
Forks18