Skip to content

Latest commit

 

History

History
262 lines (197 loc) · 13.3 KB

File metadata and controls

262 lines (197 loc) · 13.3 KB

lich-skills

面向 Claude CodeGemini CLIOpenAI Codex 的个人技能集 —— 作者 @LichAmnesia

电报风格,观点明确,零废话。工程判断力技能 + 高杠杆工具。

English: README.md


spec-driven-dev 工作流

   定义          规划          构建          验证           评审           发布
 ┌────────┐   ┌────────┐   ┌─────────┐   ┌────────┐   ┌────────┐   ┌────────┐
 │  Spec  │──▶│  Plan  │──▶│  Build  │──▶│  Test  │──▶│ Review │──▶│  Ship  │
 │  规格  │   │  任务  │   │  实现   │   │ 跑通   │   │  质量  │   │  上线  │
 └────────┘   └────────┘   └─────────┘   └────────┘   └────────┘   └────────┘
     ▲                                                                 │
     └─────────────────── 反馈 / 回归 ─────────────────────────────────┘

一个技能、六个阶段、每步都有明确的退出条件。详见 skills/spec-driven-dev/


debug-hypothesis 循环

                          ┌─────────────────────────────┐
                          │    所有假设都被否定?         │
                          │    回到 OBSERVE 重新收集      │
                          └──────────┬──────────────────┘
                                     │
  OBSERVE  ──▶  HYPOTHESIZE  ──▶  EXPERIMENT  ──▶  CONCLUDE
     │              │                  │               │
     ▼              ▼                  ▼               ▼
  复现 bug,     列 3-5 个          每次实验         根因确认
  收集症状       可能原因 +         最多改 5 行,    → 写 fix +
                 支持/反对          证伪,不是       回归测试
                 证据              证实
     │              │                  │               │
     │              │           ┌──────┘               │
     │              │           │ 被否定?              │
     │              │           ▼                      │
     │              │     换下一个假设                  │
     │              │                                  │
     └──────────────┴──── 全部写到 DEBUG.md ────────────┘

科学方法 debug。防止 AI 最常见的失败模式:在错误方向上蛮干。详见 skills/debug-hypothesis/


wiki-aggregate 循环

                  把 N 个源当成一个 environment
            ╔════════════════════════════════════════╗
            ║   src_1   src_2   src_3  ...   src_N   ║
            ║   [..]    [..]    [..]         [..]    ║
            ║                                        ║
            ║   不拼接。不总结。导航。               ║
            ╚═══════════════════╤════════════════════╝
                                ▼
            ┌────────────────────────────────────────┐
            │       AGGREGATOR  (lite agent)         │
            │   inspect_file / inspect_section       │
            │   search_sources / cross_pack_check    │
            │                                        │
            │   notes = []  (每条结论都有 path:行号) │
            │   预算 25 → 循环到覆盖率达标           │
            └───────────────────┬────────────────────┘
                                ▼
                  pack/  brief.md / findings.md /
                         sources.tsv / _aggregation_log.md

长程研究的 agentic aggregation 协议。N 份原始素材 → 1 份结构化 pack,每条 claim 带 path:行号 溯源,跨源矛盾自动暴露。详见 skills/wiki-aggregate/


技能列表

技能 作用
skills-map 路由器 —— 从这里开始。 把本集合里的每个 skill 映射到它所属的工作阶段(决策 → Spec → 构建 → Debug → 多 agent 分发 → 调研 → 媒体 → 分析),任务开头走一遍决策树选出该用的那一个。补上"发现"这个洞:skill 只有在 agent 记得它存在、且在对的时刻伸手去拿时才会触发。手工维护的索引 + 典型链式流程 + 反合理化表。/skills-map 或任何"该用哪个 skill"的犹豫时触发。
spec-driven-dev 完整软件开发生命周期:Spec → Plan → Build → Test → Review → Ship。反合理化表、验证关卡、原子提交。
debug-hypothesis 科学方法 debug:Observe → Hypothesize → Experiment → Conclude。反"蛮干"规则、最多 5 行实验、强制 DEBUG.md 证据链。
wiki-aggregate 把 N≥3 份原始素材聚合成一个结构化 pack,agentic aggregation 协议。Cheap-pass + 工具预算的 aggregator loop,每条 claim 带 path:行号 溯源,跨源矛盾自动暴露。
tavily-search 通过 Tavily API 做网页搜索 + 正文抽取。用于事实核查、文档查询、带引用的研究。
nano-banana 文生图 + 图片编辑,基于 Google Nano Banana 2 (gemini-3.1-flash-image-preview),支持 512 / 1K / 2K / 4K
frontend-design 做有辨识度、production-grade 的前端 UI —— 强调审美方向、有意图的字体选择、避免"AI slop"通用感。改编自 Anthropic 官方 frontend-design skill(Apache-2.0)。
google-analytics 分析 GA4 数据,并开箱即用一个 SEO 日报——只给一个 property 就能产出:自然搜索 KPI(28天 vs 前28天)、同星期几异常检测、自然搜索 top 落地页、按搜索引擎/国家/设备拆分、带优先级的建议。另含通用分析(overview / sources / content / devices / seo)。脚本用 TypeScript(Bun / npx tsx),基于官方 @google-analytics/data 客户端,自动识别 conversionskeyEvents。凭据从环境变量读取(GOOGLE_ANALYTICS_PROPERTY_ID + service-account JSON)。
build-until-pass 有上限的自纠错循环:跑 build/typecheck/test → 读第一个报错 → 打最小的补丁 → 重跑 → 直到 exit code 0 或撞到尝试上限(默认 10 轮)。绿不绿由退出码判,不是 agent 自己说了算。每轮最小 diff + 上限,同时干掉两种死法——人肉 while 循环、agent 大改特改瞎蛮干。拒绝假装通过(@ts-ignore、删测试、|| true)。

