审查、安装、配置、激活、验证、更新和回滚 AgentDock Skill 时使用;负责来源校验、安全评估、环境配置和已安装版本验收。
npx skills add https://github.com/uvwt/agentdock --skill skill-installation
用于把本地或外部 Skill 安全地纳入当前 AgentDock,并验证当前激活版本确实可用。Skill 只提供审查和安装流程;真实读取、校验、配置、安装、命令执行和回滚由工具完成。
使用本 Skill 处理:
不要使用本 Skill 创建新 Skill、重写核心设计、替作者决定业务边界,或大范围修改第三方包。需要修改源码、补测试、升级文档或重新设计时,切换到 skill-authoring。
完整安全审查规范见 skill://skill-installation/references/skill-security-review.md。
skill_package validate 当作完整安全审计。先记录:
远程来源优先要求可信发布页和可验证摘要。URL 认证信息、查询参数和片段不得写入报告或日志。
在隔离的临时审查位置查看包,不直接从未知目录运行脚本。至少读取:
SKILL.md;references/;只读检查不应加载包内环境文件、不应执行安装钩子,也不应运行未知脚本。
确认:
SKILL.md;name、description、version;name 稳定且与安装目标一致;description 能明确触发场景;version 是语义化版本;发现 agentdock.yaml、旧式统一执行协议或旧 Skill Runtime 设计时,至少标记为 blocked,不得直接安装。
逐项检查:
风险分类:
| 等级 | 含义 | 默认处理 |
|---|---|---|
| low | 纯文档或行为明确、只读、无敏感访问 | 可继续校验 |
| medium | 有明确网络、写入或普通依赖,但范围可解释 | 展示风险后继续 |
| high | 涉及敏感凭据、广泛文件访问、上传、删除或持久化 | 未经明确确认不安装 |
| blocked | 存在不可接受或无法解释的危险行为 | 停止安装 |
必须阻止:
agentdock.yaml 旧清单。从 SKILL.md 中提取环境变量表,确认每个变量的:
config 或 secret 类型;环境值统一保存在:
~/.agentdock/env/skill/<skill-name>.env
不得在以下位置新建环境文件:
~/.agentdock/skill-data/<skill-name>/;使用:
skill_package env_list 查看变量名称和配置状态;skill_package env_set 写入或更新用户明确提供的值;skill_package env_unset 删除指定变量。这些动作不应返回真实值。不要用手工散落环境文件代替正式工具。
辅助脚本应满足:
skill_action;code 和 message;status 默认只读;对脚本做语法或编译检查,并运行包内测试。首次审查未知脚本时,只有静态审查通过后才允许在受控环境中运行只读检查。
调用 skill_package validate 校验来源,必要时同时传入预期摘要。确认:
valid: true;校验只证明包满足 AgentDock 基础结构和安装约束,不替代前面的安全审查。
正式安装前向用户说明:
low 和可解释的 medium 风险可按用户原始安装意图继续。high 风险必须获得明确确认。blocked 不得继续。
使用 skill_package install,并遵循:
skill_package activate 显式激活已安装的目标版本;Activated 为真;安装完成后记录安装结果中的名称、版本、摘要和激活状态。
只配置用户明确提供或已获授权迁移的值。流程:
skill_package env_list 获取当前配置状态;skill_package env_set;env_list,只核对 configured 状态;配置动作与安装包版本分离。更新或回滚不应自动覆盖已有 Skill 环境。
至少验证:
skill_package install 返回成功并激活预期版本;active_version 与预期一致;agentdock_context 中出现正确名称和描述;read_file skill://<name>/SKILL.md 可读取,并显示预期版本正文;skill://<name>/... 读取;skill_package env_list 显示必填配置完整;不要只验证源码目录。skill:// 读取的是当前激活版本,是最终验收依据之一。
只有包包含辅助脚本和 status 能力时才执行:
exec_command 的 skill: "<skill-name>" 绑定当前激活版本的包根目录和独立环境;python3 run.py;{"skill_action":"status"};source 环境文件;纯文档 Skill 没有辅助脚本时,不虚构 status,以索引、正文、引用和环境状态验证为准。
更新前比较:
对新版本完整执行审查、校验、安装和验收,不因旧版本已可信而跳过差异审查。
使用 skill_package rollback 切换到上一已安装版本。回滚前确认旧版本仍存在,并说明回滚原因。
回滚后验证:
active_version 已切回预期版本;skill://<name>/SKILL.md 读取的是回滚版本;agentdock_context 描述与回滚版本一致;~/.agentdock/env/skill/<skill-name>.env 没有被覆盖;status 通过。若新旧版本共享状态格式不兼容,先停止并报告,不擅自删除或迁移数据。
本 Skill 自身不需要环境变量。它只负责通过 skill_package 管理目标 Skill 的独立环境。
只有同时满足以下条件才算完成:
blocked 项;skill_package validate 通过;agentdock_context 和 skill:// 验证通过;status 通过;> FHIR REST endpoints (Patient, Observation, Encounter, Condition, MedicationRequest), (2) Validating FHIR resources and returning proper HTTP status codes and error responses, (3) Implementing SMART on FHIR authorization and OAuth scopes, (4) Working with Bundles, transactions, batch operations, or search pagination. Covers FHIR R4 resource structures, required fields, value sets (status codes, gender, intent), coding systems (LOINC, SNOMED, RxNorm, ICD-10), and OperationOutcome error handling.
Interact with ClawDirect, a directory of social web experiences for AI agents. Use this skill to browse the directory, like entries, or add new sites. Requires ATXP authentication for MCP tool calls. Triggers: browsing agent-oriented websites, discovering social platforms for agents, liking/voting on directory entries, or submitting new agent-facing sites to ClawDirect.
Shared audit integrity framework for all AppSec agents — enforces output quality, intellectual honesty, and continuous improvement through anti-rationalization guards, self-critique loops, retry protocols, non-negotiable behaviors, self-reflection quality gates (1-10 scoring, ≥8 threshold), and a self-learning system with lesson/memory governance for security analysis agents.
Opt out of the OneCLI gateway and supply Anthropic credentials from .env instead. For users who want simple .env-based credential management without the OneCLI agent vault. Reads the API key or OAuth token from .env and injects it into the container's API requests.
Cross-product Zoom reference skill. Use after the workflow is clear when you need shared platform guidance, app-model comparisons, authentication context, scopes, marketplace considerations, or API-vs-MCP routing.
>- Static source-code vulnerability scan. Reads a target directory (and THREAT_MODEL.md if present), spawns parallel review subagents per focus area, and writes VULN-FINDINGS.json + .md for /triage to consume. Read-only — no building, running, or network. For execution-verified crashes, use vuln-pipeline instead. Use when asked to "scan for vulns", "review this code for security issues", "find bugs in <dir>", or as the step between /threat-model and /triage.
Hunt Session Management vulnerabilities — session fixation (no regeneration on login), insufficient invalidation on logout / password-change / email-change, predictable or low-entropy session IDs, JWT-as-session with no exp/revocation, refresh-token rotation/reuse-detection gaps, OAuth/SSO session linkage, device-bound-session (DBSC) downgrade, and cookie attribute issues (Secure/HttpOnly/SameSite/__Host-). Validate with TWO real sessions (attacker A + victim B), body-diff every 200, and OOB confirmation for theft chains. Medium to Critical (fixation→admin hijack, no-invalidation→persistent ATO).
> Use this skill when the user is doing hands-on DOCA AES-GCM work on a BlueField DPU or ConnectX NIC — configuring `doca_aes_gcm_task_encrypt` / `_task_decrypt`, querying `doca_aes_gcm_cap_*` for per-key-type (only `DOCA_AES_GCM_KEY_128` / `_256` — AES-192 not supported) and per-task support, sizing plaintext against the max-buf cap, setting source / destination mmap permissions, validating with a NIST GCMVS or RFC 5288 vector, or debugging DOCA_ERROR_* including the security-critical tag-verification-failed outcome on decrypt. Trigger even when the user does not explicitly mention "DOCA AES-GCM" or IO_FAILED", "auth tag isn't verifying", "NOT_PERMITTED on my encrypt buffer", "is AES-192-GCM on this BlueField" (no), or "encrypted record came back tampered". Refuse and route elsewhere for non-GCM AES modes (CBC / CTR / XTS — CPU OpenSSL), key management (KMS / HSM / rotation), SHA (doca-sha), or general AEAD background.
Take uvwt/skill-installation from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.