Personal skill marketplace. Curated, self-authored plugins, installable from any LLM CLI that reads the Agent Skills SKILL.md standard.
| Runtime | Install |
|---|---|
| Claude Code | /plugin marketplace add soohanpark/soohan-skills |
| Codex · Gemini · Kimi CLI | curl -fsSL https://raw.githubusercontent.com/soohanpark/soohan-skills/main/install.sh | bash |
Install (first time):
/plugin marketplace add soohanpark/soohan-skills
/plugin install <plugin-name>@soohan-skills
/reload-plugins
Update (when a plugin changes upstream):
/plugin marketplace update soohan-skills
/plugin uninstall <plugin-name>@soohan-skills
/plugin install <plugin-name>@soohan-skills
/reload-plugins
marketplace update only refreshes the catalog. To pick up new SKILL/command/agent files in an already-installed plugin, you need the uninstall → install → reload cycle.
Browse available plugins in .claude-plugin/marketplace.json or under plugins/.
curl -fsSL https://raw.githubusercontent.com/soohanpark/soohan-skills/main/install.sh | bashAuto-detects ~/.codex ~/.gemini ~/.kimi ~/.agents and copies every skill into each one's skills/ directory. Cloned the repo already? Just ./install.sh. Other locations: ./install.sh --target <skills-dir> (repeatable).
Skills land under the plugin's name (~/.codex/skills/work), or <plugin>-<skill> when a plugin ships several (~/.codex/skills/skill-lab-explain), and fire off their description — there is nothing to configure. Re-run the same command to update; it is idempotent.
Slash commands are Claude-only and are not installed. Ask for the skill by name or intent instead of typing /write-mr.
- Create a directory under
plugins/<name>/with a kebab-case name. - Add
plugins/<name>/.claude-plugin/plugin.jsonmatching the schema inscripts/schema.ts. - Add skill/command/agent files as needed.
git commit— the pre-commit hook regeneratesmarketplace.jsonand auto-stages it.
| Field | Type | Notes |
|---|---|---|
name |
string | kebab-case; must equal directory name |
version |
string | semver |
description |
string | non-empty |
author |
{ name, email?, url? } |
|
category |
string | kebab-case |
tags |
string[] |
≥ 1 entry, kebab-case |
homepage |
string | optional, URL |
license |
string | optional, SPDX |
pnpm sync— regeneratemarketplace.jsonfromplugins/pnpm validate— validate everyplugin.jsonwithout writing anythingpnpm test— run the test suite
plugins/<name>/ your plugin lives here (single source of truth)
install.sh installs skills into non-Claude CLIs
AGENTS.md canonical repo instructions (CLAUDE.md/GEMINI.md just import it)
.claude-plugin/marketplace.json generated; do not hand-edit
scripts/{schema,sync,validate}.ts sync engine
.husky/pre-commit regenerates marketplace.json on commit
.github/workflows/verify.yml CI on main
See plugins/<name>/README.md for each plugin's docs.
work— 업무 스킬 (write-mr: write a 블인팀 MR body from the current branch)skill-lab— skills about skills (explain: diagram how a skill works,score: measure trigger accuracy and quality delta)document— skills for documents people read: write, revise, proofread, review, summarize, and convert them (currentlywriting-post: blog posts and project write-ups)korean-writing— 한국어 문체 (style)와 Codex 전역 적용 설정 (setup)