com um clique
create-skill-project
创建新的 Claude Skill 项目,初始化 GitHub 仓库、本地 submodule 和软链接。用于将现有 skill 或新 skill 按照标准项目结构组织,支持 Git 版本管理和本地开发。使用场景:(1) 创建新的 skill 项目并推送到 GitHub (2) 将现有 skill 重构为标准项目结构 (3) 初始化 submodule 和软链接以便本地开发。
Menu
创建新的 Claude Skill 项目,初始化 GitHub 仓库、本地 submodule 和软链接。用于将现有 skill 或新 skill 按照标准项目结构组织,支持 Git 版本管理和本地开发。使用场景:(1) 创建新的 skill 项目并推送到 GitHub (2) 将现有 skill 重构为标准项目结构 (3) 初始化 submodule 和软链接以便本地开发。
通常在 web-search 没有办法解决用户需求时,调用此技能,创造或生成全新图片。
将图片或文本描述转换为完整 AI 绘画提示词。当用户想要根据参考图、照片或文字描述生成适用于各种 AI 绘画工具(Midjourney、Stable Diffusion、FLUX、DALL-E 等)的专业提示词时使用。适用于:上传图片并请求生成提示词、将照片转化为特定艺术风格、根据文字描述构建结构化提示词、需要系统化的提示词构建框架。
修复语音输入,然后执行
修复语病,使句子更通顺
修改我的本地应用配置
记录有意思的 bug 到博客某文件中
| name | create-skill-project |
| description | 创建新的 Claude Skill 项目,初始化 GitHub 仓库、本地 submodule 和软链接。用于将现有 skill 或新 skill 按照标准项目结构组织,支持 Git 版本管理和本地开发。使用场景:(1) 创建新的 skill 项目并推送到 GitHub (2) 将现有 skill 重构为标准项目结构 (3) 初始化 submodule 和软链接以便本地开发。 |
创建新的 Claude Skill 项目,初始化 GitHub 仓库、本地 submodule 和软链接。
${<skill-name>}-skills,即技能名称加后缀,但当心后缀重复注意,技能名称不应当有后缀“-skills”,项目名称才允许有(注意去重,避免出现 x-skill-skills 这种情况)
使用 gh-cli 创建新的 public 仓库:
gh repo create <project-name> --public --description "<description>"
在 local-link/skills 目录下添加 submodule:
cd ~/G/Local/local-link/skills
git submodule add https://github.com/Lionad-Morotar/<project-name>.git <project-name>
注意:如果仓库是空的,需要先在仓库中创建初始提交(如 README.md)。
如果 ~/.claude/skills/<skill-name> 已存在,复制其内容到 submodule:
cp -r ~/.claude/skills/<skill-name>/* ~/G/Local/local-link/skills/<project-name>/
删除旧的 skill 目录,创建指向 submodule 的软链接:
# 1. backup
# 2. rm -rf ~/.claude/skills/<skill-name>
# 3. ln -s ~/G/Local/local-link/skills/<project-name>/skills/<skill-name> ~/.claude/skills/<skill-name>
注意:软链接应指向 skills/<skill-name> 子目录(如果采用 translating-project 模式)。
cd ~/G/Local/local-link/skills/<project-name>
git add -A
git commit -m "Initial commit"
git push
推荐的项目结构:
<project-name>/
├── README.md # 项目说明(基础模版见下方)
├── skills/
│ └── <skill-name>/ # Skill 目录
│ ├── SKILL.md # Skill 定义
│ ├── reference/ # 参考文档(可选)
│ ├── scripts/ # 脚本(可选)
│ └── assets/ # 资源文件(可选)
仿照 gh-cli-skill/README.md 的简洁结构:
# <project-name>
<一句话描述 skill 的用途>
## 安装
```bash
npx skills add -g Lionad-Morotar/<project-name>
/<skill-name> {你的要求}
如果你的 IDE 不支持 SlashCommand,那么为了获得最可靠的结果,需要提示词前加上前缀,比如:
使用 <skill-name> 技能,{你的要求}
这会明确触发技能并确保 AI 遵循文档化的模式。如果不加前缀,技能触发可能不一致,具体取决于你的提示词与技能描述关键词的匹配程度。
## 安全配置最佳实践(重要)
如果 skill 需要 API 密钥或敏感凭证,**必须**遵循以下安全准则:
### 1. 配置文件位置
凭证必须存储在用户主目录下的隐藏配置目录,**禁止**存储在项目目录中:
~/.config//.env
### 2. 文件权限
配置文件必须设置 600 权限(仅所有者可读写):
```bash
mkdir -p ~/.config/<skill-name>
touch ~/.config/<skill-name>/.env
chmod 600 ~/.config/<skill-name>/.env
脚本读取凭证时优先检查安全目录,保留向后兼容:
from pathlib import Path
from dotenv import load_dotenv
# 优先级 1: 安全配置目录
home_config = Path.home() / ".config" / "<skill-name>" / ".env"
# 优先级 2: 本地 .env(向后兼容)
local_env = Path(__file__).parent.parent / ".env"
if home_config.exists():
load_dotenv(home_config)
elif local_env.exists():
load_dotenv(local_env)
4.1 SKILL.md 必须使用技能 /skill-creator 创建,已达到最优效果
4.2 必须在 SKILL.md 中明确指示用户手动创建配置文件,禁止在聊天中发送凭证:
**DO NOT paste credentials in chat**. Instead:
1. Create config file at `~/.config/<skill-name>/.env`
2. Add your credentials to that file (never share in chat)
3. Run smoke test to verify
local-link/skills/<skill-name>).gitmodules 中没有重复条目~/.config/<skill-name>/.env 存储凭证如果 .gitmodules 中有重复条目,手动清理:
# 删除错误的条目
# 编辑 .gitmodules 文件,保留正确的路径
# 清理 git config
git config --remove-section submodule.<wrong-name>
如果仓库是空的,先创建初始提交:
git checkout -b main
echo "# <skill-name>" > README.md
git add README.md
git commit -m "Initial commit"
git push -u origin main