local-link/skills/create-skill-project/SKILL.md
创建新的 Claude Skill 项目,初始化 GitHub 仓库、本地 submodule 和软链接。用于将现有 skill 或新 skill 按照标准项目结构组织,支持 Git 版本管理和本地开发。使用场景:(1) 创建新的 skill 项目并推送到 GitHub (2) 将现有 skill 重构为标准项目结构 (3) 初始化 submodule 和软链接以便本地开发。
npx skillsauth add lionad-morotar/simple-local-llm-server create-skill-projectInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
创建新的 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/<skill-name>/.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
tools
分批提交 Git 变更的完整工作流。当用户说"提交这个文件"、"帮我 commit"、"分批提交"、"整理提交计划"、"staged 的文件"、"git 提交"时触发
tools
从用户给出的文档片段中,提取"进阶必知"的深层知识,当用户提到"太简单了,给我几条秘密","面试必备的那种","八股文进阶"时触发
data-ai
批量给技能目录添加 disable-model-invocation,节省 token 开销。只保留需要 LLM 生成/分析/决策的技能有模型调用能力。
tools
open understand dashboard for user