技能维基维护自动化Skill GardeningSkillsWiki

这个技能用于通过自动化脚本检查和维护技能维基的健康状态,包括链接验证、命名一致性、索引覆盖率和孤儿技能检测,以提升维基质量、可发现性和可维护性。关键词:技能维基、自动化检查、链接验证、wiki维护、DevOps、测试自动化、质量控制。

测试 0 次安装 0 次浏览 更新于 3/16/2026

name: 技能维基园艺 description: 维护技能维基健康 - 检查链接、命名、交叉引用和覆盖率 when_to_use: 当添加、移除或重组技能时,或定期维护维基健康并验证链接 version: 1.1.0 languages: bash

技能维基园艺

概述

技能维基需要定期维护以保持健康:链接损坏、技能被孤立、命名漂移、索引文件不同步。

核心原则: 自动化健康检查,以保持维基质量,无需手动检查消耗令牌。

使用时机

运行园艺后:

  • 添加新技能
  • 移除或重命名技能
  • 重组类别
  • 更新交叉引用
  • 怀疑链接损坏

定期维护:

  • 活跃开发期间每周
  • 稳定期间每月

快速健康检查

# 运行所有检查
~/.claude/skills/meta/gardening-skills-wiki/garden.sh

# 或运行特定检查
~/.claude/skills/meta/gardening-skills-wiki/check-links.sh
~/.claude/skills/meta/gardening-skills-wiki/check-naming.sh
~/.claude/skills/meta/gardening-skills-wiki/check-index-coverage.sh

# 分析搜索差距(缺少哪些技能)
~/.claude/skills/meta/gardening-skills-wiki/analyze-search-gaps.sh

主脚本运行所有检查并提供健康报告。

检查内容

1. 链接验证 (check-links.sh)

检查:

  • 反引号包裹的 @ 链接 - 反引号禁用解析
  • 相对路径如 skills/ 或 skills/gardening-skills-wiki/~/ - 应使用 skills/ 绝对路径
  • 所有 skills/ 引用解析到现有文件
  • 索引文件中引用的技能存在
  • 孤立技能(不在任何索引中)

修复:

  • 从 @ 引用中移除反引号
  • 将 skills/ 和 skills/gardening-skills-wiki/~/ 相对路径转换为 skills/ 绝对路径
  • 更新损坏的 skills/ 引用到正确路径
  • 将孤立技能添加到其类别索引
  • 移除对已删除技能的引用

2. 命名一致性 (check-naming.sh)

检查:

  • 目录名称为连字符式
  • 目录名称无大写或下划线
  • 前置字段存在(name、description、when_to_use、version、type)
  • 技能名称使用主动语态(非“如何…”)
  • 空目录

修复:

  • 重命名目录为连字符式
  • 添加缺失的前置字段
  • 移除空目录
  • 重命名以使用主动语态

3. 索引覆盖率 (check-index-coverage.sh)

检查:

  • 所有技能在其类别索引中列出
  • 所有类别索引文件从主索引链接
  • 技能在索引条目中有描述

修复:

  • 添加缺失技能到索引文件
  • 添加类别链接到主索引
  • 为索引条目添加描述

常见问题及修复

损坏链接

❌ 损坏:skills/debugging/root-cause-tracing
   目标:/path/to/skills/debugging/root-cause-tracing/SKILL.md

修复: 更新引用路径 - 技能可能已移动或重命名。

孤立技能

⚠️  孤立:test-invariants/SKILL.md 不在 testing/INDEX.md 中

修复: 添加到类别索引:

- skills/gardening-skills-wiki/test-invariants - 技能描述

反引号包裹链接

❌ 反引号包裹:skills/testing/condition-based-waiting 在第 31 行
   文件:getting-started/SKILL.md
   修复:移除反引号 - 使用裸 @ 引用

修复: 移除反引号:

# ❌ 错误 - 反引号禁用链接解析
`skills/testing/condition-based-waiting`

# ✅ 正确 - 裸 @ 引用
skills/testing/condition-based-waiting

相对路径链接

❌ 相对路径:skills/testing 在 coding/SKILL.md 中
   修复:使用 skills/ 绝对路径代替

修复: 转换为绝对路径:

# ❌ 错误 - 相对路径脆弱
skills/testing/condition-based-waiting

# ✅ 正确 - skills/ 绝对路径
skills/testing/condition-based-waiting

命名问题

⚠️  混合大小写:TestingPatterns(应为连字符式)

修复: 重命名目录:

cd ~/.claude/skills/testing
mv TestingPatterns testing-patterns
# 更新所有对旧名称的引用

缺失索引

❌ 未索引:condition-based-waiting/SKILL.md

修复: 添加到 testing/INDEX.md

## 可用技能

