Loading...
Loading...
Compare original and translation side by side
lovstudio/{name}-skill~/lovstudio/coding/skills/index/lovstudio/{name}-skill~/lovstudio/coding/skills/index/~/lovstudio/coding/skills/
├── index/ ← central catalog (lovstudio/skills repo)
│ ├── skills.yaml ← machine-readable manifest (paid flag lives here)
│ └── README.md ← human-readable catalog
├── {name}-skill/ ← each skill is an independent repo
│ ├── SKILL.md
│ ├── README.md
│ ├── CHANGELOG.md ← managed by skill-optimizer
│ ├── scripts/ ← standalone Python CLI scripts
│ └── references/ ← optional progressive-disclosure docs
└── ...
~/.claude/skills/lovstudio-{name} ← symlink → ~/.agents/skills/lovstudio-{name}
→ ~/lovstudio/coding/skills/{name}-skill/lovstudio/{name}-skill-skill~/lovstudio/coding/skills/{name}-skill/lovstudio-~/.claude/skills/lovstudio-{name}/lovstudio-namelovstudio:{name}:paid: true/falseindex/skills.yaml~/lovstudio/coding/skills/
├── index/ ← 中央目录(lovstudio/skills仓库)
│ ├── skills.yaml ← 机器可读清单(付费标识存储于此)
│ └── README.md ← 人类可读目录
├── {name}-skill/ ← 每个Skill都是独立仓库
│ ├── SKILL.md
│ ├── README.md
│ ├── CHANGELOG.md ← 由skill-optimizer管理
│ ├── scripts/ ← 独立Python CLI脚本
│ └── references/ ← 可选的渐进式披露文档
└── ...
~/.claude/skills/lovstudio-{name} ← 符号链接 → ~/.agents/skills/lovstudio-{name}
→ ~/lovstudio/coding/skills/{name}-skill/lovstudio/{name}-skill-skill~/lovstudio/coding/skills/{name}-skill/lovstudio-~/.claude/skills/lovstudio-{name}/lovstudio-namelovstudio:{name}:paid: true/falseindex/skills.yamlAskUserQuestionAskUserQuestion这个 skill 的分发定位?
- Free (public) — 任何人 git clone 就能用。适合引流、通用工具、开源贡献。
- Paid, 普通 IP — 核心逻辑是流程/模板/prompt 编排,用户 grep 出来不心疼。用加密分发 + license 鉴权。
- Paid, 敏感 IP — 含算法参数/业务规则/调好的 prompt/API 密钥,用户反编译会心疼。用 cloud-split:核心逻辑放云端,本地只有瘦客户端。
提示:不确定 → 选 2。未来升级到 3 比降级容易。
references/cloud-split.md这个 skill 的分发定位?
- 免费(公开) — 任何人git clone就能用。适合引流、通用工具、开源贡献。
- 付费,普通IP — 核心逻辑是流程/模板/prompt编排,用户grep出来不心疼。用加密分发 + license鉴权。
- 付费,敏感IP — 含算法参数/业务规则/调好的prompt/API密钥,用户反编译会心疼。用cloud-split:核心逻辑放云端,本地只有瘦客户端。
提示:不确定 → 选2。未来升级到3比降级容易。
references/cloud-split.md我先拆解一下这个 skill 的结构:公开层(瘦客户端 SKILL.md 会暴露这些):
- [具体列出:对话流、输入解析、输出渲染、错误处理]
保护层(需要藏起来的):
- [具体列出:算法/阈值/规则/prompt 工程/密钥/数据]
- 或明确写 "无 — 这个 skill 没有需要保护的核心逻辑"
按这个拆解,你选的 [Q1 答案] [合理 / 不合理,建议改成 X]。确认继续?
| Q1 选择 | 保护层内容 | 判断 |
|---|---|---|
| Free | 任何 | ✓ 无需保护问题 |
| Encrypted | 非空 | ⚠️ 警告:encrypted 不防 L2 grep,真敏感的请升级 cloud-split |
| Encrypted | 空 | ✓ 合理(典型场景:付费模板/工作流) |
| Cloud-split | 非空且有实质 | ✓ 合理 |
| Cloud-split | 空或琐碎 | ✗ 停下,反问用户是否过度设计,建议降级到 encrypted 或 free |
我先拆解一下这个 skill 的结构:公开层(瘦客户端SKILL.md会暴露这些):
- [具体列出:对话流、输入解析、输出渲染、错误处理]
保护层(需要隐藏的内容):
- [具体列出:算法/阈值/规则/prompt工程/密钥/数据]
- 或明确写 "无 — 这个skill没有需要保护的核心逻辑"
按这个拆解,你选的[Q1答案][合理/不合理,建议改成X]。确认继续?
| Q1选择 | 保护层内容 | 判断 |
|---|---|---|
| 免费 | 任何内容 | ✓ 无需保护,无问题 |
| 加密 | 非空 | ⚠️ 警告:加密无法防止L2级grep,若为真敏感内容请升级到cloud-split |
| 加密 | 空 | ✓ 合理(典型场景:付费模板/工作流) |
| Cloud-split | 非空且有实质内容 | ✓ 合理 |
| Cloud-split | 空或琐碎内容 | ✗ 暂停,反问用户是否过度设计,建议降级为加密或免费 |
grep| ✗ 逻辑自述(坏) | ✓ 能力域(好) |
|---|---|
| |
| |
| |
| |
op: "score"op: "check_if_sum_exceeds_10"grep| ✗ 逻辑自述(坏) | ✓ 能力域(好) |
|---|---|
| |
| |
| |
| |
op: "score"op: "check_if_sum_exceeds_10"| Tier | Protects against | Does NOT protect against |
|---|---|---|
| Free | 无 | 无 |
| Paid / encrypted | 路人 | 技术用户 grep |
| Paid / cloud-split | L1 + L2 + 反汇编客户端 | 反向推理 I/O 做劣质 clone |
| 层级 | 能防范 | 不能防范 |
|---|---|---|
| 免费 | 无 | 无 |
| 付费/加密 | 普通用户 | 技术用户通过grep |
| 付费/cloud-split | L1+L2+反汇编客户端 | 通过反向推理I/O制作劣质克隆版 |
scripts/references/assets/argparsesetup.py__init__.pyscripts/references/assets/argparsesetup.py__init__.pypython3 ~/.claude/skills/lovstudio-skill-creator/scripts/init_skill.py <name>~/lovstudio/coding/skills/{name}-skill/{name}-skill/
├── SKILL.md ← frontmatter + TODO workflow
├── README.md ← human-readable docs with version badge
└── scripts/ ← empty, ready for implementation--paidscripts/references/cloud-split.mdthreshold-checkpaid-addpaid-add~/lovstudio/coding/web/supabase/functions/skill_call/handlers/<name>.ts{verdict: "A" | "B"}displaythreshold-checkreferences/cloud-split.md{score, verdict: "below", display: "2+6=8 (below 10)"}python3 ~/.claude/skills/lovstudio-skill-creator/scripts/init_skill.py <name>~/lovstudio/coding/skills/{name}-skill/{name}-skill/
├── SKILL.md ← 前置元数据 + TODO工作流
├── README.md ← 带版本徽章的人类可读文档
└── scripts/ ← 空目录,准备好用于实现--paidscripts/references/cloud-split.mdthreshold-checkpaid-addpaid-add~/lovstudio/coding/web/supabase/functions/skill_call/handlers/<name>.ts{verdict: "A" | "B"}displaythreshold-checkreferences/cloud-split.md{score, verdict: "below", display: "2+6=8 (below 10)"}scripts/descriptionAskUserQuestionreferences/git clone https://github.com/lovstudio/{name}-skill ~/.claude/skills/lovstudio-{name}references/templates.mdscripts/descriptionAskUserQuestionreferences/git clone https://github.com/lovstudio/{name}-skill ~/.claude/skills/lovstudio-{name}references/templates.mdcd ~/lovstudio/coding/skills/<name>-skill
git init
git add -A
git commit -m "feat: initial release of <name> skill"cd ~/lovstudio/coding/skills/<name>-skill
git init
git add -A
git commit -m "feat: initial release of <name> skill"undefinedundefined~/lovstudio/coding/skills/index/skills.yaml - name: <name>
repo: lovstudio/<name>-skill
paid: false # or true for paid skills
category: "<Category>" # must match an existing category heading
version: "0.1.0"
description: "<One-line description matching SKILL.md tagline>"~/lovstudio/coding/skills/index/README.mdlovstudio/skillscd ~/lovstudio/coding/skills/index
git checkout -b add/<name>
git add skills.yaml README.md
git commit -m "add: <name> skill"
git push -u origin HEAD
gh pr create --fill~/lovstudio/coding/skills/index/skills.yaml - name: <name>
repo: lovstudio/<name>-skill
paid: false # 付费Skill设为true
category: "<Category>" # 必须匹配现有分类标题
version: "0.1.0"
description: "<与SKILL.md标语一致的单行描述>"~/lovstudio/coding/skills/index/README.mdlovstudio/skillscd ~/lovstudio/coding/skills/index
git checkout -b add/<name>
git add skills.yaml README.md
git commit -m "add: <name> skill"
git push -u origin HEAD
gh pr create --fillundefinedundefined
Verify: `ls ~/.claude/skills/lovstudio-<name>/SKILL.md` resolves.
验证:`ls ~/.claude/skills/lovstudio-<name>/SKILL.md`可正常解析。skills.yaml/agentif [ -n "$LOVSTUDIO_REVALIDATE_SECRET" ]; then
curl -sfX POST https://lovstudio.ai/api/revalidate \
-H "x-revalidate-secret: $LOVSTUDIO_REVALIDATE_SECRET" \
-H "content-type: application/json" \
-d '{"tags":["skills-index"]}' \
&& echo "✓ cache refreshed" \
|| echo "⚠ revalidate failed (will appear within 1h)"
filovstudio/web:src/data/skills.tsskills-indexskill:<id>skill-cases:<id>skills.yaml/agentif [ -n "$LOVSTUDIO_REVALIDATE_SECRET" ]; then
curl -sfX POST https://lovstudio.ai/api/revalidate \
-H "x-revalidate-secret: $LOVSTUDIO_REVALIDATE_SECRET" \
-H "content-type: application/json" \
-d '{"tags":["skills-index"]}' \
&& echo "✓ cache refreshed" \
|| echo "⚠ revalidate failed (will appear within 1h)"
filovstudio/web:src/data/skills.tsskills-indexskill:<id>skill-cases:<id>/lovstudio:<name>/lovstudio:<name>**IMPORTANT: Use `AskUserQuestion` to collect options BEFORE running.**
Use `AskUserQuestion` with the following template:
[options list]**重要提示:运行前请使用`AskUserQuestion`收集选项。**
使用以下模板的`AskUserQuestion`:
[选项列表]undefinedundefinedreferences/themes.mdreferences/api.mdreferences/examples.mdreferences/themes.mdreferences/themes.mdreferences/api.mdreferences/examples.mdreferences/themes.mdINSTALLATION_GUIDE.md__pycache__/*.pyc.DS_Store.gitignorepaidindex/skills.yamlINSTALLATION_GUIDE.md__pycache__/*.pyc.DS_Store.gitignorepaidindex/skills.yamllovstudio/skillsskills/lovstudio-<name>/lovstudio/pro-skillslovstudio/pro-skillsundefinedlovstudio/skillsskills/lovstudio-<name>/lovstudio/pro-skillslovstudio/pro-skillsundefinedundefinedundefined