agentsclimarketplace

Skill graph

Skill qiuyiwu1989-star/openclaw-skill-ops/skills/skill-graph

小能核心技能 — 扫描所有Skill,推断并维护Skill之间的关系图谱(前置/后续/依赖/互补/替代/包含),输出Mermaid可视化图+JSON关系表。触发词:技能图谱/Skill关系/依赖关系/调用链/关系图谱From its SKILL.md

Install
npx -y skills add qiuyiwu1989-star/openclaw-skill-ops --skill skill-graph

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.1 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it

Skill 图谱维护

v2.0 | 升级:标准化Mermaid输出+具体推断规则+质量评估

触发词

  • "技能图谱" / "Skill 关系" / "依赖关系" / "调用链" / "关系图谱"

关系类型

类型符号含义判断规则
前置←调用A之前应先完成BA的输入=B的输出,或A的SKILL.md明确说"先调用B"
后续→A完成后通常调用BA的输出是B的输入,或A的SKILL.md说"结果交给B"
依赖⟵A必须有B才能运行A的工具链/脚本/API依赖B提供的数据或工具
互补↔A和B一起用效果更好同Agent下、同项目中经常一起调用
替代≈A和B解决同一问题description关键词高度重叠(>70%),但方法不同
包含⊃A包含B作为子流程A的skills/目录下有B,或A的流程中明确调用B

流程

Step 1:全量扫描 registry

读取 memory/skill-registry.json,获取所有 status=active 的 Skill。

Step 2:推断关系(三类信号)

信号一:声明关系(SKILL.md中明确提到,最高优先级)

  • 搜索关键词:"与XX的关系"、"协作"、"调用"、"依赖"、"前置"、"后续"、"交给"、"先做"
  • 命中 → 标注 source: declared

信号二:结构关系(从目录结构推断)

  • A的skills/目录下有B → contains
  • 同一Agent下的Skill → 标注 same_agent: true
  • A的references/引用了B的名称 → depends_on

信号三:语义关系(从description推断)

  • 计算description关键词重叠率
  • 重叠>70% → alternative
  • 重叠30-70%且同Agent → complementary
  • 重叠<30% → 无关系

Step 3:写入 registry

在每个Skill条目中添加 relations 字段:

{
  "relations": [
    {"type": "prerequisite", "target": "skill-id", "source": "declared"},
    {"type": "contains", "target": "sub-skill-id", "source": "structural"}
  ]
}

Step 4:输出标准关系图

Mermaid格式(可直接渲染):

graph TD
  A[skill-forge] -->|前置| B[skill-audit]
  B -->|后续| C[skill-card-gen]
  D[小能] -->|包含| A
  D -->|包含| B
  D -->|包含| C

JSON关系表:

{
  "nodes": [
    {"id": "skill-forge", "agent": "小能", "type": "meta"},
    {"id": "skill-audit", "agent": "小能", "type": "management"}
  ],
  "edges": [
    {"from": "skill-forge", "to": "skill-audit", "type": "subsequent", "source": "declared"}
  ],
  "stats": {
    "total_skills": 6,
    "with_relations": 6,
    "coverage_rate": 1.0,
    "declared_relations": 4,
    "inferred_relations": 3
  }
}

Step 5:输出关系摘要

📊 Skill 图谱 · {日期}
━━━━━━━━━━━━━━━━━━━━

节点:{N}个 Skill | 边:{N}条关系 | 覆盖率 {X}%

🔗 关键调用链:
  skill-forge → skill-audit → skill-card-gen → agent-capability-map
  skill-registry-scan → (所有其他技能的数据源)

📁 包含关系:
  小能 ⊃ {skill-audit, skill-registry-scan, skill-card-gen, skill-graph, agent-capability-map, skill-forge}

⚠️ 孤立节点:{无任何关系的Skill}
💡 建议:{补建关系或考虑合并}

质量标准

  • 关系覆盖率 = 有关系的Skill / 总Skill,目标≥80%
  • 声明关系占比 = 声明关系 / 总关系,目标≥50%(推断关系不可靠)
  • 孤立节点 = 0为最佳

输出文件

  • memory/skill-registry.json — 更新relations字段
  • memory/skill-graph-{date}.md — 本次图谱快照

注意事项

  • 只记录有明确依据的关系,不臆造
  • 推断的关系标注 source: inferred,声明的标注 source: declared
  • 每次增量更新,不重写整个图谱
  • Mermaid图中的节点ID必须与registry.json的name字段一致

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.