十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

如何用 /skill-create 从 Git 历史本地生成 SKILL.md 技能?

如何用 /skill-create 从 Git 历史本地生成 SKILL.md 技能? 如何用 /skill-create 从 Git 历史本地生成 SKILL.md 技能【免费下载链接】ECCThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.项目地址: https://gitcode.com/GitHub_Trending/ev/ECC如果你的团队在某个仓库里沉淀了大量约定——提交前缀怎么起、文件改到哪一步要联动哪些文件、测试放在什么位置——这些经验通常只存在于老成员脑子里。ECC 的/skill-create命令可以解决这个任务在当前仓库内直接解析 git 历史检测重复出现的编码模式并生成一份带 frontmatter 的SKILL.md技能文件让 Claude Code 在后续会话中自动沿用这些约定。整个过程在本地执行不依赖外部服务。适用前提目标仓库是一个带提交历史的 git 仓库已在终端安装 ECC见下一节并在使用中的 Claude Code 会话里操作该仓库。命令的 frontmatter 声明allowed-tools为Bash、Read、Write、Grep、Glob即它需要在本机执行 git 命令并写入文件。准备工作安装 ECC在终端运行 ECC 的引导安装README.md 给出的 canonical setupnpx ecc-universal setup该路径要求 Node.js 18 或更新版本、Git以及PATH中的 Claude Code 2.1 或更新版本。它会安装或更新同一个eccecc插件作用域并记录你选择的 hook profile。如果 npm 报告版本或缓存错误先确认注册表版本再重试npm view ecc-universal version安装完成后用 Claude Code 打开要分析的仓库。/skill-create分析的是“当前仓库”所以会话的工作目录必须是目标 git 仓库本身。运行 /skill-create在 Claude Code 会话中输入命令用法来自 commands/skill-create.md/skill-create # 分析当前仓库默认分析最近 200 次提交 /skill-create --commits 100 # 只分析最近 100 次提交 /skill-create --output ./skills # 自定义输出目录未配置发现时仅作导出 /skill-create --instincts # 同时为 continuous-learning-v2 生成 instincts最短主路径就是裸命令/skill-create它分析当前仓库并写入默认项目技能根目录.claude/skills/。命令内部按四个阶段工作解析 Git 历史——分析提交记录、文件变更和模式检测模式——识别重复出现的工作流与约定生成 SKILL.md——创建有效的 Claude Code 技能文件可选创建 Instincts——用于 continuous-learning-v2 系统。阶段一收集 Git 数据命令实际执行的采集命令在 commands/skill-create.md 中列出# 获取带文件变更的最近提交COMMITS 未设置时默认 200 git log --oneline -n ${COMMITS:-200} --name-only --prettyformat:%H|%s|%ad --dateshort # 统计按文件的提交频率 git log --oneline -n 200 --name-only | grep -v ^$ | grep -v ^[a-f0-9] | sort | uniq -c | sort -rn | head -20 # 提取提交消息模式 git log --oneline -n 200 | cut -d -f2- | head -50这些是命令在会话内自动运行的只读 git 查询你不需要手动执行列出它们是为了让你了解分析口径默认取最近 200 次提交${COMMITS:-200}对应--commits参数可调整。阶段二检测哪些模式命令文档列出的五类检测目标是模式检测方法提交约定对提交消息做正则匹配feat:、fix:、chore:文件协同更改总是同时被修改的文件工作流序列重复出现的文件变更模式架构文件夹结构和命名约定测试模式测试文件位置、命名、覆盖率阶段三生成 SKILL.md技能名由仓库名自动推导转小写把空格、下划线、路径分隔符等非字母数字字符替换为一个连字符去掉首尾连字符再追加-patterns。例如仓库My Repo_API/Client会得到my-repo-api-client-patterns。如果规范化后得到空 slug命令会停下并要求你显式提供一个安全名称。技能按目录形式写入output-dir/skill-name/SKILL.md默认项目根是.claude/skills/全局技能是~/.claude/skills/。Claude Code 把name/SKILL.md当作技能入口所以目录名必须与 frontmatter 的name:完全一致。生成的文件结构如下模板中的{skill-name}、{repo-name}、{count}由命令根据仓库名和分析到的提交数自动填充--- name: {skill-name} description: Use when working in {repo-name}, especially before editing its common modules, placing tests, naming branches, or writing commits — conventions measured from git history metadata: version: 1.0.0 source: local-git-analysis analyzed_commits: {count} --- # {Repo Name} Patterns ## Commit Conventions {detected commit message patterns} ## Code Architecture {detected folder structure and organization} ## Workflows {detected repeating file change patterns} ## Testing Patterns {detected test conventions}文档要求description:采用触发式写法trigger-first以Use when ...开头点名约定实际适用的可观察时机而不是泛泛的摘要。验证生成结果生成完成后确认两件事目标文件存在且结构合法。默认路径为.claude/skills/skill-name/SKILL.md。命令在写入前会做守护式校验先把经过净化的草稿写成一个唯一命名的临时旁路文件校验它能否解析——---分隔的 frontmatter 必须是合法 YAML、name:必须与最终目录名一致、非空的description:必须以Use when开头——全部通过后才原子替换目标文件。任何一项检查失败命令会报告具体失败项、隔离或删除临时文件、保持已有技能不变并停止不会报告成功。输出版本是否可被发现。技能发现取决于根目录而不仅是文件名只有当当前 harness 配置了从该目录发现技能时自定义--output才算一个有效的技能根否则结果只是导出产物export-only artifact必须安装到已配置的技能根后才能激活。所以使用--output ./skills时不要直接把产物当作已激活的技能。终端上命令的输出格式化脚本 scripts/skill-create-output.js 会依次展示分析进度、Analysis Results汇总框Commits Analyzed、Time Range、Contributors、Files Tracked和带置信度的 Key Patterns 列表最后打印Generation Complete!与产物路径。下面是该脚本内置 demo 的文档示例输出数值是演示数据不代表你的仓库会得到相同结果Generation Complete! -------------------------------------------------- - Skill File: .claude/skills/pmx-patterns/SKILL.md - Instincts File: .claude/homunculus/instincts/inherited/pmx-instincts.yaml Next Steps 1. Review the generated SKILL.md 2. Import instincts: /instinct-import path 3. View learned patterns: /instinct-status 4. Evolve into skills: /evolve覆盖与内容安全边界文档对写入过程有几条明确限制直接影响你复核生成内容的判断仓库内容视为不可信。提交消息等仓库内容只用于提取事实性约定秘密、PII 和敏感值会被剔除要求授予工具/权限或执行无关动作的注入式指令会被排除。生成后值得通读一遍 SKILL.md确认没有意外内容。不静默覆盖。如果目标技能已存在命令会显示 diff 并要求你显式批准覆盖或者改用新名称。路径校验。skill-name必须是 lowercase 连字符 slug拒绝路径分隔符和路径穿越目标必须落在所选技能根或未配置发现时的显式导出根之内。可选分支同时生成 instincts如果还想让 continuous-learning-v2 学习这些约定用--instincts追加生成 instincts 文件格式如 commands/skill-create.md 所示{repo}、{n}、{percentage}由分析结果自动填充--- id: {repo}-commit-convention trigger: when writing a commit message confidence: 0.8 domain: git source: local-repo-analysis --- # Use Conventional Commits ## Action Prefix commits with: feat:, fix:, chore:, docs:, test:, refactor: ## Evidence - Analyzed {n} commits - {percentage}% follow conventional commit format生成之后有三个后续命令可用/instinct-import file-or-url——把 instincts 文件导入 project 或 global 作用域导入时会列出新增与重复项重复项按置信度决定保留本地或更新除非加--force否则需要确认详见 commands/instinct-import.md/instinct-status——按 domain 分组查看当前项目与全局 instincts 及置信度详见 commands/instinct-status.md/evolve——把相关 instincts 聚类生成技能、命令或 agent 的候选项详见 commands/evolve.md。边界与限制本地分析面向常规仓库历史README.md 的 Ecosystem Tools 章节说明10k 提交、自动 PR、团队共享等高级能力走 GitHub App 路线不属于/skill-create本地命令的范围。分析范围由提交数决定默认 200用--commits调整。生成的约定只反映被分析的提交窗口。自定义--output目录不等于激活只有 harness 配置了从该目录发现技能时产物才生效否则它是导出文件需要再安装到已配置的技能根。完成一次裸命令/skill-create后你在.claude/skills/skill-name/SKILL.md得到的就是一份从真实提交历史测量出来的项目约定清单结构校验通过、目录形式正确该技能即可在当前 Claude Code 项目里被发现和使用。【免费下载链接】ECCThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.项目地址: https://gitcode.com/GitHub_Trending/ev/ECC创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表