所有技能都从环境变量读取凭据(TAVILY_API_KEYGEMINI_API_KEY 等)—— 绝不硬编码


快速安装

Claude Code — 插件市场(一行搞定)

在 Claude Code 会话里直接输入:

/plugin marketplace add LichAmnesia/lich-skills
/plugin install lich-skills@lich-skills

五个技能立即可用。验证:

/skills
Claude Code — git clone 方式
# 1. 安装 Claude Code(如果还没装)
curl -fsSL https://claude.ai/install.sh | bash
# 或: brew install --cask claude-code

# 2. 克隆到全局 skills 目录
git clone https://github.com/LichAmnesia/lich-skills.git ~/.claude/skills/lich-skills

# 3. 启动 Claude Code
claude
> /skills

完整指南:docs/claude-code-setup.md

Gemini CLI — extensions install(一行搞定)
gemini extensions install https://github.com/LichAmnesia/lich-skills

本仓库根目录放了 gemini-extension.json 清单,Gemini CLI 会把整个仓库当作一个 extension 安装,并自动发现 skills/*/SKILL.md 里所有技能。验证:

gemini extensions list

手动克隆的兜底方式:

npm install -g @google/gemini-cli
git clone https://github.com/LichAmnesia/lich-skills.git ~/.gemini/extensions/lich-skills

完整指南:docs/gemini-cli-setup.md

OpenAI Codex CLI
# 1. 安装 Codex CLI
npm install -g @openai/codex
# 或: brew install --cask codex

# 2. 安装技能集
mkdir -p ~/.codex/skills
git clone https://github.com/LichAmnesia/lich-skills.git ~/.codex/skills/lich-skills

完整指南:docs/codex-setup.md


一行命令为什么能跑?

  • /plugin marketplace add LichAmnesia/lich-skills —— Claude Code 会读取仓库根目录的 .claude-plugin/marketplace.json。这个文件把仓库声明为一个 plugin marketplace,并通过 source: github 字段把插件指回自己的 GitHub repo。没有这个字段,一行命令跑不通。
  • /plugin install lich-skills@lich-skills —— 格式是 <插件名>@<市场名>。我这里两边同名,所以出现两次 lich-skills。addyosmani 的仓库用的是 agent-skills@addy-agent-skills,市场名不同,看起来更清楚。
  • gemini extensions install <github-url> —— Gemini CLI 的原生 extensions 子命令。它要求被安装的仓库根目录必须有 gemini-extension.json 清单文件,才会把这个仓库当成 extension 装进来。装进来之后,skills/*/SKILL.md 会被自动发现。没有清单,一行命令直接拒绝安装。
  • geminicli.com/extensions/ 目录 —— 这个官方扩展画廊会从公开 GitHub 仓库里收录带有 gemini-extension.json 清单的 extension。放清单是必要条件(但不是充分条件)——有了清单才有机会被收录。
  • git clone~/.claude/skills/ —— 最朴素的路径。Claude Code 每次启动会扫描 ~/.claude/skills/** 下所有 SKILL.md,不依赖 marketplace 机制。

目录结构

lich-skills/
├── README.md / README-zh.md      # 中英文说明
├── LICENSE                       # MIT
├── CLAUDE.md                     # 仓库内 Claude 指令
├── CONTRIBUTING.md               # 贡献规范
├── .claude-plugin/               # Claude Code 插件清单
│   ├── plugin.json
│   └── marketplace.json
├── .gitleaks.toml                # 秘钥扫描配置
├── .github/workflows/ci.yml      # CI: gitleaks + 技能格式 lint + py 编译
├── scripts/
│   ├── pre-commit                # commit 时的 gitleaks 钩子
│   └── install-hooks.sh
├── docs/                         # 三个工具的安装指南
│   ├── claude-code-setup.md
│   ├── gemini-cli-setup.md
│   └── codex-setup.md
└── skills/
    ├── spec-driven-dev/          # 六阶段 SDLC 工作流
    │   ├── SKILL.md
    │   └── templates/
    │       ├── spec.md
    │       ├── plan.md
    │       ├── review.md
    │       └── ship.md
    ├── wiki-aggregate/          # N 源 → 1 pack(agentic aggregation)
    ├── tavily-search/            # Tavily 网页搜索
    │   ├── SKILL.md
    │   └── scripts/search.py
    ├── nano-banana/              # Nano Banana 2 文生图
    │   ├── SKILL.md
    │   └── scripts/generate_image.py
    └── frontend-design/          # 前端审美设计指南(Apache-2.0)
        ├── SKILL.md
        └── LICENSE.txt

文档

工具 安装 + 技能配置
Claude Code docs/claude-code-setup.md
Gemini CLI docs/gemini-cli-setup.md
OpenAI Codex docs/codex-setup.md

安全

仓库里没有任何秘钥。每次提交都会通过 gitleaks 做 pre-commit 扫描,CI 里每个 PR 还会再跑一次。所有技能只读环境变量,示例里用 YOUR_API_KEY_HERE 占位。

如果发现任何泄露,请通过 私密安全通告 反馈,不要开 public issue。


贡献

欢迎 PR。新技能要 具体可验证最小化。详见 CONTRIBUTING.md


许可

MIT © 2026 黄声 (@LichAmnesia)