- skills/gardening-skills-wiki/condition-based-waiting - 用条件轮询替换超时

空目录

⚠️  空目录:event-based-testing

修复: 如果不再需要,移除:

rm -rf ~/.claude/skills/event-based-testing

命名约定

目录名称

  • 格式: 连字符式(小写带连字符)
  • 过程技能: 适当使用动名词(creating-skillstesting-skills
  • 模式技能: 使用核心概念(flatten-with-flagstest-invariants
  • 避免: 混合大小写、下划线、被动语态开头(“how-to-”)

前置字段要求

必需字段:

  • name:人类可读名称
  • description:单行摘要
  • when_to_use:症状和情境(CSO关键)
  • version:语义版本

可选字段:

  • languages:适用语言
  • dependencies:所需工具
  • context:特殊上下文(如“AI辅助开发”)

自动化工作流

添加新技能后

# 1. 创建技能
mkdir -p ~/.claude/skills/category/new-skill
vim ~/.claude/skills/category/new-skill/SKILL.md

# 2. 添加到类别索引
vim ~/.claude/skills/category/INDEX.md

# 3. 运行健康检查
~/.claude/skills/meta/gardening-skills-wiki/garden.sh

# 4. 修复报告的任何问题

重组后

# 1. 移动/重命名技能
mv ~/.claude/skills/old-category/skill ~/.claude/skills/new-category/

# 2. 更新所有引用(grep 查找旧路径)
grep -r "skills/gardening-skills-wiki/old-category/skill" ~/.claude/skills/

# 3. 运行健康检查
~/.claude/skills/meta/gardening-skills-wiki/garden.sh

# 4. 修复损坏链接

定期维护

# 月度:运行完整健康检查
~/.claude/skills/meta/gardening-skills-wiki/garden.sh

# 审查并修复:
# - ❌ 错误(损坏链接、缺失技能)
# - ⚠️  警告(命名、空目录)

脚本

garden.sh(主脚本)

运行所有健康检查并提供全面报告。

用法:

~/.claude/skills/meta/gardening-skills-wiki/garden.sh [skills_dir]

check-links.sh

验证所有 @ 引用和交叉链接。

检查:

  • 反引号包裹的 @ 链接(禁用解析)
  • 相对路径(skills/skills/gardening-skills-wiki/~/)- 应为 skills/
  • @ 引用解析到现有文件
  • 索引文件中的技能存在
  • 孤立技能检测

check-naming.sh

验证命名约定和前置字段。

检查:

  • 目录名称格式
  • 前置字段完整性
  • 空目录

check-index-coverage.sh

验证索引完整性。

检查:

  • 技能在类别索引中列出
  • 类别在主索引中链接
  • 描述存在

快速参考

问题 脚本 修复
反引号包裹链接 check-links.sh 从 @ 引用中移除反引号
相对路径 check-links.sh 转换为 skills/ 绝对路径
损坏链接 check-links.sh 更新 @ 引用
孤立技能 check-links.sh 添加到索引
命名问题 check-naming.sh 重命名目录
空目录 check-naming.sh 使用 rm -rf 移除
缺失索引 check-index-coverage.sh 添加到 INDEX.md
无描述 check-index-coverage.sh 添加到索引条目

输出符号

  • 通过 - 项目正确
  • 错误 - 必须修复(损坏链接、缺失技能)
  • ⚠️ 警告 - 应修复(命名、空目录)
  • ℹ️ 信息 - 信息性(无需操作)

与工作流集成

提交技能更改前:

~/.claude/skills/meta/gardening-skills-wiki/garden.sh
# 修复所有 ❌ 错误
# 考虑修复 ⚠️  警告
git add .
git commit -m "添加/更新技能"

当链接可疑时:

~/.claude/skills/meta/gardening-skills-wiki/check-links.sh

当索引似乎不完整时:

~/.claude/skills/meta/gardening-skills-wiki/check-index-coverage.sh

常见合理化

借口 现实
“将手动检查链接” 自动化检查更快更全面
“索引可能没问题” 孤立技能发生 - 总是验证
“命名不重要” 一致性有助于发现和维护
“空目录无害” 杂乱混淆未来维护者
“可跳过定期检查” 问题累积 - 定期维护防止大清理

现实影响

无园艺:

  • 紧急任务中发现损坏链接
  • 孤立技能从未发现
  • 命名随时间漂移
  • 索引文件不同步

有园艺:

  • 30秒健康检查及早发现问题
  • 自动化验证防止手动检查
  • 一致结构有助于发现
  • 维基保持可维护性

底线

不要手动检查 - 自动化检查。

更改后和定期运行 garden.sh。立即修复 ❌ 错误,方便时处理 ⚠️ 警告。

维护良好的维基 = 可发现的技能 = 可重用知识。