Skip to content

Add skill support#7

Open
lyxxn0414 wants to merge 5 commits into
houk-ms:masterfrom
lyxxn0414:yueli/add-skill
Open

Add skill support#7
lyxxn0414 wants to merge 5 commits into
houk-ms:masterfrom
lyxxn0414:yueli/add-skill

Conversation

@lyxxn0414
Copy link
Copy Markdown

@lyxxn0414 lyxxn0414 commented Jun 4, 2026

Summary

Add support for skills:

  1. Search and upload skills from existing repos in github
  2. Upload skill from a local SKILL.md

Related issues

Type of change

  • Bug fix
  • New feature
  • Documentation
  • Refactor / chore

Checklist

  • I ran npm run build and the app builds without errors
  • I tested the change locally (npm run dev)
  • I updated relevant docs in docs/ if behavior changed

@houk-ms
Copy link
Copy Markdown
Owner

houk-ms commented Jun 4, 2026

Skill Marketplace 调研结论

整体 feature 链路是通的(types → preload → ipc → store → UI,已接入 agent 的 skillDirectories),但当前只有「GitHub 全网搜索」一种来源。结论:全网搜索只能作为兜底,主路径应是「官方策划的 registry + 标准化 manifest」。

各家现状(已核实一手来源)

Agent 官方 marketplace 形态 skill 格式
Claude (Anthropic) anthropics/skills 扁平 git repo + .claude-plugin/marketplace.json SKILL.md + YAML frontmatter
Codex (OpenAI) ✅ 官方 registry + 本地 marketplace.json codex /plugins,企业可 JSON policy 管控 同一标准
OpenClaw ✅ ClawHub (openclaw/clawhub, clawhub.ai) 托管注册表服务(Convex/CLI),非 git 同一标准(agentskills.io)

共识:四家(含本 PR)都用同一个 SKILL.md 标准,互通。

建议演进方向

  1. 采用 marketplace.json 清单标准,默认指向策划过的源。可直接复用 anthropics/skills(格式几乎 drop-in),或自建 houk-ms/aide-skills
  2. 支持「添加 marketplace 源」(repo/URL),让团队私有源接入 —— Claude/Codex 都有此能力。
  3. GitHub 全网搜索降级为 fallback,UI 明确标注「未经审核来源」+ 安装前风险提示。

借用三家源的可行性

  • anthropics/skills / 任意 marketplace.json 仓库 → ✅ 推荐,git 原生、读 manifest 即可消费。注意 anthropics 的 docx/pdf/pptx/xlsx 是 source-available 非开源。
  • ClawHub → ⚠️ 需对接其 API(非 git clone),且需按「运行时无关」过滤 —— OpenClaw 强依赖自身通道/工具的 skill 装进 aide 会引用不存在的能力。
  • 关键认知:即便格式兼容,skill 正文会引用具体 tools/MCP,为别的 runtime 写的 skill 可能「装得上但跑不通」。这正是官方策划的真正价值 —— 不只是质量,更是「适配我们的能力面」。

几个代码问题(独立于上述方向)

  • 🔴 getSkillsDirectory()process.cwd(),打包后的 Electron 里不可靠,应改用稳定路径(如 app.getPath('userData'))。
  • 🟡 searchGithubSkills / downloadFromGithub 把用户输入直接拼进 shell(gh search repos "${q}"),有命令注入风险,建议改 execFile 传参。
  • 🟡 settingsStoreskills/fetchSkills 是死代码(SkillsTab 用自己的本地 state),建议统一或删除。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants