跳到正文
cccskills
免费在 GitHub 公开

install-skill

Install a Skill into the current workspace from a Git repository or local directory. Use this whenever the user wants to: - Add a new Skill to the agent ("install the X skill", "add the foo skill", "I want a skill that does Y, find one") - Pull the latest version of an already-installed Skill ("update the X skill", "refresh my skills") - List Skills currently active in the workspace - Remove a Skill they no longer need Trigger on phrases like "装一个 X skill", "安装技能", "install skill", "update skill", "list skills", "remove skill", "找个能 X 的 skill". Do not require the user to say the literal Skill name — if they describe a capability, propose a candidate Skill (Git URL or local path) and confirm before installing.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md6.3 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Install Skill

A Skill that helps the agent install, list, update, and remove other Skills in the workspace.

Skills live under {workspace}/skills/<skill-name>/ and are auto-discovered by the deepagents skills middleware on the next agent session. Built-in Skills shipped with octop-harness live under {workspace}/_builtin_skills/ and must not be edited directly — they are wiped and re-synced from the package on every HarnessAgent.init() call.

Sources we support

SourceWhat you give the agentExample
Git repo (single Skill)A Git URL whose root contains SKILL.mdhttps://github.com/owner/my-skill.git
Git repo (subdir)A Git URL + a relative path inside the repohttps://github.com/owner/skills-collection.git + ./searxng
Local directoryAn absolute or workspace-relative path/Users/me/my-drafts/cool-skill

We deliberately don't bundle a remote registry. Hosting Skills on GitHub (or any HTTPS-accessible Git server) is enough.

Workflow

1. Identify the workspace skills directory

The user's installable Skills live at {workspace}/skills/. Use current_time or execute_shell_command pwd to get oriented if the path is ambiguous, then:

SKILLS_DIR="<workspace>/skills"
mkdir -p "$SKILLS_DIR"

If the user hasn't run HarnessAgent.init() yet, suggest doing so first — it creates {workspace}/skills/ and seeds the built-in Skills.

2. Install from a Git repo (single Skill at the root)

cd "$SKILLS_DIR"
git clone --depth 1 <repo-url> <skill-name>

Then verify the Skill is well-formed:

test -f "$SKILLS_DIR/<skill-name>/SKILL.md" || {
  echo "❌ no SKILL.md at the repo root — try installing a subdir instead"
  rm -rf "$SKILLS_DIR/<skill-name>"
  exit 1
}

Validate the frontmatter parses:

python3 - <<'PY'
import sys, re, pathlib
p = pathlib.Path("$SKILLS_DIR/<skill-name>/SKILL.md")
text = p.read_text(encoding="utf-8")
m = re.match(r"^---\n(.*?)\n---", text, re.DOTALL)
if not m:
    sys.exit("❌ SKILL.md is missing YAML frontmatter")
import yaml
fm = yaml.safe_load(m.group(1)) or {}
for k in ("name", "description"):
    if not fm.get(k):
        sys.exit(f"❌ frontmatter is missing required field: {k}")
print(f"✅ {fm['name']}: {fm['description'][:80]}…")
PY

(If yaml isn't installed, pip install pyyaml first — it's a common dependency the user is likely to want anyway.)

3. Install from a subdirectory of a repo

When the upstream repo holds many Skills:

TMPDIR=$(mktemp -d)
git clone --depth 1 <repo-url> "$TMPDIR"
cp -r "$TMPDIR/<subpath>" "$SKILLS_DIR/<skill-name>"
rm -rf "$TMPDIR"

Run the same SKILL.md validation as in step 2.

4. Install from a local directory

For Skills the user is authoring locally:

cp -r "<source-dir>" "$SKILLS_DIR/<skill-name>"

Or, if they want a live link while iterating:

ln -s "<absolute-source-dir>" "$SKILLS_DIR/<skill-name>"

A symlink is the right call when the user is writing the Skill and wants edits to be picked up without reinstall.

5. List installed Skills

for d in "$SKILLS_DIR"/*/; do
  name=$(basename "$d")
  desc=$(awk '/^description:/{sub(/^description: */, ""); print; exit}' "$d/SKILL.md" 2>/dev/null)
  printf "  • %-30s %s\n" "$name" "$desc"
done

Show this output to the user verbatim — the per-Skill description is exactly what they need to recognise what's installed.

6. Update a Skill

If the original was installed via git clone:

cd "$SKILLS_DIR/<skill-name>" && git pull --ff-only

Otherwise re-install: remove the directory and run step 2/3/4 again.

7. Remove a Skill

Confirm with the user first (this deletes user-modified files too if they edited the Skill in place):

rm -rf "$SKILLS_DIR/<skill-name>"

Operating principles

  • Confirm before mutating. Cloning into the workspace is fine to do without asking, but rm -rf and forced overwrites need explicit user confirmation.
  • Reject malformed Skills. A Skill without valid frontmatter is worse than no Skill — it bloats the loader and confuses the model. Run the YAML check from step 2 every time.
  • Don't touch _builtin_skills/. That directory is owned by the package; edits will be lost on the next HarnessAgent.init(). Built-in Skills can be shadowed by installing a Skill of the same name into skills/ — Harness Agent prefers user-installed Skills over built-ins.
  • Tell the user when to reload. Newly installed Skills are picked up on the next agent session, not mid-conversation. Mention this so they don't expect immediate effect.

Common questions

"I want a Skill for X, can you find one?"

Search GitHub via the web fetcher or any other tool you have, propose 1–2 candidate repos, summarise their SKILL.md description, and let the user pick before installing.

"Where do Skills come from?"

Anywhere reachable by git clone — public GitHub, internal GitLab/Gitea, file://, etc. There's no central registry by design.

"Can I edit a built-in Skill?"

Don't edit the file in _builtin_skills/ directly — it's overwritten on init. Instead, copy it into skills/ with the same name; the user-installed copy shadows the built-in.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Manage Apple Notes via memo CLI: create, search, edit.

中文简介正在准备中。当前显示原文说明。

TencentCloud/octop-harness1082026年10月19日 更新

通过 memo CLI 管理 Apple Notes:创建、搜索、编辑。

中文简介正在准备中。当前显示原文说明。

TencentCloud/octop-harness1082026年10月19日 更新

Manage Apple Reminders on macOS via remindctl — list, add, edit, complete, delete to-dos that sync to iPhone/iPad. Trigger on "reminder", "Reminders app", "提醒我" with phone sync, or adding personal todos with due dates. macOS only. Skip when the user wants agent-internal alerts (use memory_store or external scheduling) or calendar events.

中文简介正在准备中。当前显示原文说明。

TencentCloud/octop-harness1082026年10月19日 更新

通过 remindctl 在 macOS 上管理 Apple Reminders——列出、添加、编辑、完成、 删除同步到 iPhone/iPad 的待办事项。在提及"提醒"、"Reminders app"、 需要手机同步的"提醒我"或添加带截止日期的个人待办事项时触发。macOS only。 当用户需要代理内部提醒(使用 memory_store 或外部 调度)或日历事件时跳过。

中文简介正在准备中。当前显示原文说明。

TencentCloud/octop-harness1082026年10月19日 更新

Dark-themed SVG architecture/cloud/infra diagrams as HTML.

中文简介正在准备中。当前显示原文说明。

TencentCloud/octop-harness1082026年10月19日 更新

暗色主题的 SVG 架构/云/基础设施图表,输出为 HTML。

中文简介正在准备中。当前显示原文说明。

TencentCloud/octop-harness1082026年10月19日 更新

查看 TencentCloud 的全部技能

报告此技能的问题