一键导入
simple-skills-manager
Manage skills from local paths or git repositories - add, update, or remove skill tips in ~/.claude/skills with group-skillname format
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Manage skills from local paths or git repositories - add, update, or remove skill tips in ~/.claude/skills with group-skillname format
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | simple-skills-manager |
| description | Manage skills from local paths or git repositories - add, update, or remove skill tips in ~/.claude/skills with group-skillname format |
| allowed-tools | ["Bash","Read","Write","Glob","Grep","AskUserQuestion"] |
Manage skill tips in ~/.claude/skills/ that point to skills from local paths or git repositories, enabling dynamic invocation via /{group}-{skill-name}.
Note: We use hyphen - as separator instead of colon : because Windows paths don't support colons in filenames.
~/.claude/simple-skills-manager-repos/~/.claude/skills/~/.claude/simple-skills-manager-backup-last-skills/First, ask the user what operation they want to perform:
{
"questions": [{
"question": "What operation would you like to perform?",
"header": "Operation",
"options": [
{"label": "Add (Recommended)", "description": "Add skills from a local path or git repository"},
{"label": "Update", "description": "Update an existing skill group (re-sync from source)"},
{"label": "Remove", "description": "Remove an existing skill group"}
],
"multiSelect": false
}]
}
Ask user to directly input the source path or git URL:
{
"questions": [{
"question": "Please enter the local path or git URL for the skills:",
"header": "Source",
"options": [
{"label": "Example: /path/to/skills", "description": "Local directory containing SKILL.md files"},
{"label": "Example: https://github.com/user/repo.git", "description": "Git repository URL (will be cloned)"}
],
"multiSelect": false
}]
}
The user will select "Other" and type the actual path or URL. The system will auto-detect the source type:
http://, https://, git@, or ends with .gitAfter getting the source, ask for the group name:
{
"questions": [{
"question": "What group name should be used as prefix? (e.g., 'mygroup' creates '/mygroup-skill-name')",
"header": "Group",
"options": [
{"label": "Use folder name", "description": "Use the source folder/repo name as group"},
{"label": "Custom", "description": "Enter a custom group name"}
],
"multiSelect": false
}]
}
Group name validation: The group name must:
a-z, 0-9, -)If the group name is invalid, ask the user to provide a valid name.
First, list existing groups by checking subdirectories in repos directory:
# List groups from repos directory (source of truth for groups)
ls -d ~/.claude/simple-skills-manager-repos/*/ 2>/dev/null | xargs -I {} basename {}
Important: Groups are determined by subdirectories in ~/.claude/simple-skills-manager-repos/, NOT by folder names in skills directory.
Display the found groups as reference information, then ask the user to input the group name they want to manage:
{
"questions": [{
"question": "Which group do you want to update/remove? (Enter the group name)",
"header": "Group",
"options": [
{"label": "Example: mygroup", "description": "Enter the group name you want to manage"},
{"label": "Example: arcblock", "description": "The group prefix used in skill names like /arcblock-commit"}
],
"multiSelect": false
}]
}
The user will select "Other" and type the actual group name. Validate that the group exists by checking if ~/.claude/simple-skills-manager-repos/{group}/ directory exists before proceeding.
Before executing any Add, Update, or Remove operation, you MUST backup the current skills directory:
# Remove old backup if exists, then create new backup
rm -rf ~/.claude/simple-skills-manager-backup-last-skills
cp -r ~/.claude/skills ~/.claude/simple-skills-manager-backup-last-skills
This ensures the user can recover their skills if something goes wrong.
Verify and prepare source:
mkdir -p ~/.claude/simple-skills-manager-repos/{group}
echo "{absolute-working-path}" > ~/.claude/simple-skills-manager-repos/{group}/path.txt
.git, run git pull instead:
git -C ~/.claude/simple-skills-manager-repos/{group} pull
~/.claude/simple-skills-manager-repos/{group}/:
git clone {git-url} ~/.claude/simple-skills-manager-repos/{group}
Determine working path:
~/.claude/simple-skills-manager-repos/{group}/Scan for skills in the working path:
find "{working-path}" -name "SKILL.md" -type f 2>/dev/null
Clean existing tips for this group (if group already exists):
~/.claude/simple-skills-manager-repos/{group}/skill-names.txt if it exists# For each skill-name in skill-names.txt
rm -rf ~/.claude/skills/{skill-name}
Create skill tips for each SKILL.md found (see "Creating Skill Tips" section)
Save skill manifest - write all created skill names to skill-names.txt:
# Write skill names (one per line) to skill-names.txt
echo "{group}-{skill-name-1}" > ~/.claude/simple-skills-manager-repos/{group}/skill-names.txt
echo "{group}-{skill-name-2}" >> ~/.claude/simple-skills-manager-repos/{group}/skill-names.txt
# ... for each skill
Example skill-names.txt content:
my-commit
my-deploy
my-test
Report results
Verify group exists:
~/.claude/simple-skills-manager-repos/{group}/ directory existsDetermine source type and pull latest:
.git directory)
test -d ~/.claude/simple-skills-manager-repos/{group}/.git && echo "git" || echo "local"
git pull first:
git -C ~/.claude/simple-skills-manager-repos/{group} pull
~/.claude/simple-skills-manager-repos/{group}/path.txt exists in the group directory
cat ~/.claude/simple-skills-manager-repos/{group}/path.txt
path.txt not found, ask user to provide the source pathpath.txt or user inputScan for skills in the working path:
find "{working-path}" -name "SKILL.md" -type f 2>/dev/null
Clean existing tips using skill manifest (if exists):
~/.claude/simple-skills-manager-repos/{group}/skill-names.txt if it exists# For each skill-name in skill-names.txt
rm -rf ~/.claude/skills/{skill-name}
Recreate skill tips for each SKILL.md found (see "Creating Skill Tips" section)
Update skill manifest - overwrite skill-names.txt with new skill names
Report results (include git pull output if applicable)
Verify group exists:
~/.claude/simple-skills-manager-repos/{group}/ directory existsRemove skill tips using skill manifest (if exists):
~/.claude/simple-skills-manager-repos/{group}/skill-names.txt if it exists# For each skill-name in skill-names.txt
rm -rf ~/.claude/skills/{skill-name}
Remove group directory from repos:
rm -rf ~/.claude/simple-skills-manager-repos/{group}
Report results
For each SKILL.md found, extract:
name: field in frontmatter, or from parent directory namedescription: field in frontmatterallowed-tools: field in frontmatterCreate directory and SKILL.md in ~/.claude/skills/{group}-{skill-name}/SKILL.md:
mkdir -p ~/.claude/skills/{group}-{skill-name}
Generated SKILL.md format:
---
name: {group}-{skill-name}
description: {original-description}
allowed-tools:
- Read
- Glob
- Grep
{... copy remaining allowed-tools from original skill, excluding duplicates}
---
# {group}-{skill-name}
This is a tip pointing to a skill from external source.
## Instructions
**IMPORTANT**: Read and execute the skill from the following path:
{absolute-path-to-original-SKILL.md}
Use the Read tool to load the actual skill content, then follow all instructions in that file.
Note: When copying allowed-tools, always include Read, Glob, Grep first (required for tip to work), then add any additional tools from the original skill that are not already listed.
/simple-skills-managerhttps://github.com/example/my-skills.gitmy-skills)~/.claude/skills/ to ~/.claude/simple-skills-manager-backup-last-skills/~/.claude/simple-skills-manager-repos/my-skills/, scans skills, verifies SKILL.md files foundskill-names.txt exists), creates new tipsskill-names.txt with: my-skills-setup, my-skills-deploy, my-skills-test/simple-skills-manager/home/user/projects/my-pluginmyteam~/.claude/skills/ to ~/.claude/simple-skills-manager-backup-last-skills/~/.claude/simple-skills-manager-repos/myteam/ and writes path.txt with the local pathskill-names.txt exists), creates new tipsskill-names.txt with: myteam-build, myteam-release/simple-skills-manager~/.claude/simple-skills-manager-repos/my-skills~/.claude/skills/ to ~/.claude/simple-skills-manager-backup-last-skills/.git) or local (has path.txt)git pull; if local: reads path from path.txtskill-names.txt and deletes listed skillsskill-names.txt/simple-skills-manager~/.claude/simple-skills-manager-repos/my-skills~/.claude/skills/ to ~/.claude/simple-skills-manager-backup-last-skills/skill-names.txt and deletes listed skills~/.claude/simple-skills-manager-backup-last-skills/ - created before each operation~/.claude/simple-skills-manager-repos/{group}/ (contains .git + skill-names.txt)~/.claude/simple-skills-manager-repos/{group}/ (contains path.txt + skill-names.txt)skill-names.txt stores exact skill folder names (one per line), used for precise deletion/update~/.claude/simple-skills-manager-repos/, NOT by skill folder names- as separator (e.g., {group}-{skill-name}) for Windows compatibilityProcess one GitHub issue end-to-end — read the issue + referenced repo docs/code + existing comments, verify against the landed implementation/intent, and post evidence-backed findings as a comment on the issue. Covers doc-review, doc-audit, system-audit, research, and idea issue types. Use when handling a single issue (issue-sweep calls this per issue).
Sweep open GitHub issues for unprocessed human input and act on each via the issue-review skill — delete-PRs for human-approved deprecated docs, doc-update PRs for approved drifted docs, fix-PRs for approved bugs, analysis+TDD-plan comments for feature/design requests (then implement after confirmation), close issues whose PR merged, comment-only on conditional/security/needs-decision ones. The actionable signal may be a comment OR the issue body. With --autofix-green, also auto-fixes "green" issues that have no human reply yet (unambiguous + verifiable-here + low-risk + non-security) — reproduce→fix→test→PR, never auto-merge. Run manually (/agentloop:issue-sweep) or on a schedule. Designed for a doc-audit + spin-off + feature workflow.
One-command setup/update of an agentloop FLEET on a teammate's machine or cloud — asks a few defaulted questions, then generates/reconciles the two config files (deployment.json + repos.json) and installs the schedule. LOCAL = a crontab marker-block wiring fleet/driver.ts (one row per skill; the driver fans out to every covered repo). CLOUD = one claude routine per (repo×skill) via RemoteTrigger, batch-created from the same catalog. Idempotent — re-run to upgrade. This is the SCHEDULING side that `bootstrap` (repo adoption) deliberately leaves out. Interactive — never runs unattended.
Independent clean-context review of ONE open GitHub pull request — read PR diff + linked issue + verify every claim against live code/tests + run the verification gate (pre-merge) and diagnose its root-cause + detect conflicts with sibling PRs, then emit an evidence-backed merge-readiness verdict (MERGE / COMMENT / SUPERSEDE / BLOCK / CLOSE). Runs verification every time (read-only safe); --post writes one verdict comment. Never auto-merges (that gated step belongs to pr-sweep). Use /agentloop:pr-review <pr#> for a single PR; pr-sweep batches this engine across all open PRs.
Batch-review every open GitHub PR and drive it to a terminal state autonomously — fan out a clean-context pr-review per PR (verify claims against live code, run the verification gate), cluster PRs by shared issue + shared files, DEDUP-CLOSE same-issue duplicates (keep the best one, comment + close the twin), and GATED auto-merge every verified non-breaking PR (docs/tests/fixes AND features) while escalating only security / breaking changes / architecture-direction decisions to a human. Designed to run on a schedule on an independent machine so PRs get reviewed + merged without a human in the loop. Run /agentloop:pr-sweep (review+comment+dedup-close only), /agentloop:pr-sweep --merge (also auto-merge gated PRs), or /agentloop:pr-sweep --dry-run (report only).
Iterative clean-context review of a design/plan document or issue — spawn independent-perspective reviewers each round, score, and synthesize findings without carrying prior-round bias. Use to review an implementation plan, architecture doc, or design proposal before building.