{"id":"4c730149-6730-4922-b62b-24a0c7d89ab9","entityType":"agent","slug":"clawhub-edwardwason-skill-forge-ai","name":"Skill Forge 技能熔炉","canonicalUrl":"https://www.xpersona.co/agent/clawhub-edwardwason-skill-forge-ai","canonicalPath":"/agent/clawhub-edwardwason-skill-forge-ai","generatedAt":"2026-10-09T21:52:43.034Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T17:17:19.816Z","emptyReason":null},"description":"技能熔炉 — 锻造/评估/改进 Skill。说 技能熔炉 走全流程（含R5改进已有skill）；说 技能评估/skill评估/评估技能 只做同类比对+腾讯9维度。可选能力：搜索SkillHub同类技能（通过TRAE内置工具）、修改已有skill文件（仅R5诊断修复路径，需用户确认）。发布环节请用 skill-pu... Skill: Skill Forge 技能熔炉 Owner: edwardwason Summary: 技能熔炉 — 锻造/评估/改进 Skill。说 技能熔炉 走全流程（含R5改进已有skill）；说 技能评估/skill评估/评估技能 只做同类比对+腾讯9维度。可选能力：搜索SkillHub同类技能（通过TRAE内置工具）、修改已有skill文件（仅R5诊断修复路径，需用户确认）。发布环节请用 skill-pu... Tags: adaptive-interview:6.4.0, authoring:6.4.0, authoring-principles:5.2.1, benchmarking:6.4.0, composition:6.4.0, creation:5.2.1, evaluation:6.4.0, forge:6.4.0, improvement:6.4.0, latest:6.4.0, latest forg","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2.2K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s177q4wcvafq6fzfkhk2g3cwth83y01d:skill-forge-ai","sourceUrl":"https://clawhub.ai/edwardwason/skill-forge-ai","homepage":"https://clawhub.ai/edwardwason/skills/skill-forge-ai","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/edwardwason/skill-forge-ai","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/edwardwason/skills/skill-forge-ai","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":67,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"技能熔炉 — 锻造/评估/改进 Skill。说 技能熔炉 走全流程（含R5改进已有skill）；说 技能评估/skill评估/评估技能 只做同类比对+腾讯9维度。可选能力：搜索SkillHub同类技能（通过TRAE内置工具）、修改已有skill文件（仅R5诊断修复路径，需用户确认）。发布环节请用 skill-pu..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T17:17:19.816Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T17:17:19.816Z","emptyReason":null},"stars":null,"forks":null,"downloads":2230,"packageName":null,"latestVersion":"6.4.0","tractionLabel":"2.2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T17:17:19.783Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T17:17:19.816Z","lastCrawledAt":"2026-10-09T17:17:19.783Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T17:17:19.783Z","lastVerifiedAt":null,"highlights":[{"version":"6.4.0","createdAt":"2026-07-20T10:26:11.003Z","changelog":"Fix SkillSpector audit findings: description-behavior consistency + network access disclosure + R5 route declaration","fileCount":17,"zipByteSize":57353},{"version":"6.3.0","createdAt":"2026-07-20T10:04:36.528Z","changelog":"Fix SkillSpector audit findings: description-behavior consistency + network access disclosure + R5 route declaration","fileCount":10,"zipByteSize":32241},{"version":"6.2.0","createdAt":"2026-07-19T12:29:32.745Z","changelog":"ClawHub displayName lock fix + README version sync + permission declaration section added","fileCount":10,"zipByteSize":32407},{"version":"6.1.0","createdAt":"2026-07-17T08:55:01.140Z","changelog":"v6.1.0: Consolidated single development entry. Two-entry architecture + 5 authoring principles + pre-gate + 5 entry routes + peer pre-check + meta-skill composition.","fileCount":12,"zipByteSize":47829},{"version":"6.0.2","createdAt":"2026-07-17T07:41:44.478Z","changelog":"v6.0.2: retry publish after phantom success (v6.0.1)","fileCount":10,"zipByteSize":32216},{"version":"6.0.1","createdAt":"2026-07-17T07:39:44.625Z","changelog":"v6.0.1: README bilingual version mismatch fix + displayName bilingualization (rule 33)","fileCount":10,"zipByteSize":31808},{"version":"6.0.0","createdAt":"2026-07-17T05:40:42.256Z","changelog":"v6.0.0: Two-entry architecture + 5 authoring principles + pre-gate + 5 entry routes + peer pre-check + meta-skill composition + layered validation","fileCount":12,"zipByteSize":47595},{"version":"5.2.5","createdAt":"2026-07-17T05:36:55.300Z","changelog":"v5.2.5: R4 pre-check fix + declaration-behavior consistency + 5 authoring principles + two-entry architecture + ClawHub version lock fix","fileCount":12,"zipByteSize":47088}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s177q4wcvafq6fzfkhk2g3cwth83y01d:skill-forge-ai","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-forge-ai/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-forge-ai/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-forge-ai/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-forge-ai/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-forge-ai/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-forge-ai/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-09T21:52:43.029Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-forge-ai/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-forge-ai/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-forge-ai/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-forge-ai/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-09T17:17:19.816Z","emptyReason":null},"readme":"Skill: Skill Forge 技能熔炉\n\nOwner: edwardwason\n\nSummary: 技能熔炉 — 锻造/评估/改进 Skill。说 技能熔炉 走全流程（含R5改进已有skill）；说 技能评估/skill评估/评估技能 只做同类比对+腾讯9维度。可选能力：搜索SkillHub同类技能（通过TRAE内置工具）、修改已有skill文件（仅R5诊断修复路径，需用户确认）。发布环节请用 skill-pu...\n\nTags: adaptive-interview:6.4.0, authoring:6.4.0, authoring-principles:5.2.1, benchmarking:6.4.0, composition:6.4.0, creation:5.2.1, evaluation:6.4.0, forge:6.4.0, improvement:6.4.0, latest:6.4.0, latest forge benchmarking peer-check pre-gate composition skill:5.2.3, level-adaptive:6.4.0, peer-check:6.1.0, pre-gate:6.4.0, progressive-disclosure:6.4.0, publishing:6.4.0, skill:6.1.0, skill-creation:6.4.0, skill-forge:6.4.0, trace:6.4.0, two-entry:6.4.0, v5.2.0:5.2.0, v6.2.0:6.2.0, v6.3.0:6.3.0, v640:6.4.0\n\nVersion history:\n\nv6.4.0 | 2026-07-20T10:26:11.003Z | user\n\nFix SkillSpector audit findings: description-behavior consistency + network access disclosure + R5 route declaration\n\nv6.3.0 | 2026-07-20T10:04:36.528Z | user\n\nFix SkillSpector audit findings: description-behavior consistency + network access disclosure + R5 route declaration\n\nv6.2.0 | 2026-07-19T12:29:32.745Z | user\n\nClawHub displayName lock fix + README version sync + permission declaration section added\n\nv6.1.0 | 2026-07-17T08:55:01.140Z | user\n\nv6.1.0: Consolidated single development entry. Two-entry architecture + 5 authoring principles + pre-gate + 5 entry routes + peer pre-check + meta-skill composition.\n\nv6.0.2 | 2026-07-17T07:41:44.478Z | user\n\nv6.0.2: retry publish after phantom success (v6.0.1)\n\nv6.0.1 | 2026-07-17T07:39:44.625Z | user\n\nv6.0.1: README bilingual version mismatch fix + displayName bilingualization (rule 33)\n\nv6.0.0 | 2026-07-17T05:40:42.256Z | user\n\nv6.0.0: Two-entry architecture + 5 authoring principles + pre-gate + 5 entry routes + peer pre-check + meta-skill composition + layered validation\n\nv5.2.5 | 2026-07-17T05:36:55.300Z | user\n\nv5.2.5: R4 pre-check fix + declaration-behavior consistency + 5 authoring principles + two-entry architecture + ClawHub version lock fix\n\nv5.2.4 | 2026-07-17T03:05:26.935Z | user\n\nv5.2.4: retry ClawHub publish after backend lock issue\n\nv5.2.3 | 2026-07-17T02:58:08.475Z | user\n\nv5.2.3: ClawHub backend version lock bypass. Same fixes as v5.2.1 (R4 entry same-class pre-check + description-behavior mismatch).\n\nv5.2.2 | 2026-07-17T02:35:54.245Z | user\n\nR4 entry pre-check fix + description-behavior alignment + SkillHub version conflict resolution\n\nv5.2.1 | 2026-07-17T02:31:31.593Z | user\n\nR4 entry same-class pre-check fix + description-behavior mismatch alignment\n\nv5.2.0 | 2026-07-17T01:59:53.885Z | user\n\nAdd authoring-principles reference + fix frontmatter/plugin.json declaration-behavior inconsistency. Expand Three Iron Laws to 5 principles.\n\nv5.1.0 | 2026-07-16T16:35:34.800Z | user\n\nv5.1: Step 0.4 peer pre-check + meta-skill composition + Phase 2 refactored to self-assessment\n\nv5.0.0 | 2026-07-16T15:51:01.722Z | user\n\nv5.0: Pre-gate + 5 entry routes + level-adaptive + confirmation gate + layered validation + last mile\n\nv4.3.1 | 2026-07-11T11:19:08.122Z | user\n\nAdd SkillHub frontmatter fields (slug/displayName/version/license) for SkillHub platform support. Version bump 4.3.0 to 4.3.1.\n\nv4.3.0 | 2026-07-11T09:03:07.455Z | user\n\nv4.3: allowed-tools + 示例模块 + 条件触发发布提醒\n\nv4.0.0 | 2026-06-14T04:00:13.022Z | user\n\nv4.0: Progressive Disclosure + 6-layer validation + extended frontmatter + scripts/assets directories\n\nv3.5.0 | 2026-06-12T02:37:18.923Z | user\n\nv3.5.0: Three-entry trigger system (skill-forge/evaluate/publish). Phase 3 publishing integrated. Entry detection logic. publishing-guide.md merged from skill-publisher.\n\nv3.4.0 | 2026-06-11T09:47:26.572Z | user\n\nv3.4.0: Chinese trigger words (jineneng-ronglu/minglu-chuangjian/duanzao-jineng) to separate from built-in skill-creator. Anti-confusion rules. Chinese-first branding.\n\nv3.3.0 | 2026-06-07T03:22:43.862Z | user\n\nv3.3.0: Security Red Line Check (7 items), Do NOT scope in description, Self-validation pipeline, SkillHub peer benchmarking with Tencent 9-dimension comparison, Adaptive 2-5 round interview, Three Iron Rules, 4-module format, Progressive Disclosure\n\nArchive index:\n\nArchive v6.4.0: 17 files, 57353 bytes\n\nFiles: references/authoring-principles.md (19557b), references/benchmarking-guide.md (4214b), references/composition-and-pipeline.md (5181b), references/interview-flow.md (4758b), references/interview-methods.md (7664b), references/meeting-action-extractor-example.md (2371b), references/pre-gate-and-routing.md (6037b), references/references/authoring-principles.md (19557b), references/references/benchmarking-guide.md (4214b), references/references/composition-and-pipeline.md (5181b), references/references/interview-flow.md (4758b), references/references/interview-methods.md (7664b), references/references/meeting-action-extractor-example.md (2371b), references/references/pre-gate-and-routing.md (6037b), skill-card.md (2776b), SKILL.md (12923b), _meta.json (133b)\n\nFile v6.4.0:SKILL.md\n\n---\r\nname: \"skill-forge\"\r\nslug: \"skill-forge-ai\"\r\ndisplayName: \"Skill Forge 技能熔炉\"\r\ndescription: \"技能熔炉 — 锻造/评估/改进 Skill。说 技能熔炉 走全流程（含R5改进已有skill）；说 技能评估/skill评估/评估技能 只做同类比对+腾讯9维度。可选能力：搜索SkillHub同类技能（通过TRAE内置工具）、修改已有skill文件（仅R5诊断修复路径，需用户确认）。发布环节请用 skill-publisher。Do NOT use for skill security vetting, skill publishing (use skill-publisher), or general coding tasks.\"\r\nversion: \"6.4.0\"\r\nlicense: \"MIT-0\"\r\nsummary: \"锻造 → 评估 → 改进，两入口全流程交付可自动触发、稳定输出的 Skill。v6.4.0 修复 ClawHub SkillSpector 审计 findings。发布由 skill-publisher 承接。\"\r\nallowed-tools: \"Read, Write, Edit, Glob, Grep, LS, AskUserQuestion\"\r\nmetadata:\r\n  openclaw:\r\n    skillKey: \"skill-forge\"\r\n    emoji: \"⚒️\"\r\n    homepage: \"https://github.com/EdwardWason/skill-forge\"\r\n    os: [\"windows\", \"macos\", \"linux\"]\r\n    requires:\r\n      bins: []\r\n      env: []\r\n    primaryEnv: \"\"\r\n    envVars: []\r\n    always: false\r\n---\r\n\r\n# 技能熔炉 v6.4.0\r\n\r\n锻造 → 评估，两入口全流程交付可自动触发、稳定输出的 Skill。发布环节由独立的 skill-publisher 技能承接。\r\n\r\n## 入口检测\r\n\r\n| 触发词 | 入口 | 执行流程 |\r\n|--------|------|---------|\r\n| 技能熔炉 | Phase -1 | 前置闸门→入口路由→访谈→确认门→同类预检→创建→验证→评估→发布交接提醒 |\r\n| 技能评估 / skill评估 / 评估技能 | Phase 2 | 只做 SkillHub 同类比对 + 腾讯9维度 |\r\n\r\n**检测到触发词后，立即跳转到对应 Phase，不执行前面的阶段。**\r\n\r\n**发布不在本技能范围内**：当用户说\"技能发布/发布技能/更新技能/迭代技能\"时，应触发 skill-publisher，不是本技能。\r\n\r\n## 撰写原则（5 大原则，必读）\r\n\r\n完整 5 大原则详见 [`references/authoring-principles.md`](references/authoring-principles.md) — 创建 Skill 前必读，作为\"声明-行为一致性\"的硬门控。原三条铁律映射到原则 1/1/4，补充原则 3（最小权限）和原则 5（用户知情）：\r\n\r\n| 原则 | 一句话 | 对应原铁律 |\r\n|------|--------|-----------|\r\n| 1. 声明-行为一致性 | name/description/metadata/行为四者对齐 | 铁律1 Description先行（扩展） |\r\n| 2. 权力比例适当 | 副作用强度 ≤ 用户预期 + 披露程度 | （新增） |\r\n| 3. 最小权限 | allowed-tools 只列实际需要的工具 | （新增） |\r\n| 4. 渐进式披露 | SKILL.md ≤200 行，细节下沉 references/ | 铁律3 渐进式披露 |\r\n| 5. 用户知情 | 有副作用必须 README 警告 + 关闭方式 | （新增） |\r\n\r\n> 原\"铁律2 一Skill一职\"已并入原则 1（声明-行为一致性）：description 必须明确单一职责，多功能 Skill 触发混乱本质是声明-行为不一致。\r\n\r\n## 权限声明\r\n\r\n本技能实际使用的能力类别（用户须知）：\r\n\r\n| 能力类别 | 是否使用 | 说明 |\r\n|---------|---------|------|\r\n| 网络访问 | ✅ | 通过 TRAE 内置工具搜索 SkillHub 同类技能（不直接发起网络请求） |\r\n| 文件读写 | ✅ | 在用户指定目录创建/修改 skill 文件（SKILL.md/references/scripts/assets） |\r\n| 环境变量 | ❌ | 不读取任何环境变量（无凭证需求） |\r\n| subprocess | ❌ | 不调用任何外部命令 |\r\n| 外部 API | ❌ | 不调用任何外部 API（SkillHub 同类搜索由 TRAE 内置工具完成） |\r\n\r\n**用户警告**：本技能会在用户指定目录创建/修改 skill 文件（R1-R4 创建新 skill，R5 可修改已有 skill）。R5 修改已有 skill 前需用户确认诊断结果。如不希望写入文件，可在确认门前终止流程。本技能不执行任何发布操作（发布由 skill-publisher 承接）。\r\n\r\n## SKILL.md 格式（完整 frontmatter 示例）\r\n\r\n```markdown\r\n---\r\nname: \"<skill-name>\"\r\nslug: \"<skill-name>-ai\"\r\ndisplayName: \"<Skill Name>\"\r\ndescription: \"<做什么 + 何时触发 + Do NOT 范围. 核心关键词放前200字符>\"\r\nversion: \"<MAJOR.MINOR.PATCH>\"\r\nlicense: \"MIT-0\"\r\nsummary: \"<一句话摘要>\"\r\nallowed-tools: \"<工具白名单>\"\r\nmetadata:\r\n  openclaw:\r\n    skillKey: \"<skill-name>\"\r\n    emoji: \"<emoji>\"\r\n    homepage: \"<https://github.com/...>\"\r\n    os: [\"windows\", \"macos\", \"linux\"]\r\n    requires:\r\n      bins: []\r\n      env: []\r\n    primaryEnv: \"\"\r\n    envVars: []\r\n    always: false\r\n---\r\n\r\n# <技能标题>\r\n## 任务\r\n## 输出格式\r\n## 规则\r\n## 示例\r\n## 故障排除（可选）\r\n```\r\n\r\n## 目录结构\r\n\r\n```\r\n<skill-name>/\r\n├── SKILL.md          # 主入口（≤200行）\r\n├── references/       # 长文档、方法论、详细案例\r\n├── scripts/          # 可执行脚本（确定性操作）\r\n├── assets/           # 模板、schema、示例文件\r\n├── README.md         # 中英双语说明\r\n├── CHANGELOG.md      # 版本日志\r\n├── LICENSE           # MIT-0\r\n└── .claude-plugin/plugin.json\r\n```\r\n\r\n---\r\n\r\n## Phase -1: 前置闸门\r\n\r\n**【入口：技能熔炉】** — 读取 [`references/pre-gate-and-routing.md`](references/pre-gate-and-routing.md) 获取完整闸门+路由方法论。\r\n\r\n**动手前先判断三件事，该劝退就劝退：**\r\n\r\n| 检查 | 通过 | 劝退 |\r\n|------|------|------|\r\n| 值不值得做？最近一周≥3次？做法固定？输出可预期？ | ≥2个Yes → 继续 | 一次性任务→\"直接问AI更快\" |\r\n| 有没有现成的？SkillHub上有同类吗？ | 没有 or 有差距 → 继续 | 有且很好→\"建议安装: skillhub install <slug>\" |\r\n| 是不是太大了？该拆成几个？ | 单一场景 → 继续 | 多场景→\"建议拆开，先做哪个？\" |\r\n\r\n## Phase 0: 入口路由与需求共创\r\n\r\n**【入口：技能熔炉】** — 读取 [`references/pre-gate-and-routing.md`](references/pre-gate-and-routing.md) Part 2-3 + [`references/interview-flow.md`](references/interview-flow.md) 获取完整方法论。\r\n\r\n### Step 0.1: 五类入口路由\r\n\r\n| 入口 | 信号 | 策略 |\r\n|------|------|------|\r\n| R1 从零想法 | \"我想做个skill\" | 自适应访谈（Step 0.2） |\r\n| R2 从对话提取 | \"把刚才对话变成skill\" | 扫描上下文→提取步骤→生成草稿→确认门→Step 0.4 |\r\n| R3 从现成材料 | 给文档/SOP | 分析材料→反推四要素→补缺→确认门→Step 0.4 |\r\n| R4 从草稿完善 | 给半成品SKILL.md | 反推四要素→确认门→Step 0.4 同类预检→补全→验证 |\r\n| R5 改进已有skill | \"不触发/跑偏/太啰嗦\" | 诊断：症状→检查点→动作→修复→验证 |\r\n\r\n### Step 0.2: 自适应访谈（2-5轮，一次一问）\r\n\r\n**水平自适应**：从用户措辞判断水平。张口pandas→用术语；说\"差不多就行\"→换大白话。**全程不问\"你几级\"**。\r\n\r\n**一次一问**：每轮只问1个问题+2-3个选项。一次甩3个问题，用户只会挑最好答的。\r\n\r\n**四要素**：做什么 / 何时触发 / 输入输出 / 边界。≥3个明确→进入确认门。\r\n\r\n### Step 0.3: 确认门\r\n\r\n**理解没对齐，绝不动手写。**\r\n\r\n```\r\n我理解是这样——\r\n· 做什么：[一句话]\r\n· 何时触发：[用户会说的话]\r\n· 输入：[格式]；输出：[格式]\r\n· 边界：[不做什么]\r\n这样对吗？没问题我就开始写了。\r\n```\r\n\r\n用户确认 → Step 0.4 同类预检。用户纠正 → 修正后重新确认。\r\n\r\n### Step 0.4: 同类预检（创建前）\r\n\r\n**【入口：技能熔炉】** — 读取 [`references/composition-and-pipeline.md`](references/composition-and-pipeline.md) 获取组合与管线编排方法论。\r\n\r\n**适用范围**：所有创建类入口（R1/R2/R3/R4）的确认门通过后必须执行。R5 改进类跳过（走诊断模式）。**即使用户带着成熟的想法、现成仓库、教程材料或半成品草稿调用，也不能跳过此环节**——必须先收敛递归转写为四要素 plan，确认门对齐后再做同类预检。\r\n\r\n**确认门通过后，立即搜索 SkillHub，避免重复造轮子：**\r\n\r\n| 分支 | 条件 | 动作 |\r\n|------|------|------|\r\n| **a) 有现成的更好** | 找到高质量同类(≥7分) | 建议安装已有Skill，结束流程 |\r\n| **b) 有但不够好** | 有同类但有明显差距 | 提取差异点→作为Phase 1设计输入 |\r\n| **c) 无同类** | 没有同类Skill | 直接进入Phase 1创建 |\r\n| **d) 可组合** | 需求可分解为多个原子操作 | 元技能组合+管线编排建议 |\r\n\r\n**分支d详解**：需求分解为原子操作→逐个搜索→评估覆盖率：\r\n- 全组合：所有步骤都有高质量Skill→建议安装+编排管线，无需新建\r\n- 部分组合：部分有高质量→安装已有的+只新建缺失的\r\n- 全新建：无高质量同类→直接Phase 1\r\n\r\n---\r\n\r\n## Phase 1: 创建\r\n\r\n**【入口：技能熔炉】**\r\n\r\n### Step 1: Description先行 + 触发优化迭代\r\n\r\n**格式**: `\"<做什么>. 当用户说<触发词>时触发. Do NOT use for <排除范围>.\"`\r\n\r\n**触发优化迭代**：初版description写完后，用5条真实用户说法测试触发准确率。触发不准→自动迭代用词。最多3轮。\r\n\r\n### Step 2: 撰写4+1模块\r\n\r\n任务（锁定边界）/ 输出格式（固定结构）/ 规则（3-5条，实习生测试）/ 示例（完整输入输出）/ 故障排除（可选）\r\n\r\n### Step 3: 创建目录和文件\r\n\r\n有确定性操作→创建 `scripts/`。有模板样式→创建 `assets/`。\r\n\r\n### Step 4: 分层验证\r\n\r\n**默认轻量验证（小白/日常）：**\r\n- **Step 4a**: Schema检查 — 完整 10 项自检清单见 [`references/authoring-principles.md`](references/authoring-principles.md) §六（含 frontmatter 字段齐全 / description 三要素 / SKILL.md ≤200 行 / allowed-tools 最小权限 / metadata.openclaw 声明 / 无凭证硬编码 / Lethal Trifecta / CHANGELOG 版本一致 / plugin.json 一致）\r\n- **Step 4b**: 安全红线（7条RED FLAG）\r\n- **Step 4c**: 跑给你看 — 拿真实输入跑一遍→看结果→确认/微调\r\n\r\n**可选重型验证（老手/严谨场景）：**\r\n- **Step 4d**: 触发测试 — 5条真实用户说法+3条反向\r\n- **Step 4e**: 量化评分（0-10）\r\n- **Step 4f**: 基线对比（有Skill vs 无Skill）\r\n\r\n**最多3次迭代。3次后建议\"先发布V1再迭代\"。**\r\n\r\n---\r\n\r\n## Phase 2: 质量自评 + 差异化验证\r\n\r\n**【入口：技能评估 / skill评估 / 评估技能】** — 读取 [`references/benchmarking-guide.md`](references/benchmarking-guide.md)。\r\n\r\n> **角色调整**：同类搜索已前移到 Step 0.4（创建前）。Phase 2 现在聚焦于创建后的质量自评和差异化验证。\r\n\r\n### Step 5a: 腾讯9维度自评 — 触发精准度/关键词前置/Do NOT/单一职责/4模块/输出具体性/实习生测试/示例覆盖/体积控制。逐维度自评，标出弱项。\r\n\r\n### Step 5b: 差异化验证 — 如果 Step 0.4 发现有同类，验证差异化优势是否落地。如果无同类，跳过。\r\n\r\n### Step 5c: 盲区修复 — 列出弱项和盲区，附腾讯手册依据，提出修复方案。\r\n\r\n### Step 5d: 用户决策 — 采纳修复 / 保持原样。**用户决策为最终决策。**\r\n\r\n---\r\n\r\n## 发布交接提醒\r\n\r\n**触发条件**：Phase 2 评估完成（Step 5d 用户选择\"保持原样\"或\"采纳修复且修复完成\"），且用户未选择\"直接安装已有\"。\r\n\r\n**触发时提示**：\r\n\r\n> Skill 已通过锻造与评估。如需发布到 GitHub + ClawHub + SkillHub，请说\"技能发布\"或\"发布技能\"调用 **skill-publisher** 技能，它负责：前置条件校验 → 仓库结构生成 → 安全审查 → 版本号查重 → 三平台推送 → 发布后验证 → 本地安装同步。\r\n\r\n**不要在本技能内执行任何发布操作。** 发布是独立技能 skill-publisher 的职责，本技能仅负责锻造与评估。\r\n\r\n---\r\n\r\n## References\r\n\r\n- **[authoring-principles.md](references/authoring-principles.md)** — 5 大撰写原则 + frontmatter 规范 + 6 大反模式 + 10 项自检清单（v5.2 新增，从 skill-auditor 反哺）\r\n- **[pre-gate-and-routing.md](references/pre-gate-and-routing.md)** — Phase -1 闸门 + 五类入口路由 + 改进诊断脚本\r\n- **[interview-flow.md](references/interview-flow.md)** — 一次一问 + 水平自适应 + 确认门 + B1-B6规则\r\n- **[composition-and-pipeline.md](references/composition-and-pipeline.md)** — Step 0.4 元技能组合 + 管线编排方法论\r\n- **[interview-methods.md](references/interview-methods.md)** — 行为追问、偏误检测、选项法深度参考\r\n- **[benchmarking-guide.md](references/benchmarking-guide.md)** — 腾讯9维度自评模板 + 差异化验证\r\n- **[meeting-action-extractor-example.md](references/meeting-action-extractor-example.md)** — 完整Skill示例\n\nFile v6.4.0:_meta.json\n\n{\n  \"ownerId\": \"kn75zj7vzdyvap84adxa8heyyd82f5eh\",\n  \"slug\": \"skill-forge-ai\",\n  \"version\": \"6.4.0\",\n  \"publishedAt\": 1784543171003\n}\n\nFile v6.4.0:references/authoring-principles.md\n\n# Skill 撰写原则\n\n**同步源**: 本文件与 `skill-auditor/references/skill-authoring-guide.md` 同源，版本同步。\n**版本**: v1.0.0（2026-07-16 首次从 skill-authoring-guide.md 反哺）\n**When to read**: 创建 Skill 前必读，作为\"声明-行为一致性\"的硬门控。\n\n> 本文件以**创建视角**组织：撰写前 → 撰写中 → 撰写后。源文件 `skill-authoring-guide.md` 是审计视角（发现问题时指向指南），本文件是动手前主动遵循。\n\n---\n\n## 一、撰写前：5 大原则（创建期必须遵循）\n\n业界主流 Skill 平台的审核哲学围绕\"coherence（一致性）\"展开——不是禁止强大能力，而是要求**声明与行为对齐、权限与目的匹配、用户知情可控**。\n\n### 原则 1：声明-行为一致性（Coherence）\n\n`name` / `description` / `metadata` / 实际行为四者必须对齐，不能\"挂羊头卖狗肉\"。\n\n**可执行建议**：\n- `name` 用动词或动名词（如 `skill-auditor`、`wx-peitu`），不用模糊名词（如 `tool`、`helper`）\n- `description` 的\"做什么\"段必须与 SKILL.md 正文 `## 任务` 段一致；若 description 说\"8 维度审计\"，正文任务段不能写\"6 维度检查\"\n- `metadata.openclaw.requires.*` 声明的环境变量，必须在代码中实际使用；代码用了的环境变量，必须声明\n- `allowed-tools` 列出的工具，每个都要在 SKILL.md 流程中能找到调用点\n\n**自检方法**：写完后让另一个人（或 AI）只读 frontmatter，预测 Skill 会做什么；再读 SKILL.md 正文，对比预测与实际是否一致。差异处就是不一致点。\n\n### 原则 2：权力比例适当（Proportionality）\n\n强大行为本身不是问题，但必须**已披露 + 目的对齐 + 比例适当**。\n\n**可执行建议**：\n- 行为越强 → 文档越详细：只读分析可以一句话带过；自动推送外部平台必须有专门\"用户须知\"段\n- 副作用强度必须匹配用户预期：用户说\"格式转换\"预期是改本地文件；用户说\"发布\"预期是推外部；不要让\"转换\"悄悄发布\n- 不可逆操作（删除、覆盖、推送）必须前置确认或可配置关闭\n\n**判定公式**：`行为强度 ≤ 用户预期 + 披露程度`。任一项失衡就需要重新设计。\n\n### 原则 3：最小权限（Least Privilege）\n\n`allowed-tools` 和 `metadata.openclaw.requires` 只声明 Skill 实际需要的权限，不\"以防万一\"地多列。\n\n**可执行建议**：\n- 只读分析类 Skill：`allowed-tools: \"Read, Glob, Grep, LS\"`，不含 Write/Edit\n- 需要修改文件的 Skill：加上 `Edit, Write`，但必须在 SKILL.md 说明\"何时会修改、修改哪些文件\"\n- 需要网络的 Skill：声明 `WebFetch` 或对应 CLI 工具的 `requires.bins`，并说明\"访问哪些域名、做什么\"\n- 永远不要加 `Bash` 这种通配权限，列出具体工具名\n\n**反例**：一个只读分析 Skill 写 `allowed-tools: \"Read, Write, Edit, Bash, WebFetch\"`——多出的 Write/Edit/Bash 都是隐患。\n\n### 原则 4：渐进式披露（Progressive Disclosure）\n\nSKILL.md 是导航地图，不是百科全书。核心流程放正文，详细规则、模板、示例下沉到 `references/`。\n\n**可执行建议**：\n- SKILL.md ≤ 200 行（硬上限 300 行）\n- SKILL.md 必含 4 模块：`## 何时触发` / `## 任务` / `## 输出格式` / `## 规则`（外加 `## 示例`）\n- 详细检查项、模板、扫描模式、对比方法论 → `references/*.md`\n- 长示例、配置样例、数据字典 → `references/examples.md` 或独立文件\n- 脚本代码 → `scripts/`，不在 SKILL.md 内联超过 20 行\n\n**判定标准**：SKILL.md 应该能 5 分钟读完，让读者知道\"这个 Skill 做什么、何时触发、输出什么、有哪些规则\"。\n\n### 原则 5：用户知情（User Awareness）\n\n有副作用的 Skill（自动推送、定时执行、写入外部服务、读取本地敏感数据）必须在 README 含用户警告，中英文同步。\n\n**可执行建议**：\n- README 顶部加\"用户须知\"或\"⚠️ 注意\"段，列出所有副作用\n- 每个副作用配关闭方式：`定时执行可通过设置 X=false 关闭` / `推送外部平台需在确认点明确授权`\n- 副作用涉及外部服务时，列出目标域名和操作类型（POST/上传/删除）\n- README.md 与 README.en.md 内容必须同步，警告段不能只写中文\n\n**最低标准**：用户读完 README 后，应该清楚知道\"这个 Skill 会动什么、不会动什么、出问题怎么关\"。\n\n---\n\n## 二、撰写中：frontmatter 规范（三平台兼容）\n\n### 必填字段表\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `name` | string | ✅ | kebab-case，全小写+连字符，与目录名一致 |\n| `description` | string | ✅ | ≤200 字符，含三要素（见第三部分） |\n| `version` | semver | ✅ | `MAJOR.MINOR.PATCH`，与 CHANGELOG 最新一致 |\n| `license` | SPDX | ✅ | 默认 `MIT` 或 `MIT-0`，不要加冲突 license |\n| `allowed-tools` | string | ✅ | 实际使用的工具白名单（原则 3） |\n| `metadata.openclaw` | object | 推荐 | 平台元数据（见下表） |\n\n### 完整 frontmatter 示例（含 metadata.openclaw）\n\n```yaml\n---\nname: \"skill-auditor\"\nslug: \"skill-auditor-ai\"\ndisplayName: \"Skill Auditor\"\ndescription: \"对已存在 Skill 做 8 维度全面体检（结构/安全/触发/有效性/竞争/平台/文档/代码质量）。说 技能审计/审计技能/技能体检 时触发。支持成熟度分级+4确认点+整改+回归审计。绝不自动发布。Do NOT use for creating skills or publishing to platforms.\"\nversion: \"1.2.1\"\nlicense: \"MIT\"\nsummary: \"对已存在 Skill 做 8 维度全面体检，支持三级成熟度分级+4确认点+整改模式+回归审计。绝不自动发布。\"\nallowed-tools: \"Read, Write, Edit, Glob, Grep, LS, WebFetch, AskUserQuestion\"\nmetadata:\n  openclaw:\n    skillKey: \"skill-auditor\"\n    emoji: \"🔍\"\n    homepage: \"https://github.com/owner/skill-auditor\"\n    os: [\"windows\", \"macos\", \"linux\"]\n    requires:\n      bins: [\"python\"]\n      env: []\n    primaryEnv: \"\"\n    envVars: []\n    always: false\n---\n```\n\n### 三平台字段对照\n\n| 字段 | ClawHub | SkillHub | 其他平台 |\n|------|---------|----------|---------|\n| `name` | ✅ 必填 | ✅ 必填 | ✅ 必填 |\n| `description` | ✅ 必填 | ✅ 必填 | ✅ 必填 |\n| `slug` | — | ✅ 必填（通常 `-ai` 后缀） | — |\n| `displayName` | — | ✅ 必填 | — |\n| `version` | 推荐 | ✅ 必填 | ✅ 必填 |\n| `summary` | — | ✅ 必填 | — |\n| `license` | 推荐 | ✅ 必填 | ✅ 必填 |\n| `allowed-tools` | 推荐 | — | ✅ 必填 |\n| `metadata.openclaw.*` | 推荐 | — | 推荐 |\n\n**兼容策略**：把所有平台的必填字段都填上，多平台共享同一份 frontmatter。字段冲突时（如 `slug` 在 ClawHub 无意义），多余字段会被忽略，不会报错。\n\n### metadata.openclaw 子字段速查\n\n| 子字段 | 作用 | 示例 |\n|--------|------|------|\n| `requires.env` | 必需环境变量数组（缺一不可） | `[\"FEISHU_APP_ID\", \"FEISHU_APP_SECRET\"]` |\n| `requires.bins` | 必需 CLI 工具数组（缺一不可） | `[\"lark-cli\", \"python\"]` |\n| `requires.anyBins` | 任一可用即可 | `[\"python\", \"python3\"]` |\n| `requires.config` | 必需配置文件 | `[\"references/config.json\"]` |\n| `primaryEnv` | 主环境变量名（用于提示用户配置） | `\"FEISHU_APP_ID\"` |\n| `envVars` | 可选环境变量列表（仅文档化，不强制） | `[\"VERBOSE_LOG\"]` |\n| `always` | 是否总是加载（默认 false） | `false` |\n| `skillKey` | Skill 内部唯一键 | `\"skill-auditor\"` |\n| `emoji` | 展示图标 | `\"🔍\"` |\n| `homepage` | 项目主页 URL | `\"https://github.com/...\"` |\n| `os` | 支持的操作系统数组 | `[\"windows\", \"macos\", \"linux\"]` |\n\n---\n\n## 三、撰写中：description 三要素公式\n\n### 公式\n\n```\ndescription = 做什么 + 何时触发 + Do NOT 范围\n```\n\n- **做什么**：一句话说清核心功能，动词开头\n- **何时触发**：列出 2-4 个核心触发词（中文 + 英文关键术语）\n- **Do NOT 范围**：用 `Do NOT use for ...` 列出容易混淆的相邻场景\n\n### 字符限制\n\n- 总长度 ≤ 200 字符（核心触发词必须在前 200 字符内）\n- 超过 200 字符会被部分平台截断，触发词后置会失效\n- 硬上限 250 字符，超过则审计标 Important\n\n### 行为范围声明（MCP Tool Poisoning 防护）\n\n如果 Skill 实际包含以下任一行为，**description 必须披露**（或在 SKILL.md \"权限声明\"段披露并由 description 指向）：\n\n| 行为 | 披露要求 | 示例措辞 |\n|------|---------|---------|\n| 读取本地文件 | 必须披露 | \"读取被审计 Skill 目录的文件\" |\n| 网络请求（urllib/CLI） | 必须披露 | \"可选网络访问：WebFetch 调用 X API\" |\n| subprocess 调用 | 必须披露 | \"通过 subprocess 调用 lark-cli\" |\n| 写入外部服务（POST/上传） | 必须披露 | \"上传生成的文件到飞书云空间\" |\n| 修改本地文件 | 必须披露 | \"整改模式（用户授权后）：Edit 修改被审计 Skill 文件\" |\n\n### 好例子 vs 坏例子\n\n**✅ 好**（只读分析类）：\n```\n对已存在 Skill 做 8 维度全面体检（结构/安全/触发/有效性/竞争/平台/文档/代码质量）。说 技能审计/审计技能/技能体检 时触发。支持成熟度分级+4确认点+整改+回归审计。绝不自动发布。Do NOT use for creating skills or publishing to platforms.\n```\n- 三要素齐全 + 行为范围反向披露（\"绝不自动发布\"）\n\n**❌ 坏 1**（只说功能不说行为）：\n```\n公众号排版工具，让文章更美观。\n```\n- 缺触发词、缺 Do NOT、未披露会调 API 推送 → 触发 MCP Tool Poisoning\n\n**❌ 坏 2**（行为范围缺失）：\n```\n自动发布技能到三平台。说 技能发布 时触发。\n```\n- \"自动发布\"未说明会推送到哪些外部平台、是否需授权、是否可撤销 → Missing User Warnings\n\n---\n\n## 四、撰写后：Lethal Trifecta 自检（创建期红线）\n\n业界安全框架识别出\"致命三角\"——三者同时满足时，Skill 设计存在系统性风险，需要重新设计：\n\n| 要素 | 说明 | 自检问题 |\n|------|------|---------|\n| 1. 访问私有数据 | 读取本地敏感文件（memory/profile/credentials/config/ssh） | \"我的 Skill 是否读取用户私人数据？\" |\n| 2. 暴露不可信内容 | 输出会被 LLM 作为上下文消费（MD/JSON/日志/对话回复） | \"输出文件是否会被 AI 读取作为后续指令？\" |\n| 3. 对外通信 | 能向外部服务发送数据（API POST/文件上传/subprocess 网络调用） | \"Skill 能否把数据发到外部？\" |\n\n**判定规则**：\n- 三者同时满足 = **重新设计**：要么去掉私有数据访问，要么去掉对外通信，要么确保输出不被 LLM 消费\n- 满足两项 = **需要缓解措施**：见下方分级清单\n- 满足一项或零项 = **低风险**，常规规范即可\n\n### 权力分级与安全措施\n\n**Low 级别（只读分析）**：\n- [ ] `allowed-tools` 不含 Write/Edit/Bash\n- [ ] 不读取 `~/.ssh` / `~/.aws` / `.env` / `config.local.json`\n- [ ] 输出报告中不打印凭证值（只打印凭证存在性）\n\n**Medium 级别（修改本地文件）**：\n- [ ] Low 级别的全部措施\n- [ ] 修改前需用户在确认点明确授权\n- [ ] 每次修改标注 `file:line`，可追溯\n- [ ] 不覆盖未注释的代码（删除即删除，不留\"参考\"）\n- [ ] subprocess 调用的命令在 SKILL.md 列明\n\n**High 级别（推送外部平台/网络外发）**：\n- [ ] Medium 级别的全部措施\n- [ ] README 含\"用户须知\"段，列出所有外部目标和操作类型\n- [ ] 每次外部操作前需用户在确认点明确授权（模糊回答要追问）\n- [ ] 凭证从环境变量读取，绝不硬编码\n- [ ] 提供\"不推送只本地\"的降级模式\n- [ ] Lethal Trifecta 自检通过（不能三项全占）\n\n---\n\n## 五、撰写后：6 大反模式（创建期主动规避）\n\n以下反模式提炼自 SkillSpector 实际审计 findings，撰写时应主动规避。\n\n### 反模式 1：description 只说功能不说行为范围\n\n**表现**：description 写\"X 工具，让 Y 更高效\"，但实际代码读取本地文件、调用网络 API、subprocess 执行外部命令——description 完全不披露。\n\n**后果**：触发 MCP Tool Poisoning 标记，平台审核拒绝发布。\n\n**修复**：在 description 或 SKILL.md \"权限声明\"段列出全部行为，参见第三部分的行为范围声明表。\n\n### 反模式 2：有副作用但 README 无警告\n\n**表现**：Skill 会自动推送外部平台或定时执行，README 只写\"功能介绍\"和\"使用方法\"，没有\"用户须知\"段告知副作用和关闭方式。\n\n**后果**：触发 Missing User Warnings，用户无法知情控制。\n\n**修复**：README 顶部加\"⚠️ 注意\"段，每个副作用配关闭方式，中英文同步。\n\n### 反模式 3：allowed-tools 含 curl 但不声明\n\n**表现**：`allowed-tools` 写了 `Bash` 或代码里用 `subprocess` 调 `curl`，但 frontmatter 和 SKILL.md 都没声明网络权限。\n\n**后果**：触发 MCP Least Privilege 标记，权限与声明不匹配。\n\n**修复**：声明 `requires.bins: [\"curl\"]` 或具体 CLI 工具；在 SKILL.md \"权限声明\"段说明\"访问哪些域名、做什么\"。\n\n### 反模式 4：嫁接痕迹（\"继承自 XX 技能\"）\n\n**表现**：SKILL.md / README / CHANGELOG 中出现\"继承自 skill-yyy\"、\"based on skill-zzz\"、\"forked from\"、\"与 skill-www 的分工\"等措辞。\n\n**后果**：触发 D-O1/O3/O4 嫁接痕迹检查，标 Important；降低原创度评分。\n\n**修复**：用场景描述替代具体技能名。例如：\n- ❌ \"继承自 skill-creator，负责审计\" → ✅ \"定义 8 维度审计方法论\"\n- ❌ \"与 skill-publisher 的分工\" → ✅ \"提供发布建议，由用户手动执行\"\n\n### 反模式 5：YARA 触发词字面量\n\n**表现**：文档或代码中出现 shell history 清理命令、PowerShell 错误忽略参数、递归强制删除组合、权限放宽命令、输出重定向到空设备等字面量——即使是在\"不要使用 XXX\"的说明中也会触发匹配。\n\n**后果**：触发 YARA 规则 `agent_skill_destructive_autonomous_actions`，标 Critical，平台拒绝发布。\n\n**修复**：用类别描述替代字面量。例如：\n- ❌ 写出具体 shell history 清理命令 → ✅ \"shell history 清理命令类别\"\n- ❌ 写出具体权限放宽命令 → ✅ \"全权限设置命令\"\n- CHANGELOG 历史记录中含字面量也要重新措辞\n\n### 反模式 6：声明-行为不一致\n\n**表现**：\n- D-M1：frontmatter 没声明 `requires.env`，但代码用了环境变量\n- D-M2：frontmatter 没声明 `requires.bins`，但代码 subprocess 调用了 CLI 工具\n- D-M3：`allowed-tools` 列了某工具，但 SKILL.md 流程中找不到调用点\n\n**后果**：触发 Description-Behavior Mismatch，标 Important；用户安装后无法正常运行。\n\n**修复**：\n- 代码用了什么 env/bins，frontmatter 就声明什么\n- `allowed-tools` 每个工具都要在 SKILL.md 流程中找到调用点\n- 写完后做一次\"声明-行为对账\"：列出 frontmatter 声明的所有项，逐项在代码中找证据\n\n---\n\n## 六、撰写后：发布前自检清单（10 项硬门控）\n\n发布前必须逐项打勾，全部通过才能进入发布流程。\n\n- [ ] **1. frontmatter 必填字段齐全**：name / description / version / license 都存在；name 符合 kebab-case；version 是合法 semver\n- [ ] **2. description ≤200 字符 + 含 Do NOT + 含行为范围声明**：长度 ≤200（核心触发词在前 200 字符内）；含 \"Do NOT use for ...\" 段；含行为范围声明（如有读取本地/网络/subprocess/外部写入）\n- [ ] **3. SKILL.md ≤200 行 + 4 模块齐全**：行数 ≤200（硬上限 300）；含 ## 何时触发 / ## 任务 / ## 输出格式 / ## 规则；详细内容下沉 references/\n- [ ] **4. allowed-tools 不含无关权限**：每个工具都能在 SKILL.md 找到调用点；不含 Bash 等通配权限；只读 Skill 不含 Write/Edit\n- [ ] **5. README 中英文同步 + 含用户警告（如有副作用）**：README.md 与 README.en.md 内容同步；有副作用的 Skill 含\"⚠️ 注意\"段；每个副作用配关闭方式\n- [ ] **6. metadata.openclaw.requires 声明所有 env/bins**：代码用的环境变量都在 requires.env；subprocess 调用的 CLI 都在 requires.bins；D-M1/M2 自检通过\n- [ ] **7. 无凭证硬编码 / 无本地路径 / 无 YARA 触发词**：Grep 凭证模式（token/api_key/secret/sk-/ghp_/cli_ 等）零真实值；Grep 本地路径模式（C:\\\\/D:\\\\/Users/Administrator/.trae-cn）零匹配；Grep YARA 5 类字面量零匹配（含 CHANGELOG）\n- [ ] **8. Lethal Trifecta 自检通过**：访问私有数据 + 暴露不可信内容 + 对外通信 三者不同时满足；High 级别 Skill 有完整缓解措施\n- [ ] **9. CHANGELOG 版本号 = frontmatter version**：CHANGELOG.md 最新条目版本号与 frontmatter version 一致；最新条目有日期和变更说明\n- [ ] **10. plugin.json 与 frontmatter 一致**：.claude-plugin/plugin.json 的 name/version/description 与 frontmatter 一致；无冲突字段\n\n---\n\n## 七、平台规范要点\n\n### License\n\n- 默认使用 `MIT` 或 `MIT-0`（更宽松）\n- 不要加与 MIT 冲突的 license（如 GPL、AGPL）——会导致平台拒绝收录\n- LICENSE 文件放在 Skill 根目录\n\n### 文件大小与类型\n\n- 总 bundle 大小 ≤ 50MB（含所有文件）\n- 文本文件扩展名白名单：`.md` / `.json` / `.yaml` / `.yml` / `.txt` / `.py` / `.js` / `.ts` / `.ps1` / `.sh` / `.html` / `.css`\n- 二进制文件（图片、视频、可执行文件）尽量避免；必须包含时单独说明用途\n\n### .gitignore 必须排除\n\n```gitignore\n# Python 缓存\n__pycache__/\n*.pyc\n*.pyo\n\n# 平台自动生成\n.clawhub/\n\n# 本地凭证\nconfig.local.json\nconfig.local.*.json\n.env\n.env.local\n\n# 临时脚本\n_*.py\n_*.ps1\n_*.sh\n\n# 日志\n*.log\n\n# 维护者发布脚本（可选）\npublish_*.ps1\npublish_*.sh\n```\n\n**关键**：`.clawhub/` 目录由平台自动生成，**禁止手动创建或提交**；`config.local.json` 是本地凭证文件，**绝对不能提交**。\n\n### 平台自动生成文件（禁止发布）\n\n以下文件由平台自动生成，**禁止手动创建或提交到仓库**：\n\n| 文件/目录 | 生成方 | 用途 |\n|-----------|--------|------|\n| `skill-card.md` | ClawHub | Skill 展示卡片 |\n| `.clawhub/` | ClawHub | 平台元数据缓存 |\n| `.skillhub-cache/` | SkillHub | 平台缓存 |\n\n**自检**：发布前 LS 仓库根目录，确认以上文件都不存在。如果存在，删除后重新提交。\n\n---\n\n## 附录：撰写流程速查\n\n```\n撰写前：\n  1. 读 5 大原则（本文件 §一）\n  2. 锁定 Skill 单一职责（原则 1+2）\n  3. 评估权力级别（Low/Medium/High）—— 决定后续安全措施强度\n\n撰写中：\n  4. 写 frontmatter（本文件 §二）—— 三平台字段都填\n  5. 写 description（本文件 §三）—— 三要素 + 行为范围声明\n  6. 写 SKILL.md 4 模块 —— ≤200 行（原则 4）\n  7. 有副作用 → 写 README \"⚠️ 注意\"段（原则 5）\n\n撰写后：\n  8. Lethal Trifecta 自检（本文件 §四）\n  9. 6 大反模式扫一遍（本文件 §五）\n  10. 10 项发布前自检清单（本文件 §六）\n  11. 平台规范检查（本文件 §七）\n```\n\nFile v6.4.0:references/benchmarking-guide.md\n\n# Quality Self-Assessment & Differentiation Guide\n\nComplete methodology for Phase 2 quality self-assessment in skill-forge v5.1.\n\n> **v5.1 架构变更**：同类搜索已前移到 Step 0.4（创建前）。Phase 2 现在聚焦于创建后的质量自评和差异化验证。\n\n**When to read**: When entering Phase 2 (after Phase 1 creation + self-validation completes), or when triggered by \"技能评估\" entry. Read this file in full before starting assessment.\n\n---\n\n## Step 5a: 腾讯9维度自评\n\nEvaluate the created Skill on these **9 Tencent Skills Manual dimensions**:\n\n| # | Tencent Principle | What to check |\n|---|-------------------|---------------|\n| 1 | **Description: trigger precision** | Does description clearly state WHEN to invoke? |\n| 2 | **Description: keyword frontloading** | Are core trigger keywords in first 200 chars? |\n| 3 | **Description: Do NOT scope** | Does description explicitly state what it's NOT for? |\n| 4 | **One Skill = One Job** | Does it focus on a single scenario with one deliverable? |\n| 5 | **4-module structure** | 任务/输出格式/规则/示例 all present? |\n| 6 | **Output format: concrete** | Every field has fixed format, no vague instructions? |\n| 7 | **Rules: Intern Test** | Every rule is directly actionable, no useless defaults? |\n| 8 | **Example: edge case coverage** | Example covers boundary situations? |\n| 9 | **Size: under 200 lines** | Lean and focused, no bloat? Progressive disclosure (references/scripts/assets)? |\n\n### Self-Assessment Table\n\nFill in self-evaluation scores (1-10) and mark weak dimensions:\n\n| # | Tencent Principle | Score (1-10) | Weak? | Notes |\n|---|-------------------|--------------|-------|-------|\n| 1 | Trigger precision | | | |\n| 2 | Keyword frontloading | | | |\n| 3 | Do NOT scope | | | |\n| 4 | One Job | | | |\n| 5 | 4-module structure | | | |\n| 6 | Output concreteness | | | |\n| 7 | Intern Test rules | | | |\n| 8 | Edge case coverage | | | |\n| 9 | Size control (≤200 lines + progressive disclosure) | | | |\n\n**Any score <7 → mark as weak dimension, must propose fix in Step 5c.**\n\n---\n\n## Step 5b: 差异化验证\n\n### If Step 0.4 found peers (分支b)\n\nVerify that the differentiation advantages identified in Step 0.4 are actually reflected in the created Skill:\n\n```\nStep 0.4 差异点: [具体差异]\n  → Skill中的体现: [在哪个模块/规则/示例中落地]\n  → 验证结果: ✅已落地 / ❌未落地\n\nStep 0.4 差异点: [具体差异]\n  → Skill中的体现: [在哪个模块/规则/示例中落地]\n  → 验证结果: ✅已落地 / ❌未落地\n```\n\n**未落地的差异点 → 补充到Step 5c修复方案。**\n\n### If Step 0.4 found no peers (分支c)\n\nSkip differentiation verification. Proceed directly to Step 5c blind spot check.\n\n---\n\n## Step 5c: 盲区修复\n\n### For weak dimensions (Step 5a score <7)\n\nList specific improvements with Tencent Manual justification:\n\n```\n弱项1: [维度#N - 具体问题]（评分: X/10）\n  → 腾讯手册依据: [相关原则]\n  → 修复方案: [具体修复动作]\n  → 预期提升: 修复后评分可达 X/10\n\n弱项2: [维度#N - 具体问题]（评分: X/10）\n  → 腾讯手册依据: [相关原则]\n  → 修复方案: [具体修复动作]\n  → 预期提升: 修复后评分可达 X/10\n```\n\n### For unlanded differentiation (Step 5b ❌)\n\n```\n未落地差异: [差异点]\n  → 补充位置: [哪个模块需要补充]\n  → 补充内容: [具体内容]\n```\n\n---\n\n## Step 5d: 用户决策\n\nPresent assessment results with options:\n\n1. **采纳修复** — Apply all fixes, re-run Step 4 validation\n2. **保持原样** — Ship as-is, acknowledge weak dimensions\n\n**User's decision is final.** AI recommends but never forces.\n\n---\n\n## 独立评估入口（技能评估触发词）\n\nWhen triggered by \"技能评估 / skill评估 / 评估技能\" (not part of full workflow):\n\n1. Ask user for the Skill to evaluate (file path or content)\n2. Run Step 5a self-assessment (9 dimensions)\n3. Run Step 5c blind spot analysis\n4. Present results + improvement suggestions\n5. User decides whether to apply fixes\n\n**Note**: This path does NOT include Step 5b (differentiation verification), because there's no Step 0.4 peer search context.\n\nFile v6.4.0:references/composition-and-pipeline.md\n\n# Composition & Pipeline Orchestration (元技能组合与管线编排)\n\nComplete methodology for Step 0.4 meta-skill composition suggestions in skill-forge v5.1.\n\n**When to read**: When Step 0.4 pre-check finds that the user's need can be decomposed into multiple existing Skills, or when a multi-step pipeline is more efficient than creating a new monolithic Skill.\n\n---\n\n## Core Principle\n\n**Before creating a new Skill, check if the need can be met by combining existing high-quality Skills.**\n\nMany \"I want a Skill that does X\" requests are actually multi-step workflows:\n- \"把会议录音转成行动项\" = 音频转文字 + 纪要提取 + 行动项生成\n- \"把网页文章转成公众号排版\" = 网页提取 + 内容增强 + 排版\n- \"把PDF转成知识卡片\" = PDF提取 + 内容归纳 + 卡片生成\n\nIf each step already has a high-quality Skill, composing them is better than building a monolithic new one.\n\n---\n\n## Decomposition Method\n\n### Step 1: Break down the user's need into atomic operations\n\n```\n用户需求: \"把会议录音转成结构化行动项\"\n\n分解:\n  ① 音频 → 文字 (转写)\n  ② 文字 → 会议纪要 (提取要点)\n  ③ 纪要 → 行动项 (提取行动项+负责人+截止)\n```\n\n### Step 2: Search each atomic operation on SkillHub\n\nFor each step, use TRAE built-in tools (Grep/WebSearch) to search SkillHub for matching skills\n\n### Step 3: Evaluate each step's coverage\n\n| Step | SkillHub Top Skill | Quality Score | Coverage |\n|------|-------------------|---------------|----------|\n| ① | audio-to-text-pro | 8.5/10 | 完全覆盖 |\n| ② | meeting-summary-extractor | 7.2/10 | 完全覆盖 |\n| ③ | action-item-generator | 4.1/10 | 质量一般，有差距 |\n\n### Step 4: Composition Decision\n\n| Pattern | Condition | Recommendation |\n|---------|-----------|----------------|\n| **全组合** | 所有步骤都有高质量Skill(≥7) | \"你的需求已有现成Skill组合，建议安装+编排管线，无需新建\" |\n| **部分组合+部分新建** | 部分步骤高质量，部分质量一般或缺失 | \"建议安装已有的N个Skill + 只新建缺失的1个\" |\n| **全新建** | 没有高质量同类 | 直接进入Phase 1创建 |\n| **单步即可** | 需求不需要分解 | 不适用组合，直接创建 |\n\n---\n\n## Pipeline Orchestration Suggestions\n\n### Pattern 1: Sequential Pipeline (顺序管线)\n\n```\nSkill A → Skill B → Skill C\n  输出       输出       最终输出\n```\n\nWhen: 前一步的输出是后一步的输入。\n\nExample:\n```\naudio-to-text → meeting-summary → action-item\n  (音频转文字)    (提取纪要)        (提取行动项)\n```\n\nSuggestion: \"安装这3个Skill，使用时依次调用：先说'转写这段录音'，再说'提取会议纪要'，最后说'提取行动项'\"\n\n### Pattern 2: Branch Pipeline (分支管线)\n\n```\n         ┌→ Skill B (格式A)\nSkill A ─┤\n         └→ Skill C (格式B)\n```\n\nWhen: 同一输入需要多种输出格式。\n\nExample:\n```\npdf-extractor ─┬→ markdown-converter (输出MD)\n               └→ html-converter (输出HTML)\n```\n\n### Pattern 3: Conditional Pipeline (条件管线)\n\n```\nSkill A → [判断条件] → Skill B (条件满足)\n                    → Skill C (条件不满足)\n```\n\nWhen: 根据中间结果选择不同路径。\n\nExample:\n```\ncontent-analyzer → [有无敏感信息?]\n                   ├→ yes → redact-sensitive → publish\n                   └→ no  → publish directly\n```\n\n---\n\n## Composition Recommendation Template\n\nWhen suggesting composition, present:\n\n```\n🔍 同类预检结果\n\n你的需求可以分解为 N 个步骤：\n\n  ① [步骤1描述] → 已有高质量Skill: [名称] (评分: X/10)\n  ② [步骤2描述] → 已有高质量Skill: [名称] (评分: X/10)\n  ③ [步骤3描述] → 质量一般/无同类，建议新建\n\n建议方案：[全组合 / 部分组合+部分新建 / 全新建]\n\n如果选择组合方案：\n  安装命令：clawhub install [slug1] [slug2]\n  使用顺序：先说\"[触发词1]\"，再说\"[触发词2]\"\n\n如果选择新建[步骤3]：\n  你的差异化优势：[具体差异点]\n  我会基于这个差异点创建一个聚焦的新Skill。\n```\n\n---\n\n## When NOT to Suggest Composition\n\n| Situation | Why |\n|-----------|-----|\n| 用户需求是单一原子操作 | 无法分解，直接创建 |\n| 所有步骤的Skill质量都<5 | 组合低质量Skill不如新建一个完整的 |\n| 用户明确要求一体化 | 尊重用户选择 |\n| 步骤间有强耦合状态 | 管线编排无法传递中间状态，需一体化 |\n| 延迟敏感场景 | 多Skill调用比单Skill慢 |\n\n---\n\n## Integration with Phase 0.4\n\n```\n确认门通过\n  ↓\nStep 0.4: SkillHub 同类预检\n  ├─ 搜索完整需求 → 有更好的同类 → 建议安装，结束\n  ├─ 搜索完整需求 → 有但不够好 → 提取差异点 → Phase 1 设计输入\n  ├─ 搜索完整需求 → 无同类 → 直接 Phase 1\n  └─ 分解为原子操作 → 逐个搜索 → 组合分析\n      ├─ 全组合 → 建议安装+管线编排，结束\n      ├─ 部分组合 → 建议安装已有的+新建缺失的\n      └─ 全新建 → 直接 Phase 1\n```\n\nFile v6.4.0:references/interview-flow.md\n\n# Interview Flow Reference (v5.0)\r\n\r\nComplete methodology for the adaptive multi-round interview in skill-forge Phase 0.\r\n\r\n**When to read**: When entering Phase 0.2 (adaptive interview). Read this file in full before starting any interview round.\r\n\r\n---\r\n\r\n## Core Principle: One Question at a Time (一次一问)\r\n\r\n**Every round, ask only ONE question.** Give 2-3 options to pick from, not a blank space to fill.\r\n\r\nWhy: 一次甩你三个问题，你只会挑最好答的那个，剩下随手糊弄过去。\r\n\r\n```\r\n❌ BAD: \"你想要什么输出格式？什么时候触发？输入是什么？\"\r\n✅ GOOD: \"你最后要的是一个能下载的文件，还是直接贴在对话里的内容？\"\r\n```\r\n\r\nAfter each answer → Why × 1 (B2) → next question.\r\n\r\n---\r\n\r\n## Level Adaptation (水平自适应)\r\n\r\n**Never ask \"你几级水平\"**. Detect from user's language:\r\n\r\n| User says | Level | Adaptation |\r\n|-----------|-------|------------|\r\n| \".xlsx\", \"pandas\", \"JSON\", \"API\", \"assertion\" | 老手 | 用术语，不啰嗦，跳过基础解释 |\r\n| \"那种东西\", \"差不多就行\", \"就是帮我整理一下\" | 小白 | 换大白话，零术语，给更多选项 |\r\n| Mixed signals | 中间 | 用通俗语言+关键术语标注 |\r\n\r\n**Rule**: Adapt in real-time. If user suddenly uses technical terms, upgrade. If user seems confused, downgrade.\r\n\r\n---\r\n\r\n## Confirmation Gate (确认门)\r\n\r\n**理解没对齐，绝不动手写。**\r\n\r\nAfter four elements are gathered, present a one-page summary:\r\n\r\n```\r\n我理解是这样——\r\n· 做什么：[一句话描述]\r\n· 何时触发：[用户会说的话]\r\n· 输入：[输入格式]；输出：[输出格式]\r\n· 边界：[不做什么]\r\n\r\n这样对吗？没问题我就开始写了。\r\n```\r\n\r\n**User confirms → proceed to Phase 1.**\r\n**User corrects → fix and re-present.**\r\n\r\n---\r\n\r\n## Interview Rules (apply EVERY round)\r\n\r\n| Rule | Description |\r\n|------|------------|\r\n| **B1: Behavioral probing** | Ask \"tell me about the last time you did X, step by step\" — not \"what do you want?\" |\r\n| **B2: Why × 1-2** | After each answer, ask \"why?\" or \"then what?\" 1-2 times until hitting concrete behavior |\r\n| **B3: Bias detection** | Scan for \"I should / I plan to / 都行 / 随便\" → redirect to \"what actually happened?\" |\r\n| **B4: Contradiction writeback** | If answers contradict, quote both and let user choose |\r\n| **B5: Option-first** | 3 strong options + Other. Labels ≤ 12 chars. No suggestive words. |\r\n| **B6: Creative option probe** | If user picks unusual option → \"do you really want this, or just find it interesting?\" |\r\n\r\n---\r\n\r\n## Interview Rounds (一次一问版)\r\n\r\n### Round 1 — Scenario Discovery (1 question)\r\n\r\nQ: \"你想让这个 Skill 帮你做什么？\" → 3 strong options + Other\r\nAfter: Why × 1 (B2)\r\n🔍 Broad search: `\"<domain> best practices <current year>\"`\r\n\r\n### Round 2 — Behavioral Deep-Dive (1 question)\r\n\r\nQ: \"想想最近一次你做这件事的经过，一步步告诉我\" (B1)\r\nAfter: Bias check (B3), Why × 1 (B2)\r\n🔍 Deepen search: `\"<domain> <specific direction> 标准 规范 方法\"`\r\n\r\n### Round 3 — Output Lock (1 question)\r\n\r\nQ: \"你最后要的产出长什么样？\" → 2-3 format proposals + Other\r\nAfter: Why × 1 (B2)\r\n🔍 Precision search: `\"<domain> <output type> template example\"`\r\n\r\n### Round 4 — Boundary Lock (1 question)\r\n\r\nQ: \"有哪些情况它千万别插手？\" → 3 overreach patterns + Other\r\nAfter: Contradiction check (B4), Creative option probe (B6)\r\n\r\n### Round 5 — Safety Net (only if elements still incomplete)\r\n\r\n- Fill remaining gaps with targeted questions\r\n- AI proposes completions for unclear elements\r\n- User confirms or corrects\r\n\r\n---\r\n\r\n## Convergence Check (after EACH round)\r\n\r\nUpdate the 4-element checklist:\r\n\r\n| # | Element | Clear? | Source |\r\n|---|---------|--------|--------|\r\n| 1 | 做什么 (What to do) | Y/N | Which round/answer |\r\n| 2 | 何时触发 (When to trigger) | Y/N | Which round/answer |\r\n| 3 | 输入输出 (Input/Output) | Y/N | Which round/answer |\r\n| 4 | 边界 (Boundaries) | Y/N | Which round/answer |\r\n\r\n**≥3 elements clear → present 确认门 summary.**\r\n**<3 elements clear → continue to next round.**\r\n**Round 5 reached → force proceed with AI-inferred completions.**\r\n\r\n---\r\n\r\n## Recursive Search Pattern\r\n\r\n```\r\nR1 → Broad:    \"<domain> best practices\"           → discover dimensions\r\nR2 → Deepen:   \"<domain> <user's direction> 方法\"    → find methods\r\nR3 → Precision: \"<domain> <output type> template\"    → find standards\r\nR4 → Verify:   only if needed\r\n```\r\n\r\n**Rules**: Max 2 searches per round. Extract ONLY actionable insights. Feed into next question. Don't dump raw results. If domain is well-known, skip search.\n\nFile v6.4.0:references/interview-methods.md\n\n# Interview Methods Reference\n\nDetailed methodology for the adaptive multi-round interview in skill-creator v3.1.\n\n---\n\n## B1: Behavioral Probing — Actions over Intentions\n\n**Core principle**: Users美化 their intentions but cannot fake their behaviors. Always push \"what do you want\" back to \"what did you actually do last time.\"\n\n| | Question | Why |\n|---|---|---|\n| BAD | \"你想要 AI 做什么？\" | Users idealize their needs |\n| BAD | \"你希望 AI 是怎样的？\" | Social desirability bias |\n| GOOD | \"想想最近一次你做这件事的经过——一步步告诉我那次发生了什么。\" | Forces concrete recall |\n| GOOD | \"上一次你做这个的时候，具体是怎么操作的？\" | Behavioral anchor |\n\n**When to use**: Every round when the user's answer is abstract or aspirational.\n\n---\n\n## B2: Why × 1-2 — Chase the Concrete\n\nAfter each user answer, automatically ask \"why?\" or \"then what?\" 1-2 times until the answer lands on:\n- A **concrete behavior** (\"I open Notion and write 3 bullet points\")\n- A **specific emotion** (\"I hate it when AI uses 套话\")\n- A **tangible artifact** (\"I need a table with 4 columns\")\n\n**Stop when**: The answer is actionable enough that an intern could execute it.\n\n**Example**:\n```\nUser: \"I want AI to write better articles\"\n  → Why? \"Because my current AI output is too generic\"\n    → What specifically is generic? \"It always starts with 在当今社会 and ends with 综上所述\"\n      → ✅ NOW you have a concrete anti-pattern for the Skill's rules\n```\n\n---\n\n## B3: Bias Detection — Scan Every Answer\n\nAfter each user answer, scan for these bias signals:\n\n| Bias signal | Example | Redirect |\n|-------------|---------|----------|\n| Social desirability | \"我应该每天写日报\" | \"上次实际发生时是怎样的？\" |\n| Aspirational framing | \"我打算用更专业的方式\" | \"目前你是怎么做的？\" |\n| Vague generality | \"一般来说我会...\" | \"最近一次具体是什么情况？\" |\n| One-word answer | \"是\" / \"有\" / \"还行\" | Ask them to elaborate with a specific example |\n| Deflection | \"都行\" / \"随便\" / \"你看着办\" | Switch to option-based question (B5) |\n\n**Rule**: Never accept a biased answer at face value. Always redirect once.\n\n---\n\n## B4: Contradiction Writeback — Never Decide for the User\n\nWhen user's answers contradict across rounds:\n\n1. **Quote both answers verbatim**\n2. **Present the contradiction without judgment**\n3. **Let the user choose**\n\n**Example**:\n```\n\"你在 Round 1 说自己每天写技术博客；Round 3 说最讨厌写长文。\n这两个有冲突——你更倾向哪个？或者两者可以并存（比如写短技术笔记）？\"\n```\n\n**Never**: Silently pick one side. Never assume which answer is \"more correct.\"\n\n---\n\n## B5: Option-First Design — 3+1 Method\n\n**Core insight**: Users choose more accurately than they describe. Give them handles to react to, not blank space to construct on.\n\n### Design Philosophy: 3 Strong + Other\n\nEach question offers:\n- ① ② ③ **Strong options**: Cover ~80% typical scenarios, mutually exclusive, no overlap\n- **Other**: Always available as open-ended fallback (AskUserQuestion adds this automatically)\n\n### Option Design Rules\n\n1. **①②③ must NOT overlap** and must cover typical scenarios\n2. **Labels ≤ 12 chars**, descriptions 5-15 chars\n3. **No suggestive words** in options: \"高质量\" / \"更好\" / \"推荐\" are forbidden\n4. **Other is always available** — user's free text may be the most valuable answer\n\n### AskUserQuestion Format\n\n```json\n{\n  \"question\": \"你做什么 + 给谁交付？\",\n  \"header\": \"工作形态\",\n  \"multiSelect\": false,\n  \"options\": [\n    {\"label\": \"文字内容创作\", \"description\": \"公众号/Newsletter/视频\"},\n    {\"label\": \"软件产品\", \"description\": \"Indie Hacker/SaaS\"},\n    {\"label\": \"知识服务\", \"description\": \"顾问/教练/培训\"},\n  ]\n}\n```\n\n### After-Choice Follow-up\n\n| User picks | Follow-up |\n|-----------|-----------|\n| ①②③ (strong options) | Why × 1 (B2): \"为什么选这个？上次是这样吗？\" |\n| Other (free text) | Bias check (B3) — free text may be highest value but also most biased |\n\n---\n\n## B6: Creative Option Probe — Distinguish Reaction from Commitment\n\nWhen a user picks an unusual or creative option:\n\n**Ask**: \"你是真的想要这个，还是觉得有趣？\"\n\n**Why**: Users often pick creative options because they're novel, not because they reflect real needs. Distinguishing \"reaction\" (interesting!) from \"commitment\" (I actually need this) prevents building the wrong Skill.\n\n---\n\n## Recursive Search Pattern\n\nSearch depth increases with each interview round:\n\n### Round 1: Broad Discovery\n\n**Purpose**: Identify the key dimensions of the domain.\n\n**Search queries**:\n- `\"<domain> best practices <year>\"`\n- `\"<domain> 核心维度 方法\"`\n\n**Extract**: Key dimensions, common approaches, industry standards.\n\n**Feed into**: Round 2 question design — use discovered dimensions as option choices.\n\n### Round 2: Directional Deepen\n\n**Purpose**: Go deeper in the specific direction the user indicated.\n\n**Search queries**:\n- `\"<domain> <user's chosen direction> 标准 规范\"`\n- `\"<domain> <specific method> 实践 案例\"`\n\n**Extract**: Specific methods, standards, common pitfalls, professional terminology.\n\n**Feed into**: Round 3 question design — use discovered standards as boundary options.\n\n### Round 3: Precision Standards\n\n**Purpose**: Find concrete output formats and quality standards.\n\n**Search queries**:\n- `\"<domain> <output type> template format\"`\n- `\"<domain> 质量标准 checklist\"`\n\n**Extract**: Concrete templates, quality criteria, professional output formats.\n\n**Feed into**: Round 4 question design — propose specific output formats based on search.\n\n### Round 4: Verification (only if needed)\n\n**Purpose**: Confirm specific details that are still unclear.\n\n**Search queries**: Targeted, specific queries based on remaining gaps.\n\n### Search Rules\n\n- **Max 2 searches per round** — this is enrichment, not research\n- **Extract ONLY actionable insights** — dimensions, methods, standards, templates\n- **Never dump raw search results** into the Skill\n- **Feed results into question design**, not directly into Skill content\n- **If domain is well-known** (e.g., \"JSON formatting\"), skip search — use AI expertise\n\n---\n\n## Convergence Check\n\nAfter each round, update the 5-element checklist:\n\n| # | Element | Clear? | Source |\n|---|---------|--------|--------|\n| 1 | Single scenario | Y/N | Which round/answer clarified it |\n| 2 | Trigger condition | Y/N | Which round/answer clarified it |\n| 3 | Output format | Y/N | Which round/answer clarified it |\n| 4 | Scope boundary | Y/N | Which round/answer clarified it |\n| 5 | Hard constraints | Y/N | Which round/answer clarified it |\n\n**Decision**:\n- ≥4 elements clear → Can proceed to Phase 1\n- <4 elements clear → Continue to next round\n- Round 5 reached → Force proceed with AI-inferred completions for missing elements\n\n**Never** skip the convergence check. **Never** proceed to Phase 1 with <3 elements clear without explicit user confirmation.\n\n---\n\n## Game Complexity Arc\n\nQuestion ordering follows a natural difficulty curve:\n\n1. **Warm-up** (R1): Factual, low cognitive load — \"what do you do?\"\n2. **Medium** (R2): Task recall — \"tell me about the last time...\"\n3. **Complex** (R3-R4): Emotional/failure/ideal state — \"what must NEVER happen?\" / \"what does 'done right' look like?\"\n4. **Closing** (R4-R5): Open synthesis — \"anything else I should know?\"\n\nThis arc puts users at ease before asking harder questions, yielding more honest and detailed answers.\n\nFile v6.4.0:references/meeting-action-extractor-example.md\n\n# Meeting Action Extractor — 完整示例\n\n以下是按 skill-creator v3.1 方法论创建的完整 Skill 示例，展示 4 模块、实习生测试规则、固定输出格式和边界情况覆盖。\n\n---\n\n```markdown\n---\nname: \"meeting-action-extractor\"\ndescription: \"Extracts action items, decisions, and pending questions from meeting transcripts. Invoke when user sends meeting notes, transcript, or asks to extract action items from a meeting.\"\n---\n\n# Meeting Action Extractor\n\n## 任务\n只从会议内容中提取行动项、核心决策和待澄清问题。不做全文总结、不写会议纪要，只聚焦可落地事项。\n\n## 输出格式\n### 一、行动项清单\n每条格式：【负责人】动词开头具体任务 ｜ 截止：时间 ｜ 优先级：高/中/低\n无负责人标【待定】，无时间标【未定】\n\n### 二、核心决策\n2-4条会议内全员达成的确定结论，不收录模糊讨论\n\n### 三、待澄清问题\n职责不清、方案未定的问题，无则省略本模块\n\n## 规则\n1. 仅提取会议明确提及的任务，不主观臆造、不额外推断\n2. 负责人未提及或模糊，统一标注【待定】\n3. 未明确截止时间的任务，统一标注【未定】\n4. 所有行动项必须以动词开头，保证指令可执行\n5. 行动项、决策、待澄清问题严格区分，不混淆不重复\n\n## 示例\n**输入**：\n今天开了个Q2规划会。产品说要在4月底前把新版本用户引导流程做完，小王负责。设计说最近太忙，封面图可能要排到下周。讨论了要不要接入新支付渠道，大家觉得有必要，但谁来调研还没定。技术说服务器费用超预算了，下周要开专项会讨论。\n\n**输出**：\n### 一、行动项清单\n【小王】完成新版用户引导流程优化 ｜ 截止：4月底 ｜ 优先级：高\n【设计团队】启动新版封面图设计 ｜ 截止：下周 ｜ 优先级：中\n【待定】调研新支付渠道接入方案 ｜ 截止：未定 ｜ 优先级：中\n【待定】召开服务器费用复盘专项会议 ｜ 截止：下周 ｜ 优先级：高\n\n### 二、核心决策\n1. 确定接入新支付渠道，后续补充负责人\n2. 服务器超预算问题下周开展专项复盘\n\n### 三、待澄清问题\n1. 新支付渠道调研无明确负责人\n2. 服务器专项会议无具体时间和参会人安排\n```\n\nFile v6.4.0:references/pre-gate-and-routing.md\n\n# Pre-Gate & Entry Routing Reference\r\n\r\nComplete methodology for Phase -1 (pre-gate) and Phase 0 entry routing in skill-forge v5.0.\r\n\r\n**When to read**: When entering Phase -1 (pre-gate check) or Phase 0 (entry routing). Read this file in full before starting.\r\n\r\n---\r\n\r\n## Part 1: Pre-Gate (前置闸门)\r\n\r\n**Purpose**: Before investing time in interview + creation, judge whether this idea is worth making into a Skill at all.\r\n\r\n### Three Checks\r\n\r\n| Check | Question | Pass | Fail (劝退) |\r\n|-------|----------|------|-------------|\r\n| **Worth doing?** | 最近一周做了3次以上？做法基本固定？输出格式可预期？ | ≥2个Yes → proceed | 一次性任务 → \"直接问AI更快，不用做Skill\" |\r\n| **Already exists?** | SkillHub上有没有现成的高质量同类？ | 没有 or 有但有明显差距 → proceed | 有且很好 → \"建议直接安装: `skillhub install <slug>`\" |\r\n| **Too big?** | 这个想法是不是其实是好几个Skill？ | 单一场景 → proceed | 多场景 → \"这其实是N个Skill，建议拆开。先做哪个？\" |\r\n\r\n###劝退原则\r\n\r\n一个会劝你别做的 Skill creator，因为它知道 AI 的边界在哪里。\r\n\r\n- 你这事要是只干一次 → 直接问AI更快\r\n- Claude张口就能办 → 不值得做成Skill\r\n- 更该做成别的形态（脚本/模板/配置）→ 建议替代方案\r\n- 想法太大（\"帮我做所有的数据分析\"）→ 提示拆分，先聚焦一个\r\n\r\n**省得你忙活半天，做出个没人用的摆设。**\r\n\r\n---\r\n\r\n## Part 2: Five Entry Routes (五类入口路由)\r\n\r\nAfter pre-gate passes, detect which entry route the user is coming from:\r\n\r\n| Route | Signal | Strategy |\r\n|-------|--------|----------|\r\n| **R1: 从零想法** | \"我想做个帮我做X的skill\" | 进入自适应访谈（Phase 0.2） |\r\n| **R2: 从对话提取** | \"把刚才对话变成skill\" / \"把咱们刚才做的存成skill\" | 扫描上下文对话→提取步骤/工具/纠正→生成四要素草稿→确认门 |\r\n| **R3: 从现成材料** | 用户给文档/SOP/流程规范 | 分析材料→反推四要素→补缺→确认门 |\r\n| **R4: 从草稿完善** | 用户给半成品SKILL.md | 检查缺失模块→补全→验证 |\r\n| **R5: 改进已有skill** | \"我的skill不触发\" / \"跑偏了\" / \"太啰嗦\" | 进入诊断模式（Part 3） |\r\n\r\n### Route Detection\r\n\r\nScan user's first message for signals:\r\n\r\n- Contains \"做个skill\" + no context → R1\r\n- Contains \"刚才/刚刚/存成/变成\" → R2\r\n- Contains attachment / \"照这个文档\" / \"这是我们的SOP\" → R3\r\n- Contains existing SKILL.md content / \"帮我补全\" → R4\r\n- Contains \"不触发/不工作/跑偏/太啰嗦/改进\" → R5\r\n- Ambiguous → Ask: \"你是从头开始做，还是有现成的材料或对话想固化？\" (3 options + Other)\r\n\r\n### R2: Dialog Extraction Method\r\n\r\nWhen user says \"把刚才对话变成skill\":\r\n\r\n1. Scan all conversation context\r\n2. Extract: steps taken, tools used, user corrections, output format\r\n3. Generate draft four-elements:\r\n   - 做什么: based on what was actually done\r\n   - 何时触发: based on what user said to start\r\n   - 输入输出: based on actual input/output\r\n   - 边界: based on what user rejected or corrected\r\n4. Present summary → 确认门 → **Step 0.4 同类预检**（不可跳过）\r\n\r\n### R3: Material Analysis Method\r\n\r\nWhen user provides a document/SOP:\r\n\r\n1. Read the material thoroughly\r\n2. Extract four-elements by reverse-engineering:\r\n   - 做什么: what does this material guide?\r\n   - 何时触发: when would someone need this?\r\n   - 输入输出: what goes in, what comes out?\r\n   - 边界: what's explicitly excluded?\r\n3. Fill gaps with targeted questions (max 3)\r\n4. Present summary → 确认门 → **Step 0.4 同类预检**（不可跳过）\r\n\r\n### R4: Draft Completion Method\r\n\r\nWhen user has a half-finished SKILL.md:\r\n\r\n1. Check which modules are present: name? description? 任务? 输出格式? 规则? 示例?\r\n2. **反推四要素**：从半成品草稿反推 做什么/何时触发/输入输出/边界（即使用户带着成熟草稿，也必须收敛递归转写为 plan）\r\n3. Present summary → 确认门 → **Step 0.4 同类预检**（不可跳过，避免重复造轮子）\r\n4. 同类预检通过后（无更好同类 or 有差距需新建），补全缺失模块\r\n5. Run full validation (Step 4)\r\n\r\n> **关键约束**：R4 入口即使用户给的是完整草稿，也不能直接跳到 Step 4 验证。必须先走\"反推四要素 → 确认门 → 同类预检\"流程，确保 SkillHub 同类搜索比对不被遗漏。\r\n\r\n---\r\n\r\n## Part 3: Skill Improvement Diagnosis (改进诊断)\r\n\r\nWhen user says \"my skill doesn't work / runs off / too verbose\":\r\n\r\n### Diagnosis Script: Symptom → Check Point → Action\r\n\r\n| Symptom | Check Point | Action |\r\n|---------|------------|--------|\r\n| **不被触发** | description里有没有触发关键词？关键词在前200字符吗？ | 重写description，关键词前置 |\r\n| **触发太频繁** | description太宽泛？Do NOT范围太窄？ | 收窄description，扩大Do NOT |\r\n| **输出跑偏** | 任务定义模糊？输出格式不具体？ | 锁定任务边界，固定输出格式 |\r\n| **输出太啰嗦** | 规则太多？示例太长？ | 精简到3-5条规则，示例只保留1组 |\r\n| **边界情况崩** | 示例没覆盖边界？规则有漏洞？ | 补充边界示例，修复规则漏洞 |\r\n| **格式不一致** | 输出格式字段模糊？ | 每个字段固定具体格式 |\r\n| **安全风险** | 有curl/wget/凭证读取？ | 立即移除，走安全红线检查 |\r\n\r\n### Improvement Flow\r\n\r\n```\r\n用户描述症状\r\n  ↓\r\n诊断脚本匹配症状 → 检查点 → 动作\r\n  ↓\r\n执行修复\r\n  ↓\r\n触发测试验证（5条真实用户说法）\r\n  ↓\r\n确认修复有效 → 迭代或交付\r\n```\r\n\r\n### Level-Adaptive Diagnosis\r\n\r\n- 小白：直接告诉用户哪里有问题、怎么改，用户只需确认\r\n- 老手：指出问题点和优化方向，让用户自己决定改不改\n\nFile v6.4.0:references/references/authoring-principles.md\n\n# Skill 撰写原则\n\n**同步源**: 本文件与 `skill-auditor/references/skill-authoring-guide.md` 同源，版本同步。\n**版本**: v1.0.0（2026-07-16 首次从 skill-authoring-guide.md 反哺）\n**When to read**: 创建 Skill 前必读，作为\"声明-行为一致性\"的硬门控。\n\n> 本文件以**创建视角**组织：撰写前 → 撰写中 → 撰写后。源文件 `skill-authoring-guide.md` 是审计视角（发现问题时指向指南），本文件是动手前主动遵循。\n\n---\n\n## 一、撰写前：5 大原则（创建期必须遵循）\n\n业界主流 Skill 平台的审核哲学围绕\"coherence（一致性）\"展开——不是禁止强大能力，而是要求**声明与行为对齐、权限与目的匹配、用户知情可控**。\n\n### 原则 1：声明-行为一致性（Coherence）\n\n`name` / `description` / `metadata` / 实际行为四者必须对齐，不能\"挂羊头卖狗肉\"。\n\n**可执行建议**：\n- `name` 用动词或动名词（如 `skill-auditor`、`wx-peitu`），不用模糊名词（如 `tool`、`helper`）\n- `description` 的\"做什么\"段必须与 SKILL.md 正文 `## 任务` 段一致；若 description 说\"8 维度审计\"，正文任务段不能写\"6 维度检查\"\n- `metadata.openclaw.requires.*` 声明的环境变量，必须在代码中实际使用；代码用了的环境变量，必须声明\n- `allowed-tools` 列出的工具，每个都要在 SKILL.md 流程中能找到调用点\n\n**自检方法**：写完后让另一个人（或 AI）只读 frontmatter，预测 Skill 会做什么；再读 SKILL.md 正文，对比预测与实际是否一致。差异处就是不一致点。\n\n### 原则 2：权力比例适当（Proportionality）\n\n强大行为本身不是问题，但必须**已披露 + 目的对齐 + 比例适当**。\n\n**可执行建议**：\n- 行为越强 → 文档越详细：只读分析可以一句话带过；自动推送外部平台必须有专门\"用户须知\"段\n- 副作用强度必须匹配用户预期：用户说\"格式转换\"预期是改本地文件；用户说\"发布\"预期是推外部；不要让\"转换\"悄悄发布\n- 不可逆操作（删除、覆盖、推送）必须前置确认或可配置关闭\n\n**判定公式**：`行为强度 ≤ 用户预期 + 披露程度`。任一项失衡就需要重新设计。\n\n### 原则 3：最小权限（Least Privilege）\n\n`allowed-tools` 和 `metadata.openclaw.requires` 只声明 Skill 实际需要的权限，不\"以防万一\"地多列。\n\n**可执行建议**：\n- 只读分析类 Skill：`allowed-tools: \"Read, Glob, Grep, LS\"`，不含 Write/Edit\n- 需要修改文件的 Skill：加上 `Edit, Write`，但必须在 SKILL.md 说明\"何时会修改、修改哪些文件\"\n- 需要网络的 Skill：声明 `WebFetch` 或对应 CLI 工具的 `requires.bins`，并说明\"访问哪些域名、做什么\"\n- 永远不要加 `Bash` 这种通配权限，列出具体工具名\n\n**反例**：一个只读分析 Skill 写 `allowed-tools: \"Read, Write, Edit, Bash, WebFetch\"`——多出的 Write/Edit/Bash 都是隐患。\n\n### 原则 4：渐进式披露（Progressive Disclosure）\n\nSKILL.md 是导航地图，不是百科全书。核心流程放正文，详细规则、模板、示例下沉到 `references/`。\n\n**可执行建议**：\n- SKILL.md ≤ 200 行（硬上限 300 行）\n- SKILL.md 必含 4 模块：`## 何时触发` / `## 任务` / `## 输出格式` / `## 规则`（外加 `## 示例`）\n- 详细检查项、模板、扫描模式、对比方法论 → `references/*.md`\n- 长示例、配置样例、数据字典 → `references/examples.md` 或独立文件\n- 脚本代码 → `scripts/`，不在 SKILL.md 内联超过 20 行\n\n**判定标准**：SKILL.md 应该能 5 分钟读完，让读者知道\"这个 Skill 做什么、何时触发、输出什么、有哪些规则\"。\n\n### 原则 5：用户知情（User Awareness）\n\n有副作用的 Skill（自动推送、定时执行、写入外部服务、读取本地敏感数据）必须在 README 含用户警告，中英文同步。\n\n**可执行建议**：\n- README 顶部加\"用户须知\"或\"⚠️ 注意\"段，列出所有副作用\n- 每个副作用配关闭方式：`定时执行可通过设置 X=false 关闭` / `推送外部平台需在确认点明确授权`\n- 副作用涉及外部服务时，列出目标域名和操作类型（POST/上传/删除）\n- README.md 与 README.en.md 内容必须同步，警告段不能只写中文\n\n**最低标准**：用户读完 README 后，应该清楚知道\"这个 Skill 会动什么、不会动什么、出问题怎么关\"。\n\n---\n\n## 二、撰写中：frontmatter 规范（三平台兼容）\n\n### 必填字段表\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `name` | string | ✅ | kebab-case，全小写+连字符，与目录名一致 |\n| `description` | string | ✅ | ≤200 字符，含三要素（见第三部分） |\n| `version` | semver | ✅ | `MAJOR.MINOR.PATCH`，与 CHANGELOG 最新一致 |\n| `license` | SPDX | ✅ | 默认 `MIT` 或 `MIT-0`，不要加冲突 license |\n| `allowed-tools` | string | ✅ | 实际使用的工具白名单（原则 3） |\n| `metadata.openclaw` | object | 推荐 | 平台元数据（见下表） |\n\n### 完整 frontmatter 示例（含 metadata.openclaw）\n\n```yaml\n---\nname: \"skill-auditor\"\nslug: \"skill-auditor-ai\"\ndisplayName: \"Skill Auditor\"\ndescription: \"对已存在 Skill 做 8 维度全面体检（结构/安全/触发/有效性/竞争/平台/文档/代码质量）。说 技能审计/审计技能/技能体检 时触发。支持成熟度分级+4确认点+整改+回归审计。绝不自动发布。Do NOT use for creating skills or publishing to platforms.\"\nversion: \"1.2.1\"\nlicense: \"MIT\"\nsummary: \"对已存在 Skill 做 8 维度全面体检，支持三级成熟度分级+4确认点+整改模式+回归审计。绝不自动发布。\"\nallowed-tools: \"Read, Write, Edit, Glob, Grep, LS, WebFetch, AskUserQuestion\"\nmetadata:\n  openclaw:\n    skillKey: \"skill-auditor\"\n    emoji: \"🔍\"\n    homepage: \"https://github.com/owner/skill-auditor\"\n    os: [\"windows\", \"macos\", \"linux\"]\n    requires:\n      bins: [\"python\"]\n      env: []\n    primaryEnv: \"\"\n    envVars: []\n    always: false\n---\n```\n\n### 三平台字段对照\n\n| 字段 | ClawHub | SkillHub | 其他平台 |\n|------|---------|----------|---------|\n| `name` | ✅ 必填 | ✅ 必填 | ✅ 必填 |\n| `description` | ✅ 必填 | ✅ 必填 | ✅ 必填 |\n| `slug` | — | ✅ 必填（通常 `-ai` 后缀） | — |\n| `displayName` | — | ✅ 必填 | — |\n| `version` | 推荐 | ✅ 必填 | ✅ 必填 |\n| `summary` | — | ✅ 必填 | — |\n| `license` | 推荐 | ✅ 必填 | ✅ 必填 |\n| `allowed-tools` | 推荐 | — | ✅ 必填 |\n| `metadata.openclaw.*` | 推荐 | — | 推荐 |\n\n**兼容策略**：把所有平台的必填字段都填上，多平台共享同一份 frontmatter。字段冲突时（如 `slug` 在 ClawHub 无意义），多余字段会被忽略，不会报错。\n\n### metadata.openclaw 子字段速查\n\n| 子字段 | 作用 | 示例 |\n|--------|------|------|\n| `requires.env` | 必需环境变量数组（缺一不可） | `[\"FEISHU_APP_ID\", \"FEISHU_APP_SECRET\"]` |\n| `requires.bins` | 必需 CLI 工具数组（缺一不可） | `[\"lark-cli\", \"python\"]` |\n| `requires.anyBins` | 任一可用即可 | `[\"python\", \"python3\"]` |\n| `requires.config` | 必需配置文件 | `[\"references/config.json\"]` |\n| `primaryEnv` | 主环境变量名（用于提示用户配置） | `\"FEISHU_APP_ID\"` |\n| `envVars` | 可选环境变量列表（仅文档化，不强制） | `[\"VERBOSE_LOG\"]` |\n| `always` | 是否总是加载（默认 false） | `false` |\n| `skillKey` | Skill 内部唯一键 | `\"skill-auditor\"` |\n| `emoji` | 展示图标 | `\"🔍\"` |\n| `homepage` | 项目主页 URL | `\"https://github.com/...\"` |\n| `os` | 支持的操作系统数组 | `[\"windows\", \"macos\", \"linux\"]` |\n\n---\n\n## 三、撰写中：description 三要素公式\n\n### 公式\n\n```\ndescription = 做什么 + 何时触发 + Do NOT 范围\n```\n\n- **做什么**：一句话说清核心功能，动词开头\n- **何时触发**：列出 2-4 个核心触发词（中文 + 英文关键术语）\n- **Do NOT 范围**：用 `Do NOT use for ...` 列出容易混淆的相邻场景\n\n### 字符限制\n\n- 总长度 ≤ 200 字符（核心触发词必须在前 200 字符内）\n- 超过 200 字符会被部分平台截断，触发词后置会失效\n- 硬上限 250 字符，超过则审计标 Important\n\n### 行为范围声明（MCP Tool Poisoning 防护）\n\n如果 Skill 实际包含以下任一行为，**description 必须披露**（或在 SKILL.md \"权限声明\"段披露并由 description 指向）：\n\n| 行为 | 披露要求 | 示例措辞 |\n|------|---------|---------|\n| 读取本地文件 | 必须披露 | \"读取被审计 Skill 目录的文件\" |\n| 网络请求（urllib/CLI） | 必须披露 | \"可选网络访问：WebFetch 调用 X API\" |\n| subprocess 调用 | 必须披露 | \"通过 subprocess 调用 lark-cli\" |\n| 写入外部服务（POST/上传） | 必须披露 | \"上传生成的文件到飞书云空间\" |\n| 修改本地文件 | 必须披露 | \"整改模式（用户授权后）：Edit 修改被审计 Skill 文件\" |\n\n### 好例子 vs 坏例子\n\n**✅ 好**（只读分析类）：\n```\n对已存在 Skill 做 8 维度全面体检（结构/安全/触发/有效性/竞争/平台/文档/代码质量）。说 技能审计/审计技能/技能体检 时触发。支持成熟度分级+4确认点+整改+回归审计。绝不自动发布。Do NOT use for creating skills or publishing to platforms.\n```\n- 三要素齐全 + 行为范围反向披露（\"绝不自动发布\"）\n\n**❌ 坏 1**（只说功能不说行为）：\n```\n公众号排版工具，让文章更美观。\n```\n- 缺触发词、缺 Do NOT、未披露会调 API 推送 → 触发 MCP Tool Poisoning\n\n**❌ 坏 2**（行为范围缺失）：\n```\n自动发布技能到三平台。说 技能发布 时触发。\n```\n- \"自动发布\"未说明会推送到哪些外部平台、是否需授权、是否可撤销 → Missing User Warnings\n\n---\n\n## 四、撰写后：Lethal Trifecta 自检（创建期红线）\n\n业界安全框架识别出\"致命三角\"——三者同时满足时，Skill 设计存在系统性风险，需要重新设计：\n\n| 要素 | 说明 | 自检问题 |\n|------|------|---------|\n| 1. 访问私有数据 | 读取本地敏感文件（memory/profile/credentials/config/ssh） | \"我的 Skill 是否读取用户私人数据？\" |\n| 2. 暴露不可信内容 | 输出会被 LLM 作为上下文消费（MD/JSON/日志/对话回复） | \"输出文件是否会被 AI 读取作为后续指令？\" |\n| 3. 对外通信 | 能向外部服务发送数据（API POST/文件上传/subprocess 网络调用） | \"Skill 能否把数据发到外部？\" |\n\n**判定规则**：\n- 三者同时满足 = **重新设计**：要么去掉私有数据访问，要么去掉对外通信，要么确保输出不被 LLM 消费\n- 满足两项 = **需要缓解措施**：见下方分级清单\n- 满足一项或零项 = **低风险**，常规规范即可\n\n### 权力分级与安全措施\n\n**Low 级别（只读分析）**：\n- [ ] `allowed-tools` 不含 Write/Edit/Bash\n- [ ] 不读取 `~/.ssh` / `~/.aws` / `.env` / `config.local.json`\n- [ ] 输出报告中不打印凭证值（只打印凭证存在性）\n\n**Medium 级别（修改本地文件）**：\n- [ ] Low 级别的全部措施\n- [ ] 修改前需用户在确认点明确授权\n- [ ] 每次修改标注 `file:line`，可追溯\n- [ ] 不覆盖未注释的代码（删除即删除，不留\"参考\"）\n- [ ] subprocess 调用的命令在 SKILL.md 列明\n\n**High 级别（推送外部平台/网络外发）**：\n- [ ] Medium 级别的全部措施\n- [ ] README 含\"用户须知\"段，列出所有外部目标和操作类型\n- [ ] 每次外部操作前需用户在确认点明确授权（模糊回答要追问）\n- [ ] 凭证从环境变量读取，绝不硬编码\n- [ ] 提供\"不推送只本地\"的降级模式\n- [ ] Lethal Trifecta 自检通过（不能三项全占）\n\n---\n\n## 五、撰写后：6 大反模式（创建期主动规避）\n\n以下反模式提炼自 SkillSpector 实际审计 findings，撰写时应主动规避。\n\n### 反模式 1：description 只说功能不说行为范围\n\n**表现**：description 写\"X 工具，让 Y 更高效\"，但实际代码读取本地文件、调用网络 API、subprocess 执行外部命令——description 完全不披露。\n\n**后果**：触发 MCP Tool Poisoning 标记，平台审核拒绝发布。\n\n**修复**：在 description 或 SKILL.md \"权限声明\"段列出全部行为，参见第三部分的行为范围声明表。\n\n### 反模式 2：有副作用但 README 无警告\n\n**表现**：Skill 会自动推送外部平台或定时执行，README 只写\"功能介绍\"和\"使用方法\"，没有\"用户须知\"段告知副作用和关闭方式。\n\n**后果**：触发 Missing User Warnings，用户无法知情控制。\n\n**修复**：README 顶部加\"⚠️ 注意\"段，每个副作用配关闭方式，中英文同步。\n\n### 反模式 3：allowed-tools 含 curl 但不声明\n\n**表现**：`allowed-tools` 写了 `Bash` 或代码里用 `subprocess` 调 `curl`，但 frontmatter 和 SKILL.md 都没声明网络权限。\n\n**后果**：触发 MCP Least Privilege 标记，权限与声明不匹配。\n\n**修复**：声明 `requires.bins: [\"curl\"]` 或具体 CLI 工具；在 SKILL.md \"权限声明\"段说明\"访问哪些域名、做什么\"。\n\n### 反模式 4：嫁接痕迹（\"继承自 XX 技能\"）\n\n**表现**：SKILL.md / README / CHANGELOG 中出现\"继承自 skill-yyy\"、\"based on skill-zzz\"、\"forked from\"、\"与 skill-www 的分工\"等措辞。\n\n**后果**：触发 D-O1/O3/O4 嫁接痕迹检查，标 Important；降低原创度评分。\n\n**修复**：用场景描述替代具体技能名。例如：\n- ❌ \"继承自 skill-creator，负责审计\" → ✅ \"定义 8 维度审计方法论\"\n- ❌ \"与 skill-publisher 的分工\" → ✅ \"提供发布建议，由用户手动执行\"\n\n### 反模式 5：YARA 触发词字面量\n\n**表现**：文档或代码中出现 shell history 清理命令、PowerShell 错误忽略参数、递归强制删除组合、权限放宽命令、输出重定向到空设备等字面量——即使是在\"不要使用 XXX\"的说明中也会触发匹配。\n\n**后果**：触发 YARA 规则 `agent_skill_destructive_autonomous_actions`，标 Critical，平台拒绝发布。\n\n**修复**：用类别描述替代字面量。例如：\n- ❌ 写出具体 shell history 清理命令 → ✅ \"shell history 清理命令类别\"\n- ❌ 写出具体权限放宽命令 → ✅ \"全权限设置命令\"\n- CHANGELOG 历史记录中含字面量也要重新措辞\n\n### 反模式 6：声明-行为不一致\n\n**表现**：\n- D-M1：frontmatter 没声明 `requires.env`，但代码用了环境变量\n- D-M2：frontmatter 没声明 `requires.bins`，但代码 subprocess 调用了 CLI 工具\n- D-M3：`allowed-tools` 列了某工具，但 SKILL.md 流程中找不到调用点\n\n**后果**：触发 Description-Behavior Mismatch，标 Important；用户安装后无法正常运行。\n\n**修复**：\n- 代码用了什么 env/bins，frontmatter 就声明什么\n- `allowed-tools` 每个工具都要在 SKILL.md 流程中找到调用点\n- 写完后做一次\"声明-行为对账\"：列出 frontmatter 声明的所有项，逐项在代码中找证据\n\n---\n\n## 六、撰写后：发布前自检清单（10 项硬门控）\n\n发布前必须逐项打勾，全部通过才能进入发布流程。\n\n- [ ] **1. frontmatter 必填字段齐全**：name / description / version / license 都存在；name 符合 kebab-case；version 是合法 semver\n- [ ] **2. description ≤200 字符 + 含 Do NOT + 含行为范围声明**：长度 ≤200（核心触发词在前 200 字符内）；含 \"Do NOT use for ...\" 段；含行为范围声明（如有读取本地/网络/subprocess/外部写入）\n- [ ] **3. SKILL.md ≤200 行 + 4 模块齐全**：行数 ≤200（硬上限 300）；含 ## 何时触发 / ## 任务 / ## 输出格式 / ## 规则；详细内容下沉 references/\n- [ ] **4. allowed-tools 不含无关权限**：每个工具都能在 SKILL.md 找到调用点；不含 Bash 等通配权限；只读 Skill 不含 Write/Edit\n- [ ] **5. README 中英文同步 + 含用户警告（如有副作用）**：README.md 与 README.en.md 内容同步；有副作用的 Skill 含\"⚠️ 注意\"段；每个副作用配关闭方式\n- [ ] **6. metadata.openclaw.requires 声明所有 env/bins**：代码用的环境变量都在 requires.env；subprocess 调用的 CLI 都在 requires.bins；D-M1/M2 自检通过\n- [ ] **7. 无凭证硬编码 / 无本地路径 / 无 YARA 触发词**：Grep 凭证模式（token/api_key/secret/sk-/ghp_/cli_ 等）零真实值；Grep 本地路径模式（C:\\\\/D:\\\\/Users/Administrator/.trae-cn）零匹配；Grep YARA 5 类字面量零匹配（含 CHANGELOG）\n- [ ] **8. Lethal Trifecta 自检通过**：访问私有数据 + 暴露不可信内容 + 对外通信 三者不同时满足；High 级别 Skill 有完整缓解措施\n- [ ] **9. CHANGELOG 版本号 = frontmatter version**：CHANGELOG.md 最新条目版本号与 frontmatter version 一致；最新条目有日期和变更说明\n- [ ] **10. plugin.json 与 frontmatter 一致**：.claude-plugin/plugin.json 的 name/version/description 与 frontmatter 一致；无冲突字段\n\n---\n\n## 七、平台规范要点\n\n### License\n\n- 默认使用 `MIT` 或 `MIT-0`（更宽松）\n- 不要加与 MIT 冲突的 license（如 GPL、AGPL）——会导致平台拒绝收录\n- LICENSE 文件放在 Skill 根目录\n\n### 文件大小与类型\n\n- 总 bundle 大小 ≤ 50MB（含所有文件）\n- 文本文件扩展名白名单：`.md` / `.json` / `.yaml` / `.yml` / `.txt` / `.py` / `.js` / `.ts` / `.ps1` / `.sh` / `.html` / `.css`\n- 二进制文件（图片、视频、可执行文件）尽量避免；必须包含时单独说明用途\n\n### .gitignore 必须排除\n\n```gitignore\n# Python 缓存\n__pycache__/\n*.pyc\n*.pyo\n\n# 平台自动生成\n.clawhub/\n\n# 本地凭证\nconfig.local.json\nconfig.local.*.json\n.env\n.env.local\n\n# 临时脚本\n_*.py\n_*.ps1\n_*.sh\n\n# 日志\n*.log\n\n# 维护者发布脚本（可选）\npublish_*.ps1\npublish_*.sh\n```\n\n**关键**：`.clawhub/` 目录由平台自动生成，**禁止手动创建或提交**；`config.local.json` 是本地凭证文件，**绝对不能提交**。\n\n### 平台自动生成文件（禁止发布）\n\n以下文件由平台自动生成，**禁止手动创建或提交到仓库**：\n\n| 文件/目录 | 生成方 | 用途 |\n|-----------|--------|------|\n| `skill-card.md` | ClawHub | Skill 展示卡片 |\n| `.clawhub/` | ClawHub | 平台元数据缓存 |\n| `.skillhub-cache/` | SkillHub | 平台缓存 |\n\n**自检**：发布前 LS 仓库根目录，确认以上文件都不存在。如果存在，删除后重新提交。\n\n---\n\n## 附录：撰写流程速查\n\n```\n撰写前：\n  1. 读 5 大原则（本文件 §一）\n  2. 锁定 Skill 单一职责（原则 1+2）\n  3. 评估权力级别（Low/Medium/High）—— 决定后续安全措施强度\n\n撰写中：\n  4. 写 frontmatter（本文件 §二）—— 三平台字段都填\n  5. 写 description（本文件 §三）—— 三要素 + 行为范围声明\n  6. 写 SKILL.md 4 模块 —— ≤200 行（原则 4）\n  7. 有副作用 → 写 README \"⚠️ 注意\"段（原则 5）\n\n撰写后：\n  8. Lethal Trifecta 自检（本文件 §四）\n  9. 6 大反模式扫一遍（本文件 §五）\n  10. 10 项发布前自检清单（本文件 §六）\n  11. 平台规范检查（本文件 §七）\n```\n\nFile v6.4.0:references/references/benchmarking-guide.md\n\n# Quality Self-Assessment & Differentiation Guide\n\nComplete methodology for Phase 2 quality self-assessment in skill-forge v5.1.\n\n> **v5.1 架构变更**：同类搜索已前移到 Step 0.4（创建前）。Phase 2 现在聚焦于创建后的质量自评和差异化验证。\n\n**When to read**: When entering Phase 2 (after Phase 1 creation + self-validation completes), or when triggered by \"技能评估\" entry. Read this file in full before starting assessment.\n\n---\n\n## Step 5a: 腾讯9维度自评\n\nEvaluate the created Skill on these **9 Tencent Skills Manual dimensions**:\n\n| # | Tencent Principle | What to check |\n|---|-------------------|---------------|\n| 1 | **Description: trigger precision** | Does description clearly state WHEN to invoke? |\n| 2 | **Description: keyword frontloading** | Are core trigger keywords in first 200 chars? |\n| 3 | **Description: Do NOT scope** | Does description explicitly state what it's NOT for? |\n| 4 | **One Skill = One Job** | Does it focus on a single scenario with one deliverable? |\n| 5 | **4-module structure** | 任务/输出格式/规则/示例 all present? |\n| 6 | **Output format: concrete** | Every field has fixed format, no vague instructions? |\n| 7 | **Rules: Intern Test** | Every rule is directly actionable, no useless defaults? |\n| 8 | **Example: edge case coverage** | Example covers boundary situations? |\n| 9 | **Size: under 200 lines** | Lean and focused, no bloat? Progressive disclosure (references/scripts/assets)? |\n\n### Self-Assessment Table\n\nFill in self-evaluation scores (1-10) and mark weak dimensions:\n\n| # | Tencent Principle | Score (1-10) | Weak? | Notes |\n|---|-------------------|--------------|-------|-------|\n| 1 | Trigger precision | | | |\n| 2 | Keyword frontloading | | | |\n| 3 | Do NOT scope | | | |\n| 4 | One Job | | | |\n| 5 | 4-module structure | | | |\n| 6 | Output concreteness | | | |\n| 7 | Intern Test rules | | | |\n| 8 | Edge case coverage | | | |\n| 9 | Size control (≤200 lines + progressive disclosure) | | | |\n\n**Any score <7 → mark as weak dimension, must propose fix in Step 5c.**\n\n---\n\n## Step 5b: 差异化验证\n\n### If Step 0.4 found peers (分支b)\n\nVerify that the differentiation advantages identified in Step 0.4 are actually reflected in the created Skill:\n\n```\nStep 0.4 差异点: [具体差异]\n  → Skill中的体现: [在哪个模块/规则/示例中落地]\n  → 验证结果: ✅已落地 / ❌未落地\n\nStep 0.4 差异点: [具体差异]\n  → Skill中的体现: [在哪个模块/规则/示例中落地]\n  → 验证结果: ✅已落地 / ❌未落地\n```\n\n**未落地的差异点 → 补充到Step 5c修复方案。**\n\n### If Step 0.4 found no peers (分支c)\n\nSkip differentiation verification. Proceed directly to Step 5c blind spot check.\n\n---\n\n## Step 5c: 盲区修复\n\n### For weak dimensions (Step 5a score <7)\n\nList specific improvements with Tencent Manual justification:\n\n```\n弱项1: [维度#N - 具体问题]（评分: X/10）\n  → 腾讯手册依据: [相关原则]\n  → 修复方案: [具体修复动作]\n  → 预期提升: 修复后评分可达 X/10\n\n弱项2: [维度#N - 具体问题]（评分: X/10）\n  → 腾讯手册依据: [相关原则]\n  → 修复方案: [具体修复动作]\n  → 预期提升: 修复后评分可达 X/10\n```\n\n### For unlanded differentiation (Step 5b ❌)\n\n```\n未落地差异: [差异点]\n  → 补充位置: [哪个模块需要补充]\n  → 补充内容: [具体内容]\n```\n\n---\n\n## Step 5d: 用户决策\n\nPresent assessment results with options:\n\n1. **采纳修复** — Apply all fixes, re-run Step 4 validation\n2. **保持原样** — Ship as-is, acknowledge weak dimensions\n\n**User's decision is final.** AI recommends but never forces.\n\n---\n\n## 独立评估入口（技能评估触发词）\n\nWhen triggered by \"技能评估 / skill评估 / 评估技能\" (not part of full workflow):\n\n1. Ask user for the Skill to evaluate (file path or content)\n2. Run Step 5a self-assessment (9 dimensions)\n3. Run Step 5c blind spot analysis\n4. Present results + improvement suggestions\n5. User decides whether to apply fixes\n\n**Note**: This path does NOT include Step 5b (differentiation verification), because there's no Step 0.4 peer search context.\n\nFile v6.4.0:references/references/composition-and-pipeline.md\n\n# Composition & Pipeline Orchestration (元技能组合与管线编排)\n\nComplete methodology for Step 0.4 meta-skill composition suggestions in skill-forge v5.1.\n\n**When to read**: When Step 0.4 pre-check finds that the user's need can be decomposed into multiple existing Skills, or when a multi-step pipeline is more efficient than creating a new monolithic Skill.\n\n---\n\n## Core Principle\n\n**Before creating a new Skill, check if the need can be met by combining existing high-quality Skills.**\n\nMany \"I want a Skill that does X\" requests are actually multi-step workflows:\n- \"把会议录音转成行动项\" = 音频转文字 + 纪要提取 + 行动项生成\n- \"把网页文章转成公众号排版\" = 网页提取 + 内容增强 + 排版\n- \"把PDF转成知识卡片\" = PDF提取 + 内容归纳 + 卡片生成\n\nIf each step already has a high-quality Skill, composing them is better than building a monolithic new one.\n\n---\n\n## Decomposition Method\n\n### Step 1: Break down the user's need into atomic operations\n\n```\n用户需求: \"把会议录音转成结构化行动项\"\n\n分解:\n  ① 音频 → 文字 (转写)\n  ② 文字 → 会议纪要 (提取要点)\n  ③ 纪要 → 行动项 (提取行动项+负责人+截止)\n```\n\n### Step 2: Search each atomic operation on SkillHub\n\nFor each step, use TRAE built-in tools (Grep/WebSearch) to search SkillHub for matching skills\n\n### Step 3: Evaluate each step's coverage\n\n| Step | SkillHub Top Skill | Quality Score | Coverage |\n|------|-------------------|---------------|----------|\n| ① | audio-to-text-pro | 8.5/10 | 完全覆盖 |\n| ② | meeting-summary-extractor | 7.2/10 | 完全覆盖 |\n| ③ | action-item-generator | 4.1/10 | 质量一般，有差距 |\n\n### Step 4: Composition Decision\n\n| Pattern | Condition | Recommendation |\n|---------|-----------|----------------|\n| **全组合** | 所有步骤都有高质量Skill(≥7) | \"你的需求已有现成Skill组合，建议安装+编排管线，无需新建\" |\n| **部分组合+部分新建** | 部分步骤高质量，部分质量一般或缺失 | \"建议安装已有的N个Skill + 只新建缺失的1个\" |\n| **全新建** | 没有高质量同类 | 直接进入Phase 1创建 |\n| **单步即可** | 需求不需要分解 | 不适用组合，直接创建 |\n\n---\n\n## Pipeline Orchestration Suggestions\n\n### Pattern 1: Sequential Pipeline (顺序管线)\n\n```\nSkill A → Skill B → Skill C\n  输出       输出       最终输出\n```\n\nWhen: 前一步的输出是后一步的输入。\n\nExample:\n```\naudio-to-text → meeting-summary → action-item\n  (音频转文字)    (提取纪要)        (提取行动项)\n```\n\nSuggestion: \"安装这3个Skill，使用时依次调用：先说'转写这段录音'，再说'提取会议纪要'，最后说'提取行动项'\"\n\n### Pattern 2: Branch Pipeline (分支管线)\n\n```\n         ┌→ Skill B (格式A)\nSkill A ─┤\n         └→ Skill C (格式B)\n```\n\nWhen: 同一输入需要多种输出格式。\n\nExample:\n```\npdf-extractor ─┬→ markdown-converter (输出MD)\n               └→ html-converter (输出HTML)\n```\n\n### Pattern 3: Conditional Pipeline (条件管线)\n\n```\nSkill A → [判断条件] → Skill B (条件满足)\n                    → Skill C (条件不满足)\n```\n\nWhen: 根据中间结果选择不同路径。\n\nExample:\n```\ncontent-analyzer → [有无敏感信息?]\n                   ├→ yes → redact-sensitive → publish\n                   └→ no  → publish directly\n```\n\n---\n\n## Composition Recommendation Template\n\nWhen suggesting composition, present:\n\n```\n🔍 同类预检结果\n\n你的需求可以分解为 N 个步骤：\n\n  ① [步骤1描述] → 已有高质量Skill: [名称] (评分: X/10)\n  ② [步骤2描述] → 已有高质量Skill: [名称] (评分: X/10)\n  ③ [步骤3描述] → 质量一般/无同类，建议新建\n\n建议方案：[全组合 / 部分组合+部分新建 / 全新建]\n\n如果选择组合方案：\n  安装命令：clawhub install [slug1] [slug2]\n  使用顺序：先说\"[触发词1]\"，再说\"[触发词2]\"\n\n如果选择新建[步骤3]：\n  你的差异化优势：[具体差异点]\n  我会基于这个差异点创建一个聚焦的新Skill。\n```\n\n---\n\n## When NOT to Suggest Composition\n\n| Situation | Why |\n|-----------|-----|\n| 用户需求是单一原子操作 | 无法分解，直接创建 |\n| 所有步骤的Skill质量都<5 | 组合低质量Skill不如新建一个完整的 |\n| 用户明确要求一体化 | 尊重用户选择 |\n| 步骤间有强耦合状态 | 管线编排无法传递中间状态，需一体化 |\n| 延迟敏感场景 | 多Skill调用比单Skill慢 |\n\n---\n\n## Integration with Phase 0.4\n\n```\n确认门通过\n  ↓\nStep 0.4: SkillHub 同类预检\n  ├─ 搜索完整需求 → 有更好的同类 → 建议安装，结束\n  ├─ 搜索完整需求 → 有但不够好 → 提取差异点 → Phase 1 设计输入\n  ├─ 搜索完整需求 → 无同类 → 直接 Phase 1\n  └─ 分解为原子操作 → 逐个搜索 → 组合分析\n      ├─ 全组合 → 建议安装+管线编排，结束\n      ├─ 部分组合 → 建议安装已有的+新建缺失的\n      └─ 全新建 → 直接 Phase 1\n```\n\nArchive v6.3.0: 10 files, 32241 bytes\n\nFiles: references/authoring-principles.md (19557b), references/benchmarking-guide.md (4214b), references/composition-and-pipeline.md (5181b), references/interview-flow.md (4758b), references/interview-methods.md (7664b), references/meeting-action-extractor-example.md (2371b), references/pre-gate-and-routing.md (6037b), skill-card.md (2736b), SKILL.md (12970b), _meta.json (133b)\n\nFile v6.3.0:SKILL.md\n\n---\r\nname: \"skill-forge\"\r\nslug: \"skill-forge-ai\"\r\ndisplayName: \"Skill Forge 技能熔炉\"\r\ndescription: \"技能熔炉 — 锻造/评估/改进 Skill。说 技能熔炉 走全流程（含R5改进已有skill）；说 技能评估/skill评估/评估技能 只做同类比对+腾讯9维度。可选能力：搜索SkillHub同类技能（通过TRAE内置工具）、修改已有skill文件（仅R5诊断修复路径，需用户确认）。发布环节请用 skill-publisher。Do NOT use for skill security vetting, skill publishing (use skill-publisher), or general coding tasks.\"\r\nversion: \"6.3.0\"\r\nlicense: \"MIT-0\"\r\nsummary: \"锻造 → 评估 → 改进，两入口全流程交付可自动触发、稳定输出的 Skill。v6.3.0 修复 ClawHub SkillSpector 审计 findings（声明-行为一致性+网络访问披露）。发布由 skill-publisher 承接。\"\r\nallowed-tools: \"Read, Write, Edit, Glob, Grep, LS, AskUserQuestion\"\r\nmetadata:\r\n  openclaw:\r\n    skillKey: \"skill-forge\"\r\n    emoji: \"⚒️\"\r\n    homepage: \"https://github.com/EdwardWason/skill-forge\"\r\n    os: [\"windows\", \"macos\", \"linux\"]\r\n    requires:\r\n      bins: []\r\n      env: []\r\n    primaryEnv: \"\"\r\n    envVars: []\r\n    always: false\r\n---\r\n\r\n# 技能熔炉 v6.3.0\r\n\r\n锻造 → 评估，两入口全流程交付可自动触发、稳定输出的 Skill。发布环节由独立的 skill-publisher 技能承接。\r\n\r\n## 入口检测\r\n\r\n| 触发词 | 入口 | 执行流程 |\r\n|--------|------|---------|\r\n| 技能熔炉 | Phase -1 | 前置闸门→入口路由→访谈→确认门→同类预检→创建→验证→评估→发布交接提醒 |\r\n| 技能评估 / skill评估 / 评估技能 | Phase 2 | 只做 SkillHub 同类比对 + 腾讯9维度 |\r\n\r\n**检测到触发词后，立即跳转到对应 Phase，不执行前面的阶段。**\r\n\r\n**发布不在本技能范围内**：当用户说\"技能发布/发布技能/更新技能/迭代技能\"时，应触发 skill-publisher，不是本技能。\r\n\r\n## 撰写原则（5 大原则，必读）\r\n\r\n完整 5 大原则详见 [`references/authoring-principles.md`](references/authoring-principles.md) — 创建 Skill 前必读，作为\"声明-行为一致性\"的硬门控。原三条铁律映射到原则 1/1/4，补充原则 3（最小权限）和原则 5（用户知情）：\r\n\r\n| 原则 | 一句话 | 对应原铁律 |\r\n|------|--------|-----------|\r\n| 1. 声明-行为一致性 | name/description/metadata/行为四者对齐 | 铁律1 Description先行（扩展） |\r\n| 2. 权力比例适当 | 副作用强度 ≤ 用户预期 + 披露程度 | （新增） |\r\n| 3. 最小权限 | allowed-tools 只列实际需要的工具 | （新增） |\r\n| 4. 渐进式披露 | SKILL.md ≤200 行，细节下沉 references/ | 铁律3 渐进式披露 |\r\n| 5. 用户知情 | 有副作用必须 README 警告 + 关闭方式 | （新增） |\r\n\r\n> 原\"铁律2 一Skill一职\"已并入原则 1（声明-行为一致性）：description 必须明确单一职责，多功能 Skill 触发混乱本质是声明-行为不一致。\r\n\r\n## 权限声明\r\n\r\n本技能实际使用的能力类别（用户须知）：\r\n\r\n| 能力类别 | 是否使用 | 说明 |\r\n|---------|---------|------|\r\n| 网络访问 | ✅ | 通过 TRAE 内置工具搜索 SkillHub 同类技能（不直接发起网络请求） |\r\n| 文件读写 | ✅ | 在用户指定目录创建/修改 skill 文件（SKILL.md/references/scripts/assets） |\r\n| 环境变量 | ❌ | 不读取任何环境变量（无凭证需求） |\r\n| subprocess | ❌ | 不调用任何外部命令 |\r\n| 外部 API | ❌ | 不调用任何外部 API（SkillHub 同类搜索由 TRAE 内置工具完成） |\r\n\r\n**用户警告**：本技能会在用户指定目录创建/修改 skill 文件（R1-R4 创建新 skill，R5 可修改已有 skill）。R5 修改已有 skill 前需用户确认诊断结果。如不希望写入文件，可在确认门前终止流程。本技能不执行任何发布操作（发布由 skill-publisher 承接）。\r\n\r\n## SKILL.md 格式（完整 frontmatter 示例）\r\n\r\n```markdown\r\n---\r\nname: \"<skill-name>\"\r\nslug: \"<skill-name>-ai\"\r\ndisplayName: \"<Skill Name>\"\r\ndescription: \"<做什么 + 何时触发 + Do NOT 范围. 核心关键词放前200字符>\"\r\nversion: \"<MAJOR.MINOR.PATCH>\"\r\nlicense: \"MIT-0\"\r\nsummary: \"<一句话摘要>\"\r\nallowed-tools: \"<工具白名单>\"\r\nmetadata:\r\n  openclaw:\r\n    skillKey: \"<skill-name>\"\r\n    emoji: \"<emoji>\"\r\n    homepage: \"<https://github.com/...>\"\r\n    os: [\"windows\", \"macos\", \"linux\"]\r\n    requires:\r\n      bins: []\r\n      env: []\r\n    primaryEnv: \"\"\r\n    envVars: []\r\n    always: false\r\n---\r\n\r\n# <技能标题>\r\n## 任务\r\n## 输出格式\r\n## 规则\r\n## 示例\r\n## 故障排除（可选）\r\n```\r\n\r\n## 目录结构\r\n\r\n```\r\n<skill-name>/\r\n├── SKILL.md          # 主入口（≤200行）\r\n├── references/       # 长文档、方法论、详细案例\r\n├── scripts/          # 可执行脚本（确定性操作）\r\n├── assets/           # 模板、schema、示例文件\r\n├── README.md         # 中英双语说明\r\n├── CHANGELOG.md      # 版本日志\r\n├── LICENSE           # MIT-0\r\n└── .claude-plugin/plugin.json\r\n```\r\n\r\n---\r\n\r\n## Phase -1: 前置闸门\r\n\r\n**【入口：技能熔炉】** — 读取 [`references/pre-gate-and-routing.md`](references/pre-gate-and-routing.md) 获取完整闸门+路由方法论。\r\n\r\n**动手前先判断三件事，该劝退就劝退：**\r\n\r\n| 检查 | 通过 | 劝退 |\r\n|------|------|------|\r\n| 值不值得做？最近一周≥3次？做法固定？输出可预期？ | ≥2个Yes → 继续 | 一次性任务→\"直接问AI更快\" |\r\n| 有没有现成的？SkillHub上有同类吗？ | 没有 or 有差距 → 继续 | 有且很好→\"建议安装: skillhub install <slug>\" |\r\n| 是不是太大了？该拆成几个？ | 单一场景 → 继续 | 多场景→\"建议拆开，先做哪个？\" |\r\n\r\n## Phase 0: 入口路由与需求共创\r\n\r\n**【入口：技能熔炉】** — 读取 [`references/pre-gate-and-routing.md`](references/pre-gate-and-routing.md) Part 2-3 + [`references/interview-flow.md`](references/interview-flow.md) 获取完整方法论。\r\n\r\n### Step 0.1: 五类入口路由\r\n\r\n| 入口 | 信号 | 策略 |\r\n|------|------|------|\r\n| R1 从零想法 | \"我想做个skill\" | 自适应访谈（Step 0.2） |\r\n| R2 从对话提取 | \"把刚才对话变成skill\" | 扫描上下文→提取步骤→生成草稿→确认门→Step 0.4 |\r\n| R3 从现成材料 | 给文档/SOP | 分析材料→反推四要素→补缺→确认门→Step 0.4 |\r\n| R4 从草稿完善 | 给半成品SKILL.md | 反推四要素→确认门→Step 0.4 同类预检→补全→验证 |\r\n| R5 改进已有skill | \"不触发/跑偏/太啰嗦\" | 诊断：症状→检查点→动作→修复→验证 |\r\n\r\n### Step 0.2: 自适应访谈（2-5轮，一次一问）\r\n\r\n**水平自适应**：从用户措辞判断水平。张口pandas→用术语；说\"差不多就行\"→换大白话。**全程不问\"你几级\"**。\r\n\r\n**一次一问**：每轮只问1个问题+2-3个选项。一次甩3个问题，用户只会挑最好答的。\r\n\r\n**四要素**：做什么 / 何时触发 / 输入输出 / 边界。≥3个明确→进入确认门。\r\n\r\n### Step 0.3: 确认门\r\n\r\n**理解没对齐，绝不动手写。**\r\n\r\n```\r\n我理解是这样——\r\n· 做什么：[一句话]\r\n· 何时触发：[用户会说的话]\r\n· 输入：[格式]；输出：[格式]\r\n· 边界：[不做什么]\r\n这样对吗？没问题我就开始写了。\r\n```\r\n\r\n用户确认 → Step 0.4 同类预检。用户纠正 → 修正后重新确认。\r\n\r\n### Step 0.4: 同类预检（创建前）\r\n\r\n**【入口：技能熔炉】** — 读取 [`references/composition-and-pipeline.md`](references/composition-and-pipeline.md) 获取组合与管线编排方法论。\r\n\r\n**适用范围**：所有创建类入口（R1/R2/R3/R4）的确认门通过后必须执行。R5 改进类跳过（走诊断模式）。**即使用户带着成熟的想法、现成仓库、教程材料或半成品草稿调用，也不能跳过此环节**——必须先收敛递归转写为四要素 plan，确认门对齐后再做同类预检。\r\n\r\n**确认门通过后，立即搜索 SkillHub，避免重复造轮子：**\r\n\r\n| 分支 | 条件 | 动作 |\r\n|------|------|------|\r\n| **a) 有现成的更好** | 找到高质量同类(≥7分) | 建议安装已有Skill，结束流程 |\r\n| **b) 有但不够好** | 有同类但有明显差距 | 提取差异点→作为Phase 1设计输入 |\r\n| **c) 无同类** | 没有同类Skill | 直接进入Phase 1创建 |\r\n| **d) 可组合** | 需求可分解为多个原子操作 | 元技能组合+管线编排建议 |\r\n\r\n**分支d详解**：需求分解为原子操作→逐个搜索→评估覆盖率：\r\n- 全组合：所有步骤都有高质量Skill→建议安装+编排管线，无需新建\r\n- 部分组合：部分有高质量→安装已有的+只新建缺失的\r\n- 全新建：无高质量同类→直接Phase 1\r\n\r\n---\r\n\r\n## Phase 1: 创建\r\n\r\n**【入口：技能熔炉】**\r\n\r\n### Step 1: Description先行 + 触发优化迭代\r\n\r\n**格式**: `\"<做什么>. 当用户说<触发词>时触发. Do NOT use for <排除范围>.\"`\r\n\r\n**触发优化迭代**：初版description写完后，用5条真实用户说法测试触发准确率。触发不准→自动迭代用词。最多3轮。\r\n\r\n### Step 2: 撰写4+1模块\r\n\r\n任务（锁定边界）/ 输出格式（固定结构）/ 规则（3-5条，实习生测试）/ 示例（完整输入输出）/ 故障排除（可选）\r\n\r\n### Step 3: 创建目录和文件\r\n\r\n有确定性操作→创建 `scripts/`。有模板样式→创建 `assets/`。\r\n\r\n### Step 4: 分层验证\r\n\r\n**默认轻量验证（小白/日常）：**\r\n- **Step 4a**: Schema检查 — 完整 10 项自检清单见 [`references/authoring-principles.md`](references/authoring-principles.md) §六（含 frontmatter 字段齐全 / description 三要素 / SKILL.md ≤200 行 / allowed-tools 最小权限 / metadata.openclaw 声明 / 无凭证硬编码 / Lethal Trifecta / CHANGELOG 版本一致 / plugin.json 一致）\r\n- **Step 4b**: 安全红线（7条RED FLAG）\r\n- **Step 4c**: 跑给你看 — 拿真实输入跑一遍→看结果→确认/微调\r\n\r\n**可选重型验证（老手/严谨场景）：**\r\n- **Step 4d**: 触发测试 — 5条真实用户说法+3条反向\r\n- **Step 4e**: 量化评分（0-10）\r\n- **Step 4f**: 基线对比（有Skill vs 无Skill）\r\n\r\n**最多3次迭代。3次后建议\"先发布V1再迭代\"。**\r\n\r\n---\r\n\r\n## Phase 2: 质量自评 + 差异化验证\r\n\r\n**【入口：技能评估 / skill评估 / 评估技能】** — 读取 [`references/benchmarking-guide.md`](references/benchmarking-guide.md)。\r\n\r\n> **角色调整**：同类搜索已前移到 Step 0.4（创建前）。Phase 2 现在聚焦于创建后的质量自评和差异化验证。\r\n\r\n### Step 5a: 腾讯9维度自评 — 触发精准度/关键词前置/Do NOT/单一职责/4模块/输出具体性/实习生测试/示例覆盖/体积控制。逐维度自评，标出弱项。\r\n\r\n### Step 5b: 差异化验证 — 如果 Step 0.4 发现有同类，验证差异化优势是否落地。如果无同类，跳过。\r\n\r\n### Step 5c: 盲区修复 — 列出弱项和盲区，附腾讯手册依据，提出修复方案。\r\n\r\n### Step 5d: 用户决策 — 采纳修复 / 保持原样。**用户决策为最终决策。**\r\n\r\n---\r\n\r\n## 发布交接提醒\r\n\r\n**触发条件**：Phase 2 评估完成（Step 5d 用户选择\"保持原样\"或\"采纳修复且修复完成\"），且用户未选择\"直接安装已有\"。\r\n\r\n**触发时提示**：\r\n\r\n> Skill 已通过锻造与评估。如需发布到 GitHub + ClawHub + SkillHub，请说\"技能发布\"或\"发布技能\"调用 **skill-publisher** 技能，它负责：前置条件校验 → 仓库结构生成 → 安全审查 → 版本号查重 → 三平台推送 → 发布后验证 → 本地安装同步。\r\n\r\n**不要在本技能内执行任何发布操作。** 发布是独立技能 skill-publisher 的职责，本技能仅负责锻造与评估。\r\n\r\n---\r\n\r\n## References\r\n\r\n- **[authoring-principles.md](references/authoring-principles.md)** — 5 大撰写原则 + frontmatter 规范 + 6 大反模式 + 10 项自检清单（v5.2 新增，从 skill-auditor 反哺）\r\n- **[pre-gate-and-routing.md](references/pre-gate-and-routing.md)** — Phase -1 闸门 + 五类入口路由 + 改进诊断脚本\r\n- **[interview-flow.md](references/interview-flow.md)** — 一次一问 + 水平自适应 + 确认门 + B1-B6规则\r\n- **[composition-and-pipeline.md](references/composition-and-pipeline.md)** — Step 0.4 元技能组合 + 管线编排方法论\r\n- **[interview-methods.md](references/interview-methods.md)** — 行为追问、偏误检测、选项法深度参考\r\n- **[benchmarking-guide.md](references/benchmarking-guide.md)** — 腾讯9维度自评模板 + 差异化验证\r\n- **[meeting-action-extractor-example.md](references/meeting-action-extractor-example.md)** — 完整Skill示例\n\nFile v6.3.0:_meta.json\n\n{\n  \"ownerId\": \"kn75zj7vzdyvap84adxa8heyyd82f5eh\",\n  \"slug\": \"skill-forge-ai\",\n  \"version\": \"6.3.0\",\n  \"publishedAt\": 1784541876528\n}\n\nFile v6.3.0:references/authoring-principles.md\n\n# Skill 撰写原则\n\n**同步源**: 本文件与 `skill-auditor/references/skill-authoring-guide.md` 同源，版本同步。\n**版本**: v1.0.0（2026-07-16 首次从 skill-authoring-guide.md 反哺）\n**When to read**: 创建 Skill 前必读，作为\"声明-行为一致性\"的硬门控。\n\n> 本文件以**创建视角**组织：撰写前 → 撰写中 → 撰写后。源文件 `skill-authoring-guide.md` 是审计视角（发现问题时指向指南），本文件是动手前主动遵循。\n\n---\n\n## 一、撰写前：5 大原则（创建期必须遵循）\n\n业界主流 Skill 平台的审核哲学围绕\"coherence（一致性）\"展开——不是禁止强大能力，而是要求**声明与行为对齐、权限与目的匹配、用户知情可控**。\n\n### 原则 1：声明-行为一致性（Coherence）\n\n`name` / `description` / `metadata` / 实际行为四者必须对齐，不能\"挂羊头卖狗肉\"。\n\n**可执行建议**：\n- `name` 用动词或动名词（如 `skill-auditor`、`wx-peitu`），不用模糊名词（如 `tool`、`helper`）\n- `description` 的\"做什么\"段必须与 SKILL.md 正文 `## 任务` 段一致；若 description 说\"8 维度审计\"，正文任务段不能写\"6 维度检查\"\n- `metadata.openclaw.requires.*` 声明的环境变量，必须在代码中实际使用；代码用了的环境变量，必须声明\n- `allowed-tools` 列出的工具，每个都要在 SKILL.md 流程中能找到调用点\n\n**自检方法**：写完后让另一个人（或 AI）只读 frontmatter，预测 Skill 会做什么；再读 SKILL.md 正文，对比预测与实际是否一致。差异处就是不一致点。\n\n### 原则 2：权力比例适当（Proportionality）\n\n强大行为本身不是问题，但必须**已披露 + 目的对齐 + 比例适当**。\n\n**可执行建议**：\n- 行为越强 → 文档越详细：只读分析可以一句话带过；自动推送外部平台必须有专门\"用户须知\"段\n- 副作用强度必须匹配用户预期：用户说\"格式转换\"预期是改本地文件；用户说\"发布\"预期是推外部；不要让\"转换\"悄悄发布\n- 不可逆操作（删除、覆盖、推送）必须前置确认或可配置关闭\n\n**判定公式**：`行为强度 ≤ 用户预期 + 披露程度`。任一项失衡就需要重新设计。\n\n### 原则 3：最小权限（Least Privilege）\n\n`allowed-tools` 和 `metadata.openclaw.requires` 只声明 Skill 实际需要的权限，不\"以防万一\"地多列。\n\n**可执行建议**：\n- 只读分析类 Skill：`allowed-tools: \"Read, Glob, Grep, LS\"`，不含 Write/Edit\n- 需要修改文件的 Skill：加上 `Edit, Write`，但必须在 SKILL.md 说明\"何时会修改、修改哪些文件\"\n- 需要网络的 Skill：声明 `WebFetch` 或对应 CLI 工具的 `requires.bins`，并说明\"访问哪些域名、做什么\"\n- 永远不要加 `Bash` 这种通配权限，列出具体工具名\n\n**反例**：一个只读分析 Skill 写 `allowed-tools: \"Read, Write, Edit, Bash, WebFetch\"`——多出的 Write/Edit/Bash 都是隐患。\n\n### 原则 4：渐进式披露（Progressive Disclosure）\n\nSKILL.md 是导航地图，不是百科全书。核心流程放正文，详细规则、模板、示例下沉到 `references/`。\n\n**可执行建议**：\n- SKILL.md ≤ 200 行（硬上限 300 行）\n- SKILL.md 必含 4 模块：`## 何时触发` / `## 任务` / `## 输出格式` / `## 规则`（外加 `## 示例`）\n- 详细检查项、模板、扫描模式、对比方法论 → `references/*.md`\n- 长示例、配置样例、数据字典 → `references/examples.md` 或独立文件\n- 脚本代码 → `scripts/`，不在 SKILL.md 内联超过 20 行\n\n**判定标准**：SKILL.md 应该能 5 分钟读完，让读者知道\"这个 Skill 做什么、何时触发、输出什么、有哪些规则\"。\n\n### 原则 5：用户知情（User Awareness）\n\n有副作用的 Skill（自动推送、定时执行、写入外部服务、读取本地敏感数据）必须在 README 含用户警告，中英文同步。\n\n**可执行建议**：\n- README 顶部加\"用户须知\"或\"⚠️ 注意\"段，列出所有副作用\n- 每个副作用配关闭方式：`定时执行可通过设置 X=false 关闭` / `推送外部平台需在确认点明确授权`\n- 副作用涉及外部服务时，列出目标域名和操作类型（POST/上传/删除）\n- README.md 与 README.en.md 内容必须同步，警告段不能只写中文\n\n**最低标准**：用户读完 README 后，应该清楚知道\"这个 Skill 会动什么、不会动什么、出问题怎么关\"。\n\n---\n\n## 二、撰写中：frontmatter 规范（三平台兼容）\n\n### 必填字段表\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `name` | string | ✅ | kebab-case，全小写+连字符，与目录名一致 |\n| `description` | string | ✅ | ≤200 字符，含三要素（见第三部分） |\n| `version` | semver | ✅ | `MAJOR.MINOR.PATCH`，与 CHANGELOG 最新一致 |\n| `license` | SPDX | ✅ | 默认 `MIT` 或 `MIT-0`，不要加冲突 license |\n| `allowed-tools` | string | ✅ | 实际使用的工具白名单（原则 3） |\n| `metadata.openclaw` | object | 推荐 | 平台元数据（见下表） |\n\n### 完整 frontmatter 示例（含 metadata.openclaw）\n\n```yaml\n---\nname: \"skill-auditor\"\nslug: \"skill-auditor-ai\"\ndisplayName: \"Skill Auditor\"\ndescription: \"对已存在 Skill 做 8 维度全面体检（结构/安全/触发/有效性/竞争/平台/文档/代码质量）。说 技能审计/审计技能/技能体检 时触发。支持成熟度分级+4确认点+整改+回归审计。绝不自动发布。Do NOT use for creating skills or publishing to platforms.\"\nversion: \"1.2.1\"\nlicense: \"MIT\"\nsummary: \"对已存在 Skill 做 8 维度全面体检，支持三级成熟度分级+4确认点+整改模式+回归审计。绝不自动发布。\"\nallowed-tools: \"Read, Write, Edit, Glob, Grep, LS, WebFetch, AskUserQuestion\"\nmetadata:\n  openclaw:\n    skillKey: \"skill-auditor\"\n    emoji: \"🔍\"\n    homepage: \"https://github.com/owner/skill-auditor\"\n    os: [\"windows\", \"macos\", \"linux\"]\n    requires:\n      bins: [\"python\"]\n      env: []\n    primaryEnv: \"\"\n    envVars: []\n    always: false\n---\n```\n\n### 三平台字段对照\n\n| 字段 | ClawHub | SkillHub | 其他平台 |\n|------|---------|----------|---------|\n| `name` | ✅ 必填 | ✅ 必填 | ✅ 必填 |\n| `description` | ✅ 必填 | ✅ 必填 | ✅ 必填 |\n| `slug` | — | ✅ 必填（通常 `-ai` 后缀） | — |\n| `displayName` | — | ✅ 必填 | — |\n| `version` | 推荐 | ✅ 必填 | ✅ 必填 |\n| `summary` | — | ✅ 必填 | — |\n| `license` | 推荐 | ✅ 必填 | ✅ 必填 |\n| `allowed-tools` | 推荐 | — | ✅ 必填 |\n| `metadata.openclaw.*` | 推荐 | — | 推荐 |\n\n**兼容策略**：把所有平台的必填字段都填上，多平台共享同一份 frontmatter。字段冲突时（如 `slug` 在 ClawHub 无意义），多余字段会被忽略，不会报错。\n\n### metadata.openclaw 子字段速查\n\n| 子字段 | 作用 | 示例 |\n|--------|------|------|\n| `requires.env` | 必需环境变量数组（缺一不可） | `[\"FEISHU_APP_ID\", \"FEISHU_APP_SECRET\"]` |\n| `requires.bins` | 必需 CLI 工具数组（缺一不可） | `[\"lark-cli\", \"python\"]` |\n| `requires.anyBins` | 任一可用即可 | `[\"python\", \"python3\"]` |\n| `requires.config` | 必需配置文件 | `[\"references/config.json\"]` |\n| `primaryEnv` | 主环境变量名（用于提示用户配置） | `\"FEISHU_APP_ID\"` |\n| `envVars` | 可选环境变量列表（仅文档化，不强制） | `[\"VERBOSE_LOG\"]` |\n| `always` | 是否总是加载（默认 false） | `false` |\n| `skillKey` | Skill 内部唯一键 | `\"skill-auditor\"` |\n| `emoji` | 展示图标 | `\"🔍\"` |\n| `homepage` | 项目主页 URL | `\"https://github.com/...\"` |\n| `os` | 支持的操作系统数组 | `[\"windows\", \"macos\", \"linux\"]` |\n\n---\n\n## 三、撰写中：description 三要素公式\n\n### 公式\n\n```\ndescription = 做什么 + 何时触发 + Do NOT 范围\n```\n\n- **做什么**：一句话说清核心功能，动词开头\n- **何时触发**：列出 2-4 个核心触发词（中文 + 英文关键术语）\n- **Do NOT 范围**：用 `Do NOT use for ...` 列出容易混淆的相邻场景\n\n### 字符限制\n\n- 总长度 ≤ 200 字符（核心触发词必须在前 200 字符内）\n- 超过 200 字符会被部分平台截断，触发词后置会失效\n- 硬上限 250 字符，超过则审计标 Important\n\n### 行为范围声明（MCP Tool Poisoning 防护）\n\n如果 Skill 实际包含以下任一行为，**description 必须披露**（或在 SKILL.md \"权限声明\"段披露并由 description 指向）：\n\n| 行为 | 披露要求 | 示例措辞 |\n|------|---------|---------|\n| 读取本地文件 | 必须披露 | \"读取被审计 Skill 目录的文件\" |\n| 网络请求（urllib/CLI） | 必须披露 | \"可选网络访问：WebFetch 调用 X API\" |\n| subprocess 调用 | 必须披露 | \"通过 subprocess 调用 lark-cli\" |\n| 写入外部服务（POST/上传） | 必须披露 | \"上传生成的文件到飞书云空间\" |\n| 修改本地文件 | 必须披露 | \"整改模式（用户授权后）：Edit 修改被审计 Skill 文件\" |\n\n### 好例子 vs 坏例子\n\n**✅ 好**（只读分析类）：\n```\n对已存在 Skill 做 8 维度全面体检（结构/安全/触发/有效性/竞争/平台/文档/代码质量）。说 技能审计/审计技能/技能体检 时触发。支持成熟度分级+4确认点+整改+回归审计。绝不自动发布。Do NOT use for creating skills or publishing to platforms.\n```\n- 三要素齐全 + 行为范围反向披露（\"绝不自动发布\"）\n\n**❌ 坏 1**（只说功能不说行为）：\n```\n公众号排版工具，让文章更美观。\n```\n- 缺触发词、缺 Do NOT、未披露会调 API 推送 → 触发 MCP Tool Poisoning\n\n**❌ 坏 2**（行为范围缺失）：\n```\n自动发布技能到三平台。说 技能发布 时触发。\n```\n- \"自动发布\"未说明会推送到哪些外部平台、是否需授权、是否可撤销 → Missing User Warnings\n\n---\n\n## 四、撰写后：Lethal Trifecta 自检（创建期红线）\n\n业界安全框架识别出\"致命三角\"——三者同时满足时，Skill 设计存在系统性风险，需要重新设计：\n\n| 要素 | 说明 | 自检问题 |\n|------|------|---------|\n| 1. 访问私有数据 | 读取本地敏感文件（memory/profile/credentials/config/ssh） | \"我的 Skill 是否读取用户私人数据？\" |\n| 2. 暴露不可信内容 | 输出会被 LLM 作为上下文消费（MD/JSON/日志/对话回复） | \"输出文件是否会被 AI 读取作为后续指令？\" |\n| 3. 对外通信 | 能向外部服务发送数据（API POST/文件上传/subprocess 网络调用） | \"Skill 能否把数据发到外部？\" |\n\n**判定规则**：\n- 三者同时满足 = **重新设计**：要么去掉私有数据访问，要么去掉对外通信，要么确保输出不被 LLM 消费\n- 满足两项 = **需要缓解措施**：见下方分级清单\n- 满足一项或零项 = **低风险**，常规规范即可\n\n### 权力分级与安全措施\n\n**Low 级别（只读分析）**：\n- [ ] `allowed-tools` 不含 Write/Edit/Bash\n- [ ] 不读取 `~/.ssh` / `~/.aws` / `.env` / `config.local.json`\n- [ ] 输出报告中不打印凭证值（只打印凭证存在性）\n\n**Medium 级别（修改本地文件）**：\n- [ ] Low 级别的全部措施\n- [ ] 修改前需用户在确认点明确授权\n- [ ] 每次修改标注 `file:line`，可追溯\n- [ ] 不覆盖未注释的代码（删除即删除，不留\"参考\"）\n- [ ] subprocess 调用的命令在 SKILL.md 列明\n\n**High 级别（推送外部平台/网络外发）**：\n- [ ] Medium 级别的全部措施\n- [ ] README 含\"用户须知\"段，列出所有外部目标和操作类型\n- [ ] 每次外部操作前需用户在确认点明确授权（模糊回答要追问）\n- [ ] 凭证从环境变量读取，绝不硬编码\n- [ ] 提供\"不推送只本地\"的降级模式\n- [ ] Lethal Trifecta 自检通过（不能三项全占）\n\n---\n\n## 五、撰写后：6 大反模式（创建期主动规避）\n\n以下反模式提炼自 SkillSpector 实际审计 findings，撰写时应主动规避。\n\n### 反模式 1：description 只说功能不说行为范围\n\n**表现**：description 写\"X 工具，让 Y 更高效\"，但实际代码读取本地文件、调用网络 API、subprocess 执行外部命令——description 完全不披露。\n\n**后果**：触发 MCP Tool Poisoning 标记，平台审核拒绝发布。\n\n**修复**：在 description 或 SKILL.md \"权限声明\"段列出全部行为，参见第三部分的行为范围声明表。\n\n### 反模式 2：有副作用但 README 无警告\n\n**表现**：Skill 会自动推送外部平台或定时执行，README 只写\"功能介绍\"和\"使用方法\"，没有\"用户须知\"段告知副作用和关闭方式。\n\n**后果**：触发 Missing User Warnings，用户无法知情控制。\n\n**修复**：README 顶部加\"⚠️ 注意\"段，每个副作用配关闭方式，中英文同步。\n\n### 反模式 3：allowed-tools 含 curl 但不声明\n\n**表现**：`allowed-tools` 写了 `Bash` 或代码里用 `subprocess` 调 `curl`，但 frontmatter 和 SKILL.md 都没声明网络权限。\n\n**后果**：触发 MCP Least Privilege 标记，权限与声明不匹配。\n\n**修复**：声明 `requires.bins: [\"curl\"]` 或具体 CLI 工具；在 SKILL.md \"权限声明\"段说明\"访问哪些域名、做什么\"。\n\n### 反模式 4：嫁接痕迹（\"继承自 XX 技能\"）\n\n**表现**：SKILL.md / README / CHANGELOG 中出现\"继承自 skill-yyy\"、\"based on skill-zzz\"、\"forked from\"、\"与 skill-www 的分工\"等措辞。\n\n**后果**：触发 D-O1/O3/O4 嫁接痕迹检查，标 Important；降低原创度评分。\n\n**修复**：用场景描述替代具体技能名。例如：\n- ❌ \"继承自 skill-creator，负责审计\" → ✅ \"定义 8 维度审计方法论\"\n- ❌ \"与 skill-publisher 的分工\" → ✅ \"提供发布建议，由用户手动执行\"\n\n### 反模式 5：YARA 触发词字面量\n\n**表现**：文档或代码中出现 shell history 清理命令、PowerShell 错误忽略参数、递归强制删除组合、权限放宽命令、输出重定向到空设备等字面量——即使是在\"不要使用 XXX\"的说明中也会触发匹配。\n\n**后果**：触发 YARA 规则 `agent_skill_destructive_autonomous_actions`，标 Critical，平台拒绝发布。\n\n**修复**：用类别描述替代字面量。例如：\n- ❌ 写出具体 shell history 清理命令 → ✅ \"shell history 清理命令类别\"\n- ❌ 写出具体权限放宽命令 → ✅ \"全权限设置命令\"\n- CHANGELOG 历史记录中含字面量也要重新措辞\n\n### 反模式 6：声明-行为不一致\n\n**表现**：\n- D-M1：frontmatter 没声明 `requires.env`，但代码用了环境变量\n- D-M2：frontmatter 没声明 `requires.bins`，但代码 subprocess 调用了 CLI 工具\n- D-M3：`allowed-tools` 列了某工具，但 SKILL.md 流程中找不到调用点\n\n**后果**：触发 Description-Behavior Mismatch，标 Important；用户安装后无法正常运行。\n\n**修复**：\n- 代码用了什么 env/bins，frontmatter 就声明什么\n- `allowed-tools` 每个工具都要在 SKILL.md 流程中找到调用点\n- 写完后做一次\"声明-行为对账\"：列出 frontmatter 声明的所有项，逐项在代码中找证据\n\n---\n\n## 六、撰写后：发布前自检清单（10 项硬门控）\n\n发布前必须逐项打勾，全部通过才能进入发布流程。\n\n- [ ] **1. frontmatter 必填字段齐全**：name / description / version / license 都存在；name 符合 kebab-case；version 是合法 semver\n- [ ] **2. description ≤200 字符 + 含 Do NOT + 含行为范围声明**：长度 ≤200（核心触发词在前 200 字符内）；含 \"Do NOT use for ...\" 段；含行为范围声明（如有读取本地/网络/subprocess/外部写入）\n- [ ] **3. SKILL.md ≤200 行 + 4 模块齐全**：行数 ≤200（硬上限 300）；含 ## 何时触发 / ## 任务 / ## 输出格式 / ## 规则；详细内容下沉 references/\n- [ ] **4. allowed-tools 不含无关权限**：每个工具都能在 SKILL.md 找到调用点；不含 Bash 等通配权限；只读 Skill 不含 Write/Edit\n- [ ] **5. README 中英文同步 + 含用户警告（如有副作用）**：README.md 与 README.en.md 内容同步；有副作用的 Skill 含\"⚠️ 注意\"段；每个副作用配关闭方式\n- [ ] **6. metadata.openclaw.requires 声明所有 env/bins**：代码用的环境变量都在 requires.env；subprocess 调用的 CLI 都在 requires.bins；D-M1/M2 自检通过\n- [ ] **7. 无凭证硬编码 / 无本地路径 / 无 YARA 触发词**：Grep 凭证模式（token/api_key/secret/sk-/ghp_/cli_ 等）零真实值；Grep 本地路径模式（C:\\\\/D:\\\\/Users/Administrator/.trae-cn）零匹配；Grep YARA 5 类字面量零匹配（含 CHANGELOG）\n- [ ] **8. Lethal Trifecta 自检通过**：访问私有数据 + 暴露不可信内容 + 对外通信 三者不同时满足；High 级别 Skill 有完整缓解措施\n- [ ] **9. CHANGELOG 版本号 = frontmatter version**：CHANGELOG.md 最新条目版本号与 frontmatter version 一致；最新条目有日期和变更说明\n- [ ] **10. plugin.json 与 frontmatter 一致**：.claude-plugin/plugin.json 的 name/version/description 与 frontmatter 一致；无冲突字段\n\n---\n\n## 七、平台规范要点\n\n### License\n\n- 默认使用 `MIT` 或 `MIT-0`（更宽松）\n- 不要加与 MIT 冲突的 license（如 GPL、AGPL）——会导致平台拒绝收录\n- LICENSE 文件放在 Skill 根目录\n\n### 文件大小与类型\n\n- 总 bundle 大小 ≤ 50MB（含所有文件）\n- 文本文件扩展名白名单：`.md` / `.json` / `.yaml` / `.yml` / `.txt` / `.py` / `.js` / `.ts` / `.ps1` / `.sh` / `.html` / `.css`\n- 二进制文件（图片、视频、可执行文件）尽量避免；必须包含时单独说明用途\n\n### .gitignore 必须排除\n\n```gitignore\n# Python 缓存\n__pycache__/\n*.pyc\n*.pyo\n\n# 平台自动生成\n.clawhub/\n\n# 本地凭证\nconfig.local.json\nconfig.local.*.json\n.env\n.env.local\n\n# 临时脚本\n_*.py\n_*.ps1\n_*.sh\n\n# 日志\n*.log\n\n# 维护者发布脚本（可选）\npublish_*.ps1\npublish_*.sh\n```\n\n**关键**：`.clawhub/` 目录由平台自动生成，**禁止手动创建或提交**；`config.local.json` 是本地凭证文件，**绝对不能提交**。\n\n### 平台自动生成文件（禁止发布）\n\n以下文件由平台自动生成，**禁止手动创建或提交到仓库**：\n\n| 文件/目录 | 生成方 | 用途 |\n|-----------|--------|------|\n| `skill-card.md` | ClawHub | Skill 展示卡片 |\n| `.clawhub/` | ClawHub | 平台元数据缓存 |\n| `.skillhub-cache/` | SkillHub | 平台缓存 |\n\n**自检**：发布前 LS 仓库根目录，确认以上文件都不存在。如果存在，删除后重新提交。\n\n---\n\n## 附录：撰写流程速查\n\n```\n撰写前：\n  1. 读 5 大原则（本文件 §一）\n  2. 锁定 Skill 单一职责（原则 1+2）\n  3. 评估权力级别（Low/Medium/High）—— 决定后续安全措施强度\n\n撰写中：\n  4. 写 frontmatter（本文件 §二）—— 三平台字段都填\n  5. 写 description（本文件 §三）—— 三要素 + 行为范围声明\n  6. 写 SKILL.md 4 模块 —— ≤200 行（原则 4）\n  7. 有副作用 → 写 README \"⚠️ 注意\"段（原则 5）\n\n撰写后：\n  8. Lethal Trifecta 自检（本文件 §四）\n  9. 6 大反模式扫一遍（本文件 §五）\n  10. 10 项发布前自检清单（本文件 §六）\n  11. 平台规范检查（本文件 §七）\n```\n\nFile v6.3.0:references/benchmarking-guide.md\n\n# Quality Self-Assessment & Differentiation Guide\n\nComplete methodology for Phase 2 quality self-assessment in skill-forge v5.1.\n\n> **v5.1 架构变更**：同类搜索已前移到 Step 0.4（创建前）。Phase 2 现在聚焦于创建后的质量自评和差异化验证。\n\n**When to read**: When entering Phase 2 (after Phase 1 creation + self-validation completes), or when triggered by \"技能评估\" entry. Read this file in full before starting assessment.\n\n---\n\n## Step 5a: 腾讯9维度自评\n\nEvaluate the created Skill on these **9 Tencent Skills Manual dimensions**:\n\n| # | Tencent Principle | What to check |\n|---|-------------------|---------------|\n| 1 | **Description: trigger precision** | Does description clearly state WHEN to invoke? |\n| 2 | **Description: keyword frontloading** | Are core trigger keywords in first 200 chars? |\n| 3 | **Description: Do NOT scope** | Does description explicitly state what it's NOT for? |\n| 4 | **One Skill = One Job** | Does it focus on a single scenario with one deliverable? |\n| 5 | **4-module structure** | 任务/输出格式/规则/示例 all present? |\n| 6 | **Output format: concrete** | Every field has fixed format, no vague instructions? |\n| 7 | **Rules: Intern Test** | Every rule is directly actionable, no useless defaults? |\n| 8 | **Example: edge case coverage** | Example covers boundary situations? |\n| 9 | **Size: under 200 lines** | Lean and focused, no bloat? Progressive disclosure (references/scripts/assets)? |\n\n### Self-Assessment Table\n\nFill in self-evaluation scores (1-10) and mark weak dimensions:\n\n| # | Tencent Principle | Score (1-10) | Weak? | Notes |\n|---|-------------------|--------------|-------|-------|\n| 1 | Trigger precision | | | |\n| 2 | Keyword frontloading | | | |\n| 3 | Do NOT scope | | | |\n| 4 | One Job | | | |\n| 5 | 4-module structure | | | |\n| 6 | Output concreteness | | | |\n| 7 | Intern Test rules | | | |\n| 8 | Edge case coverage | | | |\n| 9 | Size control (≤200 lines + progressive disclosure) | | | |\n\n**Any score <7 → mark as weak dimension, must propose fix in Step 5c.**\n\n---\n\n## Step 5b: 差异化验证\n\n### If Step 0.4 found peers (分支b)\n\nVerify that the differentiation advantages identified in Step 0.4 are actually reflected in the created Skill:\n\n```\nStep 0.4 差异点: [具体差异]\n  → Skill中的体现: [在哪个模块/规则/示例中落地]\n  → 验证结果: ✅已落地 / ❌未落地\n\nStep 0.4 差异点: [具体差异]\n  → Skill中的体现: [在哪个模块/规则/示例中落地]\n  → 验证结果: ✅已落地 / ❌未落地\n```\n\n**未落地的差异点 → 补充到Step 5c修复方案。**\n\n### If Step 0.4 found no peers (分支c)\n\nSkip differentiation verification. Proceed directly to Step 5c blind spot check.\n\n---\n\n## Step 5c: 盲区修复\n\n### For weak dimensions (Step 5a score <7)\n\nList specific improvements with Tencent Manual justification:\n\n```\n弱项1: [维度#N - 具体问题]（评分: X/10）\n  → 腾讯手册依据: [相关原则]\n  → 修复方案: [具体修复动作]\n  → 预期提升: 修复后评分可达 X/10\n\n弱项2: [维度#N - 具体问题]（评分: X/10）\n  → 腾讯手册依据: [相关原则]\n  → 修复方案: [具体修复动作]\n  → 预期提升: 修复后评分可达 X/10\n```\n\n### For unlanded differentiation (Step 5b ❌)\n\n```\n未落地差异: [差异点]\n  → 补充位置: [哪个模块需要补充]\n  → 补充内容: [具体内容]\n```\n\n---\n\n## Step 5d: 用户决策\n\nPresent assessment results with options:\n\n1. **采纳修复** — Apply all fixes, re-run Step 4 validation\n2. **保持原样** — Ship as-is, acknowledge weak dimensions\n\n**User's decision is final.** AI recommends but never forces.\n\n---\n\n## 独立评估入口（技能评估触发词）\n\nWhen triggered by \"技能评估 / skill评估 / 评估技能\" (not part of full workflow):\n\n1. Ask user for the Skill to evaluate (file path or content)\n2. Run Step 5a self-assessment (9 dimensions)\n3. Run Step 5c blind spot analysis\n4. Present results + improvement suggestions\n5. User decides whether to apply fixes\n\n**Note**: This path does NOT include Step 5b (differentiation verification), because there's no Step 0.4 peer search context.\n\nFile v6.3.0:references/composition-and-pipeline.md\n\n# Composition & Pipeline Orchestration (元技能组合与管线编排)\n\nComplete methodology for Step 0.4 meta-skill composition suggestions in skill-forge v5.1.\n\n**When to read**: When Step 0.4 pre-check finds that the user's need can be decomposed into multiple existing Skills, or when a multi-step pipeline is more efficient than creating a new monolithic Skill.\n\n---\n\n## Core Principle\n\n**Before creating a new Skill, check if the need can be met by combining existing high-quality Skills.**\n\nMany \"I want a Skill that does X\" requests are actually multi-step workflows:\n- \"把会议录音转成行动项\" = 音频转文字 + 纪要提取 + 行动项生成\n- \"把网页文章转成公众号排版\" = 网页提取 + 内容增强 + 排版\n- \"把PDF转成知识卡片\" = PDF提取 + 内容归纳 + 卡片生成\n\nIf each step already has a high-quality Skill, composing them is better than building a monolithic new one.\n\n---\n\n## Decomposition Method\n\n### Step 1: Break down the user's need into atomic operations\n\n```\n用户需求: \"把会议录音转成结构化行动项\"\n\n分解:\n  ① 音频 → 文字 (转写)\n  ② 文字 → 会议纪要 (提取要点)\n  ③ 纪要 → 行动项 (提取行动项+负责人+截止)\n```\n\n### Step 2: Search each atomic operation on SkillHub\n\nFor each step, use TRAE built-in tools (Grep/WebSearch) to search SkillHub for matching skills\n\n### Step 3: Evaluate each step's coverage\n\n| Step | SkillHub Top Skill | Quality Score | Coverage |\n|------|-------------------|---------------|----------|\n| ① | audio-to-text-pro | 8.5/10 | 完全覆盖 |\n| ② | meeting-summary-extractor | 7.2/10 | 完全覆盖 |\n| ③ | action-item-generator | 4.1/10 | 质量一般，有差距 |\n\n### Step 4: Composition Decision\n\n| Pattern | Condition | Recommendation |\n|---------|-----------|----------------|\n| **全组合** | 所有步骤都有高质量Skill(≥7) | \"你的需求已有现成Skill组合，建议安装+编排管线，无需新建\" |\n| **部分组合+部分新建** | 部分步骤高质量，部分质量一般或缺失 | \"建议安装已有的N个Skill + 只新建缺失的1个\" |\n| **全新建** | 没有高质量同类 | 直接进入Phase 1创建 |\n| **单步即可** | 需求不需要分解 | 不适用组合，直接创建 |\n\n---\n\n## Pipeline Orchestration Suggestions\n\n### Pattern 1: Sequential Pipeline (顺序管线)\n\n```\nSkill A → Skill B → Skill C\n  输出       输出       最终输出\n```\n\nWhen: 前一步的输出是后一步的输入。\n\nExample:\n```\naudio-to-text → meeting-summary → action-item\n  (音频转文字)    (提取纪要)        (提取行动项)\n```\n\nSuggestion: \"安装这3个Skill，使用时依次调用：先说'转写这段录音'，再说'提取会议纪要'，最后说'提取行动项'\"\n\n### Pattern 2: Branch Pipeline (分支管线)\n\n```\n         ┌→ Skill B (格式A)\nSkill A ─┤\n         └→ Skill C (格式B)\n```\n\nWhen: 同一输入需要多种输出格式。\n\nExample:\n```\npdf-extractor ─┬→ markdown-converter (输出MD)\n               └→ html-converter (输出HTML)\n```\n\n### Pattern 3: Conditional Pipeline (条件管线)\n\n```\nSkill A → [判断条件] → Skill B (条件满足)\n                    → Skill C (条件不满足)\n```\n\nWhen: 根据中间结果选择不同路径。\n\nExample:\n```\ncontent-analyzer → [有无敏感信息?]\n                   ├→ yes → redact-sensitive → publish\n                   └→ no  → publish directly\n```\n\n---\n\n## Composition Recommendation Template\n\nWhen suggesting composition, present:\n\n```\n🔍 同类预检结果\n\n你的需求可以分解为 N 个步骤：\n\n  ① [步骤1描述] → 已有高质量Skill: [名称] (评分: X/10)\n  ② [步骤2描述] → 已有高质量Skill: [名称] (评分: X/10)\n  ③ [步骤3描述] → 质量一般/无同类，建议新建\n\n建议方案：[全组合 / 部分组合+部分新建 / 全新建]\n\n如果选择组合方案：\n  安装命令：clawhub install [slug1] [slug2]\n  使用顺序：先说\"[触发词1]\"，再说\"[触发词2]\"\n\n如果选择新建[步骤3]：\n  你的差异化优势：[具体差异点]\n  我会基于这个差异点创建一个聚焦的新Skill。\n```\n\n---\n\n## When NOT to Suggest Composition\n\n| Situation | Why |\n|-----------|-----|\n| 用户需求是单一原子操作 | 无法分解，直接创建 |\n| 所有步骤的Skill质量都<5 | 组合低质量Skill不如新建一个完整的 |\n| 用户明确要求一体化 | 尊重用户选择 |\n| 步骤间有强耦合状态 | 管线编排无法传递中间状态，需一体化 |\n| 延迟敏感场景 | 多Skill调用比单Skill慢 |\n\n---\n\n## Integration with Phase 0.4\n\n```\n确认门通过\n  ↓\nStep 0.4: SkillHub 同类预检\n  ├─ 搜索完整需求 → 有更好的同类 → 建议安装，结束\n  ├─ 搜索完整需求 → 有但不够好 → 提取差异点 → Phase 1 设计输入\n  ├─ 搜索完整需求 → 无同类 → 直接 Phase 1\n  └─ 分解为原子操作 → 逐个搜索 → 组合分析\n      ├─ 全组合 → 建议安装+管线编排，结束\n      ├─ 部分组合 → 建议安装已有的+新建缺失的\n      └─ 全新建 → 直接 Phase 1\n```\n\nFile v6.3.0:references/interview-flow.md\n\n# Interview Flow Reference (v5.0)\r\n\r\nComplete methodology for the adaptive multi-round interview in skill-forge Phase 0.\r\n\r\n**When to read**: When entering Phase 0.2 (adaptive interview). Read this file in full before starting any interview round.\r\n\r\n---\r\n\r\n## Core Principle: One Question at a Time (一次一问)\r\n\r\n**Every round, ask only ONE question.** Give 2-3 options to pick from, not a blank space to fill.\r\n\r\nWhy: 一次甩你三个问题，你只会挑最好答的那个，剩下随手糊弄过去。\r\n\r\n```\r\n❌ BAD: \"你想要什么输出格式？什么时候触发？输入是什么？\"\r\n✅ GOOD: \"你最后要的是一个能下载的文件，还是直接贴在对话里的内容？\"\r\n```\r\n\r\nAfter each answer → Why × 1 (B2) → next question.\r\n\r\n---\r\n\r\n## Level Adaptation (水平自适应)\r\n\r\n**Never ask \"你几级水平\"**. Detect from user's language:\r\n\r\n| User says | Level | Adaptation |\r\n|-----------|-------|------------|\r\n| \".xlsx\", \"pandas\", \"JSON\", \"API\", \"assertion\" | 老手 | 用术语，不啰嗦，跳过基础解释 |\r\n| \"那种东西\", \"差不多就行\", \"就是帮我整理一下\" | 小白 | 换大白话，零术语，给更多选项 |\r\n| Mixed signals | 中间 | 用通俗语言+关键术语标注 |\r\n\r\n**Rule**: Adapt in real-time. If user suddenly uses technical terms, upgrade. If user seems confused, downgrade.\r\n\r\n---\r\n\r\n## Confirmation Gate (确认门)\r\n\r\n**理解没对齐，绝不动手写。**\r\n\r\nAfter four elements are gathered, present a one-page summary:\r\n\r\n```\r\n我理解是这样——\r\n· 做什么：[一句话描述]\r\n· 何时触发：[用户会说的话]\r\n· 输入：[输入格式]；输出：[输出格式]\r\n· 边界：[不做什么]\r\n\r\n这样对吗？没问题我就开始写了。\r\n```\r\n\r\n**User confirms → proceed to Phase 1.**\r\n**User corrects → fix and re-present.**\r\n\r\n---\r\n\r\n## Interview Rules (apply EVERY round)\r\n\r\n| Rule | Description |\r\n|------|------------|\r\n| **B1: Behavioral probing** | Ask \"tell me about the last time you did X, step by step\" — not \"what do you want?\" |\r\n| **B2: Why × 1-2** | After each answer, ask \"why?\" or \"then what?\" 1-2 times until hitting concrete behavior |\r\n| **B3: Bias detection** | Scan for \"I should / I plan to / 都行 / 随便\" → redirect to \"what actually happened?\" |\r\n| **B4: Contradiction writeback** | If answers contradict, quote both and let user choose |\r\n| **B5: Option-first** | 3 strong options + Other. Labels ≤ 12 chars. No suggestive words. |\r\n| **B6: Creative option probe** | If user picks unusual option → \"do you really want this, or just find it interesting?\" |\r\n\r\n---\r\n\r\n## Interview Rounds (一次一问版)\r\n\r\n### Round 1 — Scenario Discovery (1 question)\r\n\r\nQ: \"你想让这个 Skill 帮你做什么？\" → 3 strong options + Other\r\nAfter: Why × 1 (B2)\r\n🔍 Broad search: `\"<domain> best practices <current year>\"`\r\n\r\n### Round 2 — Behavioral Deep-Dive (1 question)\r\n\r\nQ: \"想想最近一次你做这件事的经过，一步步告诉我\" (B1)\r\nAfter: Bias check (B3), Why × 1 (B2)\r\n🔍 Deepen search: `\"<domain> <specific direction> 标准 规范 方法\"`\r\n\r\n### Round 3 — Output Lock (1 question)\r\n\r\nQ: \"你最后要的产出长什么样？\" → 2-3 format proposals + Other\r\nAfter: Why × 1 (B2)\r\n🔍 Precision search: `\"<domain> <output type> template example\"`\r\n\r\n### Round 4 — Boundary Lock (1 question)\r\n\r\nQ: \"有哪些情况它千万别插手？\" → 3 overreach patterns + Other\r\nAfter: Contradiction check (B4), Creative option probe (B6)\r\n\r\n### Round 5 — Safety Net (only if elements still incomplete)\r\n\r\n- Fill remaining gaps with targeted questions\r\n- AI proposes completions for unclear elements\r\n- User confirms or corrects\r\n\r\n---\r\n\r\n## Convergence Check (after EACH round)\r\n\r\nUpdate the 4-element checklist:\r\n\r\n| # | Element | Clear? | Source |\r\n|---|---------|--------|--------|\r\n| 1 | 做什么 (What to do) | Y/N | Which round/answer |\r\n| 2 | 何时触发 (When to trigger) | Y/N | Which round/answer |\r\n| 3 | 输入输出 (Input/Output) | Y/N | Which round/answer |\r\n| 4 | 边界 (Boundaries) | Y/N | Which round/answer |\r\n\r\n**≥3 elements clear → present 确认门 summary.**\r\n**<3 elements clear → continue to next round.**\r\n**Round 5 reached → force proceed with AI-inferred completions.**\r\n\r\n---\r\n\r\n## Recursive Search Pattern\r\n\r\n```\r\nR1 → Broad:    \"<domain> best practices\"           → discover dimensions\r\nR2 → Deepen:   \"<domain> <user's direction> 方法\"    → find methods\r\nR3 → Precision: \"<domain> <output type> template\"    → find standards\r\nR4 → Verify:   only if needed\r\n```\r\n\r\n**Rules**: Max 2 searches per round. Extract ONLY actionable insights. Feed into next question. Don't dump raw results. If domain is well-known, skip search.\n\nFile v6.3.0:references/interview-methods.md\n\n# Interview Methods Reference\n\nDetailed methodology for the adaptive multi-round interview in skill-creator v3.1.\n\n---\n\n## B1: Behavioral Probing — Actions over Intentions\n\n**Core principle**: Users美化 their intentions but cannot fake their behaviors. Always push \"what do you want\" back to \"what did you actually do last time.\"\n\n| | Question | Why |\n|---|---|---|\n| BAD | \"你想要 AI 做什么？\" | Users idealize their needs |\n| BAD | \"你希望 AI 是怎样的？\" | Social desirability bias |\n| GOOD | \"想想最近一次你做这件事的经过——一步步告诉我那次发生了什么。\" | Forces concrete recall |\n| GOOD | \"上一次你做这个的时候，具体是怎么操作的？\" | Behavioral anchor |\n\n**When to use**: Every round when the user's answer is abstract or aspirational.\n\n---\n\n## B2: Why × 1-2 — Chase the Concrete\n\nAfter each user answer, automatically ask \"why?\" or \"then what?\" 1-2 times until the answer lands on:\n- A **concrete behavior** (\"I open Notion and write 3 bullet points\")\n- A **specific emotion** (\"I hate it when AI uses 套话\")\n- A **tangible artifact** (\"I need a table with 4 columns\")\n\n**Stop when**: The answer is actionable enough that an intern could execute it.\n\n**Example**:\n```\nUser: \"I want AI to write better articles\"\n  → Why? \"Because my current AI output is too generic\"\n    → What specifically is generic? \"It always starts with 在当今社会 and ends with 综上所述\"\n      → ✅ NOW you have a concrete anti-pattern for the Skill's rules\n```\n\n---\n\n## B3: Bias Detection — Scan Every Answer\n\nAfter each user answer, scan for these bias signals:\n\n| Bias signal | Example | Redirect |\n|-------------|---------|----------|\n| Social desirability | \"我应该每天写日报\" | \"上次实际发生时是怎样的？\" |\n| Aspirational framing | \"我打算用更专业的方式\" | \"目前你是怎么做的？\" |\n| Vague generality | \"一般来说我会...\" | \"最近一次具体是什么情况？\" |\n| One-word answer | \"是\" / \"有\" / \"还行\" | Ask them to elaborate with a specific example |\n| Deflection | \"都行\" / \"随便\" / \"你看着办\" | Switch to option-based question (B5) |\n\n**Rule**: Never accept a biased answer at face value. Always redirect once.\n\n---\n\n## B4: Contradiction Writeback — Never Decide for the User\n\nWhen user's answers contradict across rounds:\n\n1. **Quote both answers verbatim**\n2. **Present the contradiction without judgment**\n3. **Let the user choose**\n\n**Example**:\n```\n\"你在 Round 1 说自己每天写技术博客；Round 3 说最讨厌写长文。\n这两个有冲突——你更倾向哪个？或者两者可以并存（比如写短技术笔记）？\"\n```\n\n**Never**: Silently pick one side. Never assume which answer is \"more correct.\"\n\n---\n\n## B5: Option-First Design — 3+1 Method\n\n**Core insight**: Users choose more accurately than they describe. Give them handles to react to, not blank space to construct on.\n\n### Design Philosophy: 3 Strong + Other\n\nEach question offers:\n- ① ② ③ **Strong options**: Cover ~80% typical scenarios, mutually exclusive, no overlap\n- **Other**: Always available as open-ended fallback (AskUserQuestion adds this automatically)\n\n### Option Design Rules\n\n1. **①②③ must NOT overlap** and must cover typical scenarios\n2. **Labels ≤ 12 chars**, descriptions 5-15 chars\n3. **No suggestive words** in options: \"高质量\" / \"更好\" / \"推荐\" are forbidden\n4. **Other is always available** — user's free text may be the most valuable answer\n\n### AskUserQuestion Format\n\n```json\n{\n  \"question\": \"你做什么 + 给谁交付？\",\n  \"header\": \"工作形态\",\n  \"multiSelect\": false,\n  \"options\": [\n    {\"label\": \"文字内容创作\", \"description\": \"公众号/Newsletter/视频\"},\n    {\"label\": \"软件产品\", \"description\": \"Indie Hacker/SaaS\"},\n    {\"label\": \"知识服务\", \"description\": \"顾问/教练/培训\"},\n  ]\n}\n```\n\n### After-Choice Follow-up\n\n| User picks | Follow-up |\n|-----------|-----------|\n| ①②③ (strong options) | Why × 1 (B2): \"为什么选这个？上次是这样吗？\" |\n| Other (free text) | Bias check (B3) — free text may be highest value but also most biased |\n\n---\n\n## B6: Creative Option Probe — Distinguish Reaction from Commitment\n\nWhen a user picks an unusual or creative option:\n\n**Ask**: \"你是真的想要这个，还是觉得有趣？\"\n\n**Why**: Users often pick creative options because they're novel, not because they reflect real needs. Distinguishing \"reaction\" (interesting!) from \"commitment\" (I actually need this) prevents building the wrong Skill.\n\n---\n\n## Recursive Search Pattern\n\nSearch depth increases with each interview round:\n\n### Round 1: Broad Discovery\n\n**Purpose**: Identify the key dimensions of the domain.\n\n**Search queries**:\n- `\"<domain> best practices <year>\"`\n- `\"<domain> 核心维度 方法\"`\n\n**Extract**: Key dimensions, common approaches, industry standards.\n\n**Feed into**: Round 2 question design — use discovered dimensions as option choices.\n\n### Round 2: Directional Deepen\n\n**Purpose**: Go deeper in the specific direction the user indicated.\n\n**Search queries**:\n- `\"<domain> <user's chosen direction> 标准 规范\"`\n- `\"<domain> <specific method> 实践 案例\"`\n\n**Extract**: Specific methods, standards, common pitfalls, professional terminology.\n\n**Feed into**: Round 3 question design — use discovered standards as boundary options.\n\n### Round 3: Precision Standards\n\n**Purpose**: Find concrete output formats and quality standards.\n\n**Search queries**:\n- `\"<domain> <output type> template format\"`\n- `\"<domain> 质量标准 checklist\"`\n\n**Extract**: Concrete templates, quality criteria, professional output formats.\n\n**Feed into**: Round 4 question design — propose specific output formats based on search.\n\n### Round 4: Verification (only if needed)\n\n**Purpose**: Confirm specific details that are still unclear.\n\n**Search queries**: Targeted, specific queries based on remaining gaps.\n\n### Search Rules\n\n- **Max 2 searches per round** — this is enrichment, not research\n- **Extract ONLY actionable insights** — dimensions, methods, standards, templates\n- **Never dump raw search results** into the Skill\n- **Feed results into question design**, not directly into Skill content\n- **If domain is well-known** (e.g., \"JSON formatting\"), skip search — use AI expertise\n\n---\n\n## Convergence Check\n\nAfter each round, update the 5-element checklist:\n\n| # | Element | Clear? | Source |\n|---|---------|--------|--------|\n| 1 | Single scenario | Y/N | Which round/answer clarified it |\n| 2 | Trigger condition | Y/N | Which round/answer clarified it |\n| 3 | Output format | Y/N | Which round/answer clarified it |\n| 4 | Scope boundary | Y/N | Which round/answer clarified it |\n| 5 | Hard constraints | Y/N | Which round/answer clarified it |\n\n**Decision**:\n- ≥4 elements clear → Can proceed to Phase 1\n- <4 elements clear → Continue to next round\n- Round 5 reached → Force proceed with AI-inferred completions for missing elements\n\n**Never** skip the convergence check. **Never** proceed to Phase 1 with <3 elements clear without explicit user confirmation.\n\n---\n\n## Game Complexity Arc\n\nQuestion ordering follows a natural difficulty curve:\n\n1. **Warm-up** (R1): Factual, low cognitive load — \"what do you do?\"\n2. **Medium** (R2): Task recall — \"tell me about the last time...\"\n3. **Complex** (R3-R4): Emotional/failure/ideal state — \"what must NEVER happen?\" / \"what does 'done right' look like?\"\n4. **Closing** (R4-R5): Open synthesis — \"anything else I should know?\"\n\nThis arc puts users at ease before asking harder questions, yielding more honest and detailed answers.\n\nFile v6.3.0:references/meeting-action-extractor-example.md\n\n# Meeting Action Extractor — 完整示例\n\n以下是按 skill-creator v3.1 方法论创建的完整 Skill 示例，展示 4 模块、实习生测试规则、固定输出格式和边界情况覆盖。\n\n---\n\n```markdown\n---\nname: \"meeting-action-extractor\"\ndescription: \"Extracts action items, decisions, and pending questions from meeting transcripts. Invoke when user sends meeting notes, transcript, or asks to extract action items from a meeting.\"\n---\n\n# Meeting Action Extractor\n\n## 任务\n只从会议内容中提取行动项、核心决策和待澄清问题。不做全文总结、不写会议纪要，只聚焦可落地事项。\n\n## 输出格式\n### 一、行动项清单\n每条格式：【负责人】动词开头具体任务 ｜ 截止：时间 ｜ 优先级：高/中/低\n无负责人标【待定】，无时间标【未定】\n\n### 二、核心决策\n2-4条会议内全员达成的确定结论，不收录模糊讨论\n\n### 三、待澄清问题\n职责不清、方案未定的问题，无则省略本模块\n\n## 规则\n1. 仅提取会议明确提及的任务，不主观臆造、不额外推断\n2. 负责人未提及或模糊，统一标注【待定】\n3. 未明确截止时间的任务，统一标注【未定】\n4. 所有行动项必须以动词开头，保证指令可执行\n5. 行动项、决策、待澄清问题严格区分，不混淆不重复\n\n## 示例\n**输入**：\n今天开了个Q2规划会。产品说要在4月底前把新版本用户引导流程做完，小王负责。设计说最近太忙，封面图可能要排到下周。讨论了要不要接入新支付渠道，大家觉得有必要，但谁来调研还没定。技术说服务器费用超预算了，下周要开专项会讨论。\n\n**输出**：\n### 一、行动项清单\n【小王】完成新版用户引导流程优化 ｜ 截止：4月底 ｜ 优先级：高\n【设计团队】启动新版封面图设计 ｜ 截止：下周 ｜ 优先级：中\n【待定】调研新支付渠道接入方案 ｜ 截止：未定 ｜ 优先级：中\n【待定】召开服务器费用复盘专项会议 ｜ 截止：下周 ｜ 优先级：高\n\n### 二、核心决策\n1. 确定接入新支付渠道，后续补充负责人\n2. 服务器超预算问题下周开展专项复盘\n\n### 三、待澄清问题\n1. 新支付渠道调研无明确负责人\n2. 服务器专项会议无具体时间和参会人安排\n```\n\nFile v6.3.0:references/pre-gate-and-routing.md\n\n# Pre-Gate & Entry Routing Reference\r\n\r\nComplete methodology for Phase -1 (pre-gate) and Phase 0 entry routing in skill-forge v5.0.\r\n\r\n**When to read**: When entering Phase -1 (pre-gate check) or Phase 0 (entry routing). Read this file in full before starting.\r\n\r\n---\r\n\r\n## Part 1: Pre-Gate (前置闸门)\r\n\r\n**Purpose**: Before investing time in interview + creation, judge whether this idea is worth making into a Skill at all.\r\n\r\n### Three Checks\r\n\r\n| Check | Question | Pass | Fail (劝退) |\r\n|-------|----------|------|-------------|\r\n| **Worth doing?** | 最近一周做了3次以上？做法基本固定？输出格式可预期？ | ≥2个Yes → proceed | 一次性任务 → \"直接问AI更快，不用做Skill\" |\r\n| **Already exists?** | SkillHub上有没有现成的高质量同类？ | 没有 or 有但有明显差距 → proceed | 有且很好 → \"建议直接安装: `skillhub install <slug>`\" |\r\n| **Too big?** | 这个想法是不是其实是好几个Skill？ | 单一场景 → proceed | 多场景 → \"这其实是N个Skill，建议拆开。先做哪个？\" |\r\n\r\n###劝退原则\r\n\r\n一个会劝你别做的 Skill creator，因为它知道 AI 的边界在哪里。\r\n\r\n- 你这事要是只干一次 → 直接问AI更快\r\n- Claude张口就能办 → 不值得做成Skill\r\n- 更该做成别的形态（脚本/模板/配置）→ 建议替代方案\r\n- 想法太大（\"帮我做所有的数据分析\"）→ 提示拆分，先聚焦一个\r\n\r\n**省得你忙活半天，做出个没人用的摆设。**\r\n\r\n---\r\n\r\n## Part 2: Five Entry Routes (五类入口路由)\r\n\r\nAfter pre-gate passes, detect which entry route the user is coming from:\r\n\r\n| Route | Signal | Strategy |\r\n|-------|--------|----------|\r\n| **R1: 从零想法** | \"我想做个帮我做X的skill\" | 进入自适应访谈（Phase 0.2） |\r\n| **R2: 从对话提取** | \"把刚才对话变成skill\" / \"把咱们刚才做的存成skill\" | 扫描上下文对话→提取步骤/工具/纠正→生成四要素草稿→确认门 |\r\n| **R3: 从现成材料** | 用户给文档/SOP/流程规范 | 分析材料→反推四要素→补缺→确认门 |\r\n| **R4: 从草稿完善** | 用户给半成品SKILL.md | 检查缺失模块→补全→验证 |\r\n| **R5: 改进已有skill** | \"我的skill不触发\" / \"跑偏了\" / \"太啰嗦\" | 进入诊断模式（Part 3） |\r\n\r\n### Route Detection\r\n\r\nScan user's first message for signals:\r\n\r\n- Contains \"做个skill\" + no context → R1\r\n- Contains \"刚才/刚刚/存成/变成\" → R2\r\n- Contains attachment / \"照这个文档\" / \"这是我们的SOP\" → R3\r\n- Contains existing SKILL.md content / \"帮我补全\" → R4\r\n- Contains \"不触发/不工作/跑偏/太啰嗦/改进\" → R5\r\n- Ambiguous → Ask: \"你是从头开始做，还是有现成的材料或对话想固化？\" (3 options + Other)\r\n\r\n### R2: Dialog Extraction Method\r\n\r\nWhen user says \"把刚才对话变成skill\":\r\n\r\n1. Scan all conversation context\r\n2. Extract: steps taken, tools used, user corrections, output format\r\n3. Generate draft four-elements:\r\n   - 做什么: based on what was actually done\r\n   - 何时触发: based on what user said to start\r\n   - 输入输出: based on actual input/output\r\n   - 边界: based on what user rejected or corrected\r\n4. Present summary → 确认门 → **Step 0.4 同类预检**（不可跳过）\r\n\r\n### R3: Material Analysis Method\r\n\r\nWhen user provides a document/SOP:\r\n\r\n1. Read the material thoroughly\r\n2. Extract four-elements by reverse-engineering:\r\n   - 做什么: what does this material guide?\r\n   - 何时触发: when would someone need this?\r\n   - 输入输出: what goes in, what comes out?\r\n   - 边界: what's explicitly excluded?\r\n3. Fill gaps with targeted questions (max 3)\r\n4. Present summary → 确认门 → **Step 0.4 同类预检**（不可跳过）\r\n\r\n### R4: Draft Completion Method\r\n\r\nWhen user has a half-finished SKILL.md:\r\n\r\n1. Check which modules are present: name? description? 任务? 输出格式? 规则? 示例?\r\n2. **反推四要素**：从半成品草稿反推 做什么/何时触发/输入输出/边界（即使用户带着成熟草稿，也必须收敛递归转写为 plan）\r\n3. Present summary → 确认门 → **Step 0.4 同类预检**（不可跳过，避免重复造轮子）\r\n4. 同类预检通过后（无更好同类 or 有差距需新建），补全缺失模块\r\n5. Run full validation (Step 4)\r\n\r\n> **关键约束**：R4 入口即使用户给的是完整草稿，也不能直接跳到 Step 4 验证。必须先走\"反推四要素 → 确认门 → 同类预检\"流程，确保 SkillHub 同类搜索比对不被遗漏。\r\n\r\n---\r\n\r\n## Part 3: Skill Improvement Diagnosis (改进诊断)\r\n\r\nWhen user says \"my skill doesn't work / runs off / too verbose\":\r\n\r\n### Diagnosis Script: Symptom → Check Point → Action\r\n\r\n| Symptom | Check Point | Action |\r\n|---------|------------|--------|\r\n| **不被触发** | description里有没有触发关键词？关键词在前200字符吗？ | 重写description，关键词前置 |\r\n| **触发太频繁** | description太宽泛？Do NOT范围太窄？ | 收窄description，扩大Do NOT |\r\n| **输出跑偏** | 任务定义模糊？输出格式不具体？ | 锁定任务边界，固定输出格式 |\r\n| **输出太啰嗦** | 规则太多？示例太长？ | 精简到3-5条规则，示例只保留1组 |\r\n| **边界情况崩** | 示例没覆盖边界？规则有漏洞？ | 补充边界示例，修复规则漏洞 |\r\n| **格式不一致** | 输出格式字段模糊？ | 每个字段固定具体格式 |\r\n| **安全风险** | 有curl/wget/凭证读取？ | 立即移除，走安全红线检查 |\r\n\r\n### Improvement Flow\r\n\r\n```\r\n用户描述症状\r\n  ↓\r\n诊断脚本匹配症状 → 检查点 → 动作\r\n  ↓\r\n执行修复\r\n  ↓\r\n触发测试验证（5条真实用户说法）\r\n  ↓\r\n确认修复有效 → 迭代或交付\r\n```\r\n\r\n### Level-Adaptive Diagnosis\r\n\r\n- 小白：直接告诉用户哪里有问题、怎么改，用户只需确认\r\n- 老手：指出问题点和优化方向，让用户自己决定改不改\n\nFile v6.3.0:skill-card.md\n\n## Description: <br>\nSkill Forge 技能熔炉 helps agents create, evaluate, and improve agent skills through gated interviews, peer checks, validation, and user-confirmed repair workflows. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[edwardwason](https://clawhub.ai/user/edwardwason) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and skill authors use this skill to turn repeatable workflows, prior conversations, or draft skill files into structured agent skills, then assess and improve them before handing off publishing to a separate skill. It also supports a focused evaluation path for comparing similar skills and checking quality dimensions. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Generated or edited skill files may contain incorrect instructions or misaligned behavior if the user's request is ambiguous. <br>\nMitigation: Review the proposed plan and file changes before accepting them, and scan the resulting skill before deployment. <br>\nRisk: The skill can create or modify local skill files in user-selected directories. <br>\nMitigation: Use the confirmation gate before repairs or writes, and stop before confirmation if file changes are not desired. <br>\n\n\n## Reference(s): <br>\n- [Skill Forge on ClawHub](https://clawhub.ai/edwardwason/skills/skill-forge-ai) <br>\n- [Skill Forge repository](https://github.com/EdwardWason/skill-forge) <br>\n- [authoring-principles.md](references/authoring-principles.md) <br>\n- [pre-gate-and-routing.md](references/pre-gate-and-routing.md) <br>\n- [interview-flow.md](references/interview-flow.md) <br>\n- [composition-and-pipeline.md](references/composition-and-pipeline.md) <br>\n- [interview-methods.md](references/interview-methods.md) <br>\n- [benchmarking-guide.md](references/benchmarking-guide.md) <br>\n- [meeting-action-extractor-example.md](references/meeting-action-extractor-example.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, configuration, guidance] <br>\n**Output Format:** [Markdown guidance and generated or edited skill files] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May create or modify SKILL.md, references, scripts, or asset files only in user-selected skill directories after confirmation.] <br>\n\n## Skill Version(s): <br>\n6.3.0 (source: frontmatter and server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v6.2.0: 10 files, 32407 bytes\n\nFiles: references/authoring-principles.md (19557b), references/benchmarking-guide.md (4214b), references/composition-and-pipeline.md (5161b), references/interview-flow.md (4758b), references/interview-methods.md (7664b), references/meeting-action-extractor-example.md (2371b), references/pre-gate-and-routing.md (6037b), skill-card.md (3099b), SKILL.md (12602b), _meta.json (133b)\n\nFile v6.2.0:SKILL.md\n\n---\r\nname: \"skill-forge\"\r\nslug: \"skill-forge-ai\"\r\ndisplayName: \"Skill Forge 技能熔炉\"\r\ndescription: \"技能熔炉 — 锻造/评估 Skill。说 技能熔炉 走全流程；说 技能评估/skill评估/评估技能 只做同类比对+腾讯9维度。发布环节请用 skill-publisher。Do NOT use for editing existing skills, skill security vetting, skill publishing (use skill-publisher), or general coding tasks.\"\r\nversion: \"6.2.0\"\r\nlicense: \"MIT-0\"\r\nsummary: \"锻造 → 评估，两入口全流程交付可自动触发、稳定输出的 Skill。v6.2.0 修复 ClawHub displayName 锁定 + README 版本同步。发布由 skill-publisher 承接。\"\r\nallowed-tools: \"Read, Write, Edit, Glob, Grep, LS, AskUserQuestion\"\r\nmetadata:\r\n  openclaw:\r\n    skillKey: \"skill-forge\"\r\n    emoji: \"⚒️\"\r\n    homepage: \"https://github.com/EdwardWason/skill-forge\"\r\n    os: [\"windows\", \"macos\", \"linux\"]\r\n    requires:\r\n      bins: []\r\n      env: []\r\n    primaryEnv: \"\"\r\n    envVars: []\r\n    always: false\r\n---\r\n\r\n# 技能熔炉 v6.2.0\r\n\r\n锻造 → 评估，两入口全流程交付可自动触发、稳定输出的 Skill。发布环节由独立的 skill-publisher 技能承接。\r\n\r\n## 入口检测\r\n\r\n| 触发词 | 入口 | 执行流程 |\r\n|--------|------|---------|\r\n| 技能熔炉 | Phase -1 | 前置闸门→入口路由→访谈→确认门→同类预检→创建→验证→评估→发布交接提醒 |\r\n| 技能评估 / skill评估 / 评估技能 | Phase 2 | 只做 SkillHub 同类比对 + 腾讯9维度 |\r\n\r\n**检测到触发词后，立即跳转到对应 Phase，不执行前面的阶段。**\r\n\r\n**发布不在本技能范围内**：当用户说\"技能发布/发布技能/更新技能/迭代技能\"时，应触发 skill-publisher，不是本技能。\r\n\r\n## 撰写原则（5 大原则，必读）\r\n\r\n完整 5 大原则详见 [`references/authoring-principles.md`](references/authoring-principles.md) — 创建 Skill 前必读，作为\"声明-行为一致性\"的硬门控。原三条铁律映射到原则 1/1/4，补充原则 3（最小权限）和原则 5（用户知情）：\r\n\r\n| 原则 | 一句话 | 对应原铁律 |\r\n|------|--------|-----------|\r\n| 1. 声明-行为一致性 | name/description/metadata/行为四者对齐 | 铁律1 Description先行（扩展） |\r\n| 2. 权力比例适当 | 副作用强度 ≤ 用户预期 + 披露程度 | （新增） |\r\n| 3. 最小权限 | allowed-tools 只列实际需要的工具 | （新增） |\r\n| 4. 渐进式披露 | SKILL.md ≤200 行，细节下沉 references/ | 铁律3 渐进式披露 |\r\n| 5. 用户知情 | 有副作用必须 README 警告 + 关闭方式 | （新增） |\r\n\r\n> 原\"铁律2 一Skill一职\"已并入原则 1（声明-行为一致性）：description 必须明确单一职责，多功能 Skill 触发混乱本质是声明-行为不一致。\r\n\r\n## 权限声明\r\n\r\n本技能实际使用的能力类别（用户须知）：\r\n\r\n| 能力类别 | 是否使用 | 说明 |\r\n|---------|---------|------|\r\n| 网络访问 | ❌ | 不发起任何网络请求 |\r\n| 文件读写 | ✅ | 在用户指定目录创建/修改 skill 文件（SKILL.md/references/scripts/assets） |\r\n| 环境变量 | ❌ | 不读取任何环境变量（无凭证需求） |\r\n| subprocess | ❌ | 不调用任何外部命令 |\r\n| 外部 API | ❌ | 不调用任何外部 API（SkillHub 同类搜索由 TRAE 内置工具完成） |\r\n\r\n**用户警告**：本技能会在用户指定目录创建/修改 skill 文件。如不希望写入文件，可在确认门前终止流程。本技能不执行任何发布操作（发布由 skill-publisher 承接）。\r\n\r\n## SKILL.md 格式（完整 frontmatter 示例）\r\n\r\n```markdown\r\n---\r\nname: \"<skill-name>\"\r\nslug: \"<skill-name>-ai\"\r\ndisplayName: \"<Skill Name>\"\r\ndescription: \"<做什么 + 何时触发 + Do NOT 范围. 核心关键词放前200字符>\"\r\nversion: \"<MAJOR.MINOR.PATCH>\"\r\nlicense: \"MIT-0\"\r\nsummary: \"<一句话摘要>\"\r\nallowed-tools: \"<工具白名单>\"\r\nmetadata:\r\n  openclaw:\r\n    skillKey: \"<skill-name>\"\r\n    emoji: \"<emoji>\"\r\n    homepage: \"<https://github.com/...>\"\r\n    os: [\"windows\", \"macos\", \"linux\"]\r\n    requires:\r\n      bins: []\r\n      env: []\r\n    primaryEnv: \"\"\r\n    envVars: []\r\n    always: false\r\n---\r\n\r\n# <技能标题>\r\n## 任务\r\n## 输出格式\r\n## 规则\r\n## 示例\r\n## 故障排除（可选）\r\n```\r\n\r\n## 目录结构\r\n\r\n```\r\n<skill-name>/\r\n├── SKILL.md          # 主入口（≤200行）\r\n├── references/       # 长文档、方法论、详细案例\r\n├── scripts/          # 可执行脚本（确定性操作）\r\n├── assets/           # 模板、schema、示例文件\r\n├── README.md         # 中英双语说明\r\n├── CHANGELOG.md      # 版本日志\r\n├── LICENSE           # MIT-0\r\n└── .claude-plugin/plugin.json\r\n```\r\n\r\n---\r\n\r\n## Phase -1: 前置闸门\r\n\r\n**【入口：技能熔炉】** — 读取 [`references/pre-gate-and-routing.md`](references/pre-gate-and-routing.md) 获取完整闸门+路由方法论。\r\n\r\n**动手前先判断三件事，该劝退就劝退：**\r\n\r\n| 检查 | 通过 | 劝退 |\r\n|------|------|------|\r\n| 值不值得做？最近一周≥3次？做法固定？输出可预期？ | ≥2个Yes → 继续 | 一次性任务→\"直接问AI更快\" |\r\n| 有没有现成的？SkillHub上有同类吗？ | 没有 or 有差距 → 继续 | 有且很好→\"建议安装: skillhub install <slug>\" |\r\n| 是不是太大了？该拆成几个？ | 单一场景 → 继续 | 多场景→\"建议拆开，先做哪个？\" |\r\n\r\n## Phase 0: 入口路由与需求共创\r\n\r\n**【入口：技能熔炉】** — 读取 [`references/pre-gate-and-routing.md`](references/pre-gate-and-routing.md) Part 2-3 + [`references/interview-flow.md`](references/interview-flow.md) 获取完整方法论。\r\n\r\n### Step 0.1: 五类入口路由\r\n\r\n| 入口 | 信号 | 策略 |\r\n|------|------|------|\r\n| R1 从零想法 | \"我想做个skill\" | 自适应访谈（Step 0.2） |\r\n| R2 从对话提取 | \"把刚才对话变成skill\" | 扫描上下文→提取步骤→生成草稿→确认门→Step 0.4 |\r\n| R3 从现成材料 | 给文档/SOP | 分析材料→反推四要素→补缺→确认门→Step 0.4 |\r\n| R4 从草稿完善 | 给半成品SKILL.md | 反推四要素→确认门→Step 0.4 同类预检→补全→验证 |\r\n| R5 改进已有skill | \"不触发/跑偏/太啰嗦\" | 诊断：症状→检查点→动作→修复→验证 |\r\n\r\n### Step 0.2: 自适应访谈（2-5轮，一次一问）\r\n\r\n**水平自适应**：从用户措辞判断水平。张口pandas→用术语；说\"差不多就行\"→换大白话。**全程不问\"你几级\"**。\r\n\r\n**一次一问**：每轮只问1个问题+2-3个选项。一次甩3个问题，用户只会挑最好答的。\r\n\r\n**四要素**：做什么 / 何时触发 / 输入输出 / 边界。≥3个明确→进入确认门。\r\n\r\n### Step 0.3: 确认门\r\n\r\n**理解没对齐，绝不动手写。**\r\n\r\n```\r\n我理解是这样——\r\n· 做什么：[一句话]\r\n· 何时触发：[用户会说的话]\r\n· 输入：[格式]；输出：[格式]\r\n· 边界：[不做什么]\r\n这样对吗？没问题我就开始写了。\r\n```\r\n\r\n用户确认 → Step 0.4 同类预检。用户纠正 → 修正后重新确认。\r\n\r\n### Step 0.4: 同类预检（创建前）\r\n\r\n**【入口：技能熔炉】** — 读取 [`references/composition-and-pipeline.md`](references/composition-and-pipeline.md) 获取组合与管线编排方法论。\r\n\r\n**适用范围**：所有创建类入口（R1/R2/R3/R4）的确认门通过后必须执行。R5 改进类跳过（走诊断模式）。**即使用户带着成熟的想法、现成仓库、教程材料或半成品草稿调用，也不能跳过此环节**——必须先收敛递归转写为四要素 plan，确认门对齐后再做同类预检。\r\n\r\n**确认门通过后，立即搜索 SkillHub，避免重复造轮子：**\r\n\r\n| 分支 | 条件 | 动作 |\r\n|------|------|------|\r\n| **a) 有现成的更好** | 找到高质量同类(≥7分) | 建议安装已有Skill，结束流程 |\r\n| **b) 有但不够好** | 有同类但有明显差距 | 提取差异点→作为Phase 1设计输入 |\r\n| **c) 无同类** | 没有同类Skill | 直接进入Phase 1创建 |\r\n| **d) 可组合** | 需求可分解为多个原子操作 | 元技能组合+管线编排建议 |\r\n\r\n**分支d详解**：需求分解为原子操作→逐个搜索→评估覆盖率：\r\n- 全组合：所有步骤都有高质量Skill→建议安装+编排管线，无需新建\r\n- 部分组合：部分有高质量→安装已有的+只新建缺失的\r\n- 全新建：无高质量同类→直接Phase 1\r\n\r\n---\r\n\r\n## Phase 1: 创建\r\n\r\n**【入口：技能熔炉】**\r\n\r\n### Step 1: Description先行 + 触发优化迭代\r\n\r\n**格式**: `\"<做什么>. 当用户说<触发词>时触发. Do NOT use for <排除范围>.\"`\r\n\r\n**触发优化迭代**：初版description写完后，用5条真实用户说法测试触发准确率。触发不准→自动迭代用词。最多3轮。\r\n\r\n### Step 2: 撰写4+1模块\r\n\r\n任务（锁定边界）/ 输出格式（固定结构）/ 规则（3-5条，实习生测试）/ 示例（完整输入输出）/ 故障排除（可选）\r\n\r\n### Step 3: 创建目录和文件\r\n\r\n有确定性操作→创建 `scripts/`。有模板样式→创建 `assets/`。\r\n\r\n### Step 4: 分层验证\r\n\r\n**默认轻量验证（小白/日常）：**\r\n- **Step 4a**: Schema检查 — 完整 10 项自检清单见 [`references/authoring-principles.md`](references/authoring-principles.md) §六（含 frontmatter 字段齐全 / description 三要素 / SKILL.md ≤200 行 / allowed-tools 最小权限 / metadata.openclaw 声明 / 无凭证硬编码 / Lethal Trifecta / CHANGELOG 版本一致 / plugin.json 一致）\r\n- **Step 4b**: 安全红线（7条RED FLAG）\r\n- **Step 4c**: 跑给你看 — 拿真实输入跑一遍→看结果→确认/微调\r\n\r\n**可选重型验证（老手/严谨场景）：**\r\n- **Step 4d**: 触发测试 — 5条真实用户说法+3条反向\r\n- **Step 4e**: 量化评分（0-10）\r\n- **Step 4f**: 基线对比（有Skill vs 无Skill）\r\n\r\n**最多3次迭代。3次后建议\"先发布V1再迭代\"。**\r\n\r\n---\r\n\r\n## Phase 2: 质量自评 + 差异化验证\r\n\r\n**【入口：技能评估 / skill评估 / 评估技能】** — 读取 [`references/benchmarking-guide.md`](references/benchmarking-guide.md)。\r\n\r\n> **角色调整**：同类搜索已前移到 Step 0.4（创建前）。Phase 2 现在聚焦于创建后的质量自评和差异化验证。\r\n\r\n### Step 5a: 腾讯9维度自评 — 触发精准度/关键词前置/Do NOT/单一职责/4模块/输出具体性/实习生测试/示例覆盖/体积控制。逐维度自评，标出弱项。\r\n\r\n### Step 5b: 差异化验证 — 如果 Step 0.4 发现有同类，验证差异化优势是否落地。如果无同类，跳过。\r\n\r\n### Step 5c: 盲区修复 — 列出弱项和盲区，附腾讯手册依据，提出修复方案。\r\n\r\n### Step 5d: 用户决策 — 采纳修复 / 保持原样。**用户决策为最终决策。**\r\n\r\n---\r\n\r\n## 发布交接提醒\r\n\r\n**触发条件**：Phase 2 评估完成（Step 5d 用户选择\"保持原样\"或\"采纳修复且修复完成\"），且用户未选择\"直接安装已有\"。\r\n\r\n**触发时提示**：\r\n\r\n> Skill 已通过锻造与评估。如需发布到 GitHub + ClawHub + SkillHub，请说\"技能发布\"或\"发布技能\"调用 **skill-publisher** 技能，它负责：前置条件校验 → 仓库结构生成 → 安全审查 → 版本号查重 → 三平台推送 → 发布后验证 → 本地安装同步。\r\n\r\n**不要在本技能内执行任何发布操作。** 发布是独立技能 skill-publisher 的职责，本技能仅负责锻造与评估。\r\n\r\n---\r\n\r\n## References\r\n\r\n- **[authoring-principles.md](references/authoring-principles.md)** — 5 大撰写原则 + frontmatter 规范 + 6 大反模式 + 10 项自检清单（v5.2 新增，从 skill-auditor 反哺）\r\n- **[pre-gate-and-routing.md](references/pre-gate-and-routing.md)** — Phase -1 闸门 + 五类入口路由 + 改进诊断脚本\r\n- **[interview-flow.md](references/interview-flow.md)** — 一次一问 + 水平自适应 + 确认门 + B1-B6规则\r\n- **[composition-and-pipeline.md](references/composition-and-pipeline.md)** — Step 0.4 元技能组合 + 管线编排方法论\r\n- **[interview-methods.md](references/interview-methods.md)** — 行为追问、偏误检测、选项法深度参考\r\n- **[benchmarking-guide.md](references/benchmarking-guide.md)** — 腾讯9维度自评模板 + 差异化验证\r\n- **[meeting-action-extractor-example.md](references/meeting-action-extractor-example.md)** — 完整Skill示例\n\nFile v6.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn75zj7vzdyvap84adxa8heyyd82f5eh\",\n  \"slug\": \"skill-forge-ai\",\n  \"version\": \"6.2.0\",\n  \"publishedAt\": 1784464172745\n}\n\nFile v6.2.0:references/authoring-principles.md\n\n# Skill 撰写原则\n\n**同步源**: 本文件与 `skill-auditor/references/skill-authoring-guide.md` 同源，版本同步。\n**版本**: v1.0.0（2026-07-16 首次从 skill-authoring-guide.md 反哺）\n**When to read**: 创建 Skill 前必读，作为\"声明-行为一致性\"的硬门控。\n\n> 本文件以**创建视角**组织：撰写前 → 撰写中 → 撰写后。源文件 `skill-authoring-guide.md` 是审计视角（发现问题时指向指南），本文件是动手前主动遵循。\n\n---\n\n## 一、撰写前：5 大原则（创建期必须遵循）\n\n业界主流 Skill 平台的审核哲学围绕\"coherence（一致性）\"展开——不是禁止强大能力，而是要求**声明与行为对齐、权限与目的匹配、用户知情可控**。\n\n### 原则 1：声明-行为一致性（Coherence）\n\n`name` / `description` / `metadata` / 实际行为四者必须对齐，不能\"挂羊头卖狗肉\"。\n\n**可执行建议**：\n- `name` 用动词或动名词（如 `skill-auditor`、`wx-peitu`），不用模糊名词（如 `tool`、`helper`）\n- `description` 的\"做什么\"段必须与 SKILL.md 正文 `## 任务` 段一致；若 description 说\"8 维度审计\"，正文任务段不能写\"6 维度检查\"\n- `metadata.openclaw.requires.*` 声明的环境变量，必须在代码中实际使用；代码用了的环境变量，必须声明\n- `allowed-tools` 列出的工具，每个都要在 SKILL.md 流程中能找到调用点\n\n**自检方法**：写完后让另一个人（或 AI）只读 frontmatter，预测 Skill 会做什么；再读 SKILL.md 正文，对比预测与实际是否一致。差异处就是不一致点。\n\n### 原则 2：权力比例适当（Proportionality）\n\n强大行为本身不是问题，但必须**已披露 + 目的对齐 + 比例适当**。\n\n**可执行建议**：\n- 行为越强 → 文档越详细：只读分析可以一句话带过；自动推送外部平台必须有专门\"用户须知\"段\n- 副作用强度必须匹配用户预期：用户说\"格式转换\"预期是改本地文件；用户说\"发布\"预期是推外部；不要让\"转换\"悄悄发布\n- 不可逆操作（删除、覆盖、推送）必须前置确认或可配置关闭\n\n**判定公式**：`行为强度 ≤ 用户预期 + 披露程度`。任一项失衡就需要重新设计。\n\n### 原则 3：最小权限（Least Privilege）\n\n`allowed-tools` 和 `metadata.openclaw.requires` 只声明 Skill 实际需要的权限，不\"以防万一\"地多列。\n\n**可执行建议**：\n- 只读分析类 Skill：`allowed-tools: \"Read, Glob, Grep, LS\"`，不含 Write/Edit\n- 需要修改文件的 Skill：加上 `Edit, Write`，但必须在 SKILL.md 说明\"何时会修改、修改哪些文件\"\n- 需要网络的 Skill：声明 `WebFetch` 或对应 CLI 工具的 `requires.bins`，并说明\"访问哪些域名、做什么\"\n- 永远不要加 `Bash` 这种通配权限，列出具体工具名\n\n**反例**：一个只读分析 Skill 写 `allowed-tools: \"Read, Write, Edit, Bash, WebFetch\"`——多出的 Write/Edit/Bash 都是隐患。\n\n### 原则 4：渐进式披露（Progressive Disclosure）\n\nSKILL.md 是导航地图，不是百科全书。核心流程放正文，详细规则、模板、示例下沉到 `references/`。\n\n**可执行建议**：\n- SKILL.md ≤ 200 行（硬上限 300 行）\n- SKILL.md 必含 4 模块：`## 何时触发` / `## 任务` / `## 输出格式` / `## 规则`（外加 `## 示例`）\n- 详细检查项、模板、扫描模式、对比方法论 → `references/*.md`\n- 长示例、配置样例、数据字典 → `references/examples.md` 或独立文件\n- 脚本代码 → `scripts/`，不在 SKILL.md 内联超过 20 行\n\n**判定标准**：SKILL.md 应该能 5 分钟读完，让读者知道\"这个 Skill 做什么、何时触发、输出什么、有哪些规则\"。\n\n### 原则 5：用户知情（User Awareness）\n\n有副作用的 Skill（自动推送、定时执行、写入外部服务、读取本地敏感数据）必须在 README 含用户警告，中英文同步。\n\n**可执行建议**：\n- README 顶部加\"用户须知\"或\"⚠️ 注意\"段，列出所有副作用\n- 每个副作用配关闭方式：`定时执行可通过设置 X=false 关闭` / `推送外部平台需在确认点明确授权`\n- 副作用涉及外部服务时，列出目标域名和操作类型（POST/上传/删除）\n- README.md 与 README.en.md 内容必须同步，警告段不能只写中文\n\n**最低标准**：用户读完 README 后，应该清楚知道\"这个 Skill 会动什么、不会动什么、出问题怎么关\"。\n\n---\n\n## 二、撰写中：frontmatter 规范（三平台兼容）\n\n### 必填字段表\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `name` | string | ✅ | kebab-case，全小写+连字符，与目录名一致 |\n| `description` | string | ✅ | ≤200 字符，含三要素（见第三部分） |\n| `version` | semver | ✅ | `MAJOR.MINOR.PATCH`，与 CHANGELOG 最新一致 |\n| `license` | SPDX | ✅ | 默认 `MIT` 或 `MIT-0`，不要加冲突 license |\n| `allowed-tools` | string | ✅ | 实际使用的工具白名单（原则 3） |\n| `metadata.openclaw` | object | 推荐 | 平台元数据（见下表） |\n\n### 完整 frontmatter 示例（含 metadata.openclaw）\n\n```yaml\n---\nname: \"skill-auditor\"\nslug: \"skill-auditor-ai\"\ndisplayName: \"Skill Auditor\"\ndescription: \"对已存在 Skill 做 8 维度全面体检（结构/安全/触发/有效性/竞争/平台/文档/代码质量）。说 技能审计/审计技能/技能体检 时触发。支持成熟度分级+4确认点+整改+回归审计。绝不自动发布。Do NOT use for creating skills or publishing to platforms.\"\nversion: \"1.2.1\"\nlicense: \"MIT\"\nsummary: \"对已存在 Skill 做 8 维度全面体检，支持三级成熟度分级+4确认点+整改模式+回归审计。绝不自动发布。\"\nallowed-tools: \"Read, Write, Edit, Glob, Grep, LS, WebFetch, AskUserQuestion\"\nmetadata:\n  openclaw:\n    skillKey: \"skill-auditor\"\n    emoji: \"🔍\"\n    homepage: \"https://github.com/owner/skill-auditor\"\n    os: [\"windows\", \"macos\", \"linux\"]\n    requires:\n      bins: [\"python\"]\n      env: []\n    primaryEnv: \"\"\n    envVars: []\n    always: false\n---\n```\n\n### 三平台字段对照\n\n| 字段 | ClawHub | SkillHub | 其他平台 |\n|------|---------|----------|---------|\n| `name` | ✅ 必填 | ✅ 必填 | ✅ 必填 |\n| `description` | ✅ 必填 | ✅ 必填 | ✅ 必填 |\n| `slug` | — | ✅ 必填（通常 `-ai` 后缀） | — |\n| `displayName` | — | ✅ 必填 | — |\n| `version` | 推荐 | ✅ 必填 | ✅ 必填 |\n| `summary` | — | ✅ 必填 | — |\n| `license` | 推荐 | ✅ 必填 | ✅ 必填 |\n| `allowed-tools` | 推荐 | — | ✅ 必填 |\n| `metadata.openclaw.*` | 推荐 | — | 推荐 |\n\n**兼容策略**：把所有平台的必填字段都填上，多平台共享同一份 frontmatter。字段冲突时（如 `slug` 在 ClawHub 无意义），多余字段会被忽略，不会报错。\n\n### metadata.openclaw 子字段速查\n\n| 子字段 | 作用 | 示例 |\n|--------|------|------|\n| `requires.env` | 必需环境变量数组（缺一不可） | `[\"FEISHU_APP_ID\", \"FEISHU_APP_SECRET\"]` |\n| `requires.bins` | 必需 CLI 工具数组（缺一不可） | `[\"lark-cli\", \"python\"]` |\n| `requires.anyBins` | 任一可用即可 | `[\"python\", \"python3\"]` |\n| `requires.config` | 必需配置文件 | `[\"references/config.json\"]` |\n| `primaryEnv` | 主环境变量名（用于提示用户配置） | `\"FEISHU_APP_ID\"` |\n| `envVars` | 可选环境变量列表（仅文档化，不强制） | `[\"VERBOSE_LOG\"]` |\n| `always` | 是否总是加载（默认 false） | `false` |\n| `skillKey` | Skill 内部唯一键 | `\"skill-auditor\"` |\n| `emoji` | 展示图标 | `\"🔍\"` |\n| `homepage` | 项目主页 URL | `\"https://github.com/...\"` |\n| `os` | 支持的操作系统数组 | `[\"windows\", \"macos\", \"linux\"]` |\n\n---\n\n## 三、撰写中：description 三要素公式\n\n### 公式\n\n```\ndescription = 做什么 + 何时触发 + Do NOT 范围\n```\n\n- **做什么**：一句话说清核心功能，动词开头\n- **何时触发**：列出 2-4 个核心触发词（中文 + 英文关键术语）\n- **Do NOT 范围**：用 `Do NOT use for ...` 列出容易混淆的相邻场景\n\n### 字符限制\n\n- 总长度 ≤ 200 字符（核心触发词必须在前 200 字符内）\n- 超过 200 字符会被部分平台截断，触发词后置会失效\n- 硬上限 250 字符，超过则审计标 Important\n\n### 行为范围声明（MCP Tool Poisoning 防护）\n\n如果 Skill 实际包含以下任一行为，**description 必须披露**（或在 SKILL.md \"权限声明\"段披露并由 description 指向）：\n\n| 行为 | 披露要求 | 示例措辞 |\n|------|---------|---------|\n| 读取本地文件 | 必须披露 | \"读取被审计 Skill 目录的文件\" |\n| 网络请求（urllib/CLI） | 必须披露 | \"可选网络访问：WebFetch 调用 X API\" |\n| subprocess 调用 | 必须披露 | \"通过 subprocess 调用 lark-cli\" |\n| 写入外部服务（POST/上传） | 必须披露 | \"上传生成的文件到飞书云空间\" |\n| 修改本地文件 | 必须披露 | \"整改模式（用户授权后）：Edit 修改被审计 Skill 文件\" |\n\n### 好例子 vs 坏例子\n\n**✅ 好**（只读分析类）：\n```\n对已存在 Skill 做 8 维度全面体检（结构/安全/触发/有效性/竞争/平台/文档/代码质量）。说 技能审计/审计技能/技能体检 时触发。支持成熟度分级+4确认点+整改+回归审计。绝不自动发布。Do NOT use for creating skills or publishing to platforms.\n```\n- 三要素齐全 + 行为范围反向披露（\"绝不自动发布\"）\n\n**❌ 坏 1**（只说功能不说行为）：\n```\n公众号排版工具，让文章更美观。\n```\n- 缺触发词、缺 Do NOT、未披露会调 API 推送 → 触发 MCP Tool Poisoning\n\n**❌ 坏 2**（行为范围缺失）：\n```\n自动发布技能到三平台。说 技能发布 时触发。\n```\n- \"自动发布\"未说明会推送到哪些外部平台、是否需授权、是否可撤销 → Missing User Warnings\n\n---\n\n## 四、撰写后：Lethal Trifecta 自检（创建期红线）\n\n业界安全框架识别出\"致命三角\"——三者同时满足时，Skill 设计存在系统性风险，需要重新设计：\n\n| 要素 | 说明 | 自检问题 |\n|------|------|---------|\n| 1. 访问私有数据 | 读取本地敏感文件（memory/profile/credentials/config/ssh） | \"我的 Skill 是否读取用户私人数据？\" |\n| 2. 暴露不可信内容 | 输出会被 LLM 作为上下文消费（MD/JSON/日志/对话回复） | \"输出文件是否会被 AI 读取作为后续指令？\" |\n| 3. 对外通信 | 能向外部服务发送数据（API POST/文件上传/subprocess 网络调用） | \"Skill 能否把数据发到外部？\" |\n\n**判定规则**：\n- 三者同时满足 = **重新设计**：要么去掉私有数据访问，要么去掉对外通信，要么确保输出不被 LLM 消费\n- 满足两项 = **需要缓解措施**：见下方分级清单\n- 满足一项或零项 = **低风险**，常规规范即可\n\n### 权力分级与安全措施\n\n**Low 级别（只读分析）**：\n- [ ] `allowed-tools` 不含 Write/Edit/Bash\n- [ ] 不读取 `~/.ssh` / `~/.aws` / `.env` / `config.local.json`\n- [ ] 输出报告中不打印凭证值（只打印凭证存在性）\n\n**Medium 级别（修改本地文件）**：\n- [ ] Low 级别的全部措施\n- [ ] 修改前需用户在确认点明确授权\n- [ ] 每次修改标注 `file:line`，可追溯\n- [ ] 不覆盖未注释的代码（删除即删除，不留\"参考\"）\n- [ ] subprocess 调用的命令在 SKILL.md 列明\n\n**High 级别（推送外部平台/网络外发）**：\n- [ ] Medium 级别的全部措施\n- [ ] README 含\"用户须知\"段，列出所有外部目标和操作类型\n- [ ] 每次外部操作前需用户在确认点明确授权（模糊回答要追问）\n- [ ] 凭证从环境变量读取，绝不硬编码\n- [ ] 提供\"不推送只本地\"的降级模式\n- [ ] Lethal Trifecta 自检通过（不能三项全占）\n\n---\n\n## 五、撰写后：6 大反模式（创建期主动规避）\n\n以下反模式提炼自 SkillSpector 实际审计 findings，撰写时应主动规避。\n\n### 反模式 1：description 只说功能不说行为范围\n\n**表现**：description 写\"X 工具，让 Y 更高效\"，但实际代码读取本地文件、调用网络 API、subprocess 执行外部命令——description 完全不披露。\n\n**后果**：触发 MCP Tool Poisoning 标记，平台审核拒绝发布。\n\n**修复**：在 description 或 SKILL.md \"权限声明\"段列出全部行为，参见第三部分的行为范围声明表。\n\n### 反模式 2：有副作用但 README 无警告\n\n**表现**：Skill 会自动推送外部平台或定时执行，README 只写\"功能介绍\"和\"使用方法\"，没有\"用户须知\"段告知副作用和关闭方式。\n\n**后果**：触发 Missing User Warnings，用户无法知情控制。\n\n**修复**：README 顶部加\"⚠️ 注意\"段，每个副作用配关闭方式，中英文同步。\n\n### 反模式 3：allowed-tools 含 curl 但不声明\n\n**表现**：`allowed-tools` 写了 `Bash` 或代码里用 `subprocess` 调 `curl`，但 frontmatter 和 SKILL.md 都没声明网络权限。\n\n**后果**：触发 MCP Least Privilege 标记，权限与声明不匹配。\n\n**修复**：声明 `requires.bins: [\"curl\"]` 或具体 CLI 工具；在 SKILL.md \"权限声明\"段说明\"访问哪些域名、做什么\"。\n\n### 反模式 4：嫁接痕迹（\"继承自 XX 技能\"）\n\n**表现**：SKILL.md / README / CHANGELOG 中出现\"继承自 skill-yyy\"、\"based on skill-zzz\"、\"forked from\"、\"与 skill-www 的分工\"等措辞。\n\n**后果**：触发 D-O1/O3/O4 嫁接痕迹检查，标 Important；降低原创度评分。\n\n**修复**：用场景描述替代具体技能名。例如：\n- ❌ \"继承自 skill-creator，负责审计\" → ✅ \"定义 8 维度审计方法论\"\n- ❌ \"与 skill-publisher 的分工\" → ✅ \"提供发布建议，由用户手动执行\"\n\n### 反模式 5：YARA 触发词字面量\n\n**表现**：文档或代码中出现 shell history 清理命令、PowerShell 错误忽略参数、递归强制删除组合、权限放宽命令、输出重定向到空设备等字面量——即使是在\"不要使用 XXX\"的说明中也会触发匹配。\n\n**后果**：触发 YARA 规则 `agent_skill_destructive_autonomous_actions`，标 Critical，平台拒绝发布。\n\n**修复**：用类别描述替代字面量。例如：\n- ❌ 写出具体 shell history 清理命令 → ✅ \"shell history 清理命令类别\"\n- ❌ 写出具体权限放宽命令 → ✅ \"全权限设置命令\"\n- CHANGELOG 历史记录中含字面量也要重新措辞\n\n### 反模式 6：声明-行为不一致\n\n**表现**：\n- D-M1：frontmatter 没声明 `requires.env`，但代码用了环境变量\n- D-M2：frontmatter 没声明 `requires.bins`，但代码 subprocess 调用了 CLI 工具\n- D-M3：`allowed-tools` 列了某工具，但 SKILL.md 流程中找不到调用点\n\n**后果**：触发 Description-Behavior Mismatch，标 Important；用户安装后无法正常运行。\n\n**修复**：\n- 代码用了什么 env/bins，frontmatter 就声明什么\n- `allowed-tools` 每个工具都要在 SKILL.md 流程中找到调用点\n- 写完后做一次\"声明-行为对账\"：列出 frontmatter 声明的所有项，逐项在代码中找证据\n\n---\n\n## 六、撰写后：发布前自检清单（10 项硬门控）\n\n发布前必须逐项打勾，全部通过才能进入发布流程。\n\n- [ ] **1. frontmatter 必填字段齐全**：name / description / version / license 都存在；name 符合 kebab-case；version 是合法 semver\n- [ ] **2. description ≤200 字符 + 含 Do NOT + 含行为范围声明**：长度 ≤200（核心触发词在前 200 字符内）；含 \"Do NOT use for ...\" 段；含行为范围声明（如有读取本地/网络/subprocess/外部写入）\n- [ ] **3. SKILL.md ≤200 行 + 4 模块齐全**：行数 ≤200（硬上限 300）；含 ## 何时触发 / ## 任务 / ## 输出格式 / ## 规则；详细内容下沉 references/\n- [ ] **4. allowed-tools 不含无关权限**：每个工具都能在 SKILL.md 找到调用点；不含 Bash 等通配权限；只读 Skill 不含 Write/Edit\n- [ ] **5. README 中英文同步 + 含用户警告（如有副作用）**：README.md 与 README.en.md 内容同步；有副作用的 Skill 含\"⚠️ 注意\"段；每个副作用配关闭方式\n- [ ] **6. metadata.openclaw.requires 声明所有 env/bins**：代码用的环境变量都在 requires.env；subprocess 调用的 CLI 都在 requires.bins；D-M1/M2 自检通过\n- [ ] **7. 无凭证硬编码 / 无本地路径 / 无 YARA 触发词**：Grep 凭证模式（token/api_key/secret/sk-/ghp_/cli_ 等）零真实值；Grep 本地路径模式（C:\\\\/D:\\\\/Users/Administrator/.trae-cn）零匹配；Grep YARA 5 类字面量零匹配（含 CHANGELOG）\n- [ ] **8. Lethal Trifecta 自检通过**：访问私有数据 + 暴露不可信内容 + 对外通信 三者不同时满足；High 级别 Skill 有完整缓解措施\n- [ ] **9. CHANGELOG 版本号 = frontmatter version**：CHANGELOG.md 最新条目版本号与 frontmatter version 一致；最新条目有日期和变更说明\n- [ ] **10. plugin.json 与 frontmatter 一致**：.claude-plugin/plugin.json 的 name/version/description 与 frontmatter 一致；无冲突字段\n\n---\n\n## 七、平台规范要点\n\n### License\n\n- 默认使用 `MIT` 或 `MIT-0`（更宽松）\n- 不要加与 MIT 冲突的 license（如 GPL、AGPL）——会导致平台拒绝收录\n- LICENSE 文件放在 Skill 根目录\n\n### 文件大小与类型\n\n- 总 bundle 大小 ≤ 50MB（含所有文件）\n- 文本文件扩展名白名单：`.md` / `.json` / `.yaml` / `.yml` / `.txt` / `.py` / `.js` / `.ts` / `.ps1` / `.sh` / `.html` / `.css`\n- 二进制文件（图片、视频、可执行文件）尽量避免；必须包含时单独说明用途\n\n### .gitignore 必须排除\n\n```gitignore\n# Python 缓存\n__pycache__/\n*.pyc\n*.pyo\n\n# 平台自动生成\n.clawhub/\n\n# 本地凭证\nconfig.local.json\nconfig.local.*.json\n.env\n.env.local\n\n# 临时脚本\n_*.py\n_*.ps1\n_*.sh\n\n# 日志\n*.log\n\n# 维护者发布脚本（可选）\npublish_*.ps1\npublish_*.sh\n```\n\n**关键**：`.clawhub/` 目录由平台自动生成，**禁止手动创建或提交**；`config.local.json` 是本地凭证文件，**绝对不能提交**。\n\n### 平台自动生成文件（禁止发布）\n\n以下文件由平台自动生成，**禁止手动创建或提交到仓库**：\n\n| 文件/目录 | 生成方 | 用途 |\n|-----------|--------|------|\n| `skill-card.md` | ClawHub | Skill 展示卡片 |\n| `.clawhub/` | ClawHub | 平台元数据缓存 |\n| `.skillhub-cache/` | SkillHub | 平台缓存 |\n\n**自检**：发布前 LS 仓库根目录，确认以上文件都不存在。如果存在，删除后重新提交。\n\n---\n\n## 附录：撰写流程速查\n\n```\n撰写前：\n  1. 读 5 大原则（本文件 §一）\n  2. 锁定 Skill 单一职责（原则 1+2）\n  3. 评估权力级别（Low/Medium/High）—— 决定后续安全措施强度\n\n撰写中：\n  4. 写 frontmatter（本文件 §二）—— 三平台字段都填\n  5. 写 description（本文件 §三）—— 三要素 + 行为范围声明\n  6. 写 SKILL.md 4 模块 —— ≤200 行（原则 4）\n  7. 有副作用 → 写 README \"⚠️ 注意\"段（原则 5）\n\n撰写后：\n  8. Lethal Trifecta 自检（本文件 §四）\n  9. 6 大反模式扫一遍（本文件 §五）\n  10. 10 项发布前自检清单（本文件 §六）\n  11. 平台规范检查（本文件 §七）\n```\n\nFile v6.2.0:references/benchmarking-guide.md\n\n# Quality Self-Assessment & Differentiation Guide\n\nComplete methodology for Phase 2 quality self-assessment in skill-forge v5.1.\n\n> **v5.1 架构变更**：同类搜索已前移到 Step 0.4（创建前）。Phase 2 现在聚焦于创建后的质量自评和差异化验证。\n\n**When to read**: When entering Phase 2 (after Phase 1 creation + self-validation completes), or when triggered by \"技能评估\" entry. Read this file in full before starting assessment.\n\n---\n\n## Step 5a: 腾讯9维度自评\n\nEvaluate the created Skill on these **9 Tencent Skills Manual dimensions**:\n\n| # | Tencent Principle | What to check |\n|---|-------------------|---------------|\n| 1 | **Description: trigger precision** | Does description clearly state WHEN to invoke? |\n| 2 | **Description: keyword frontloading** | Are core trigger keywords in first 200 chars? |\n| 3 | **Description: Do NOT scope** | Does description explicitly state what it's NOT for? |\n| 4 | **One Skill = One Job** | Does it focus on a single scenario with one deliverable? |\n| 5 | **4-module structure** | 任务/输出格式/规则/示例 all present? |\n| 6 | **Output format: concrete** | Every field has fixed format, no vague instructions? |\n| 7 | **Rules: Intern Test** | Every rule is directly actionable, no useless defaults? |\n| 8 | **Example: edge case coverage** | Example covers boundary situations? |\n| 9 | **Size: under 200 lines** | Lean and focused, no bloat? Progressive disclosure (references/scripts/assets)? |\n\n### Self-Assessment Table\n\nFill in self-evaluation scores (1-10) and mark weak dimensions:\n\n| # | Tencent Principle | Score (1-10) | Weak? | Notes |\n|---|-------------------|--------------|-------|-------|\n| 1 | Trigger precision | | | |\n| 2 | Keyword frontloading | | | |\n| 3 | Do NOT scope | | | |\n| 4 | One Job | | | |\n| 5 | 4-module structure | | | |\n| 6 | Output concreteness | | | |\n| 7 | Intern Test rules | | | |\n| 8 | Edge case coverage | | | |\n| 9 | Size control (≤200 lines + progressive disclosure) | | | |\n\n**Any score <7 → mark as weak dimension, must propose fix in Step 5c.**\n\n---\n\n## Step 5b: 差异化验证\n\n### If Step 0.4 found peers (分支b)\n\nVerify that the differentiation advantages identified in Step 0.4 are actually reflected in the created Skill:\n\n```\nStep 0.4 差异点: [具体差异]\n  → Skill中的体现: [在哪个模块/规则/示例中落地]\n  → 验证结果: ✅已落地 / ❌未落地\n\nStep 0.4 差异点: [具体差异]\n  → Skill中的体现: [在哪个模块/规则/示例中落地]\n  → 验证结果: ✅已落地 / ❌未落地\n```\n\n**未落地的差异点 → 补充到Step 5c修复方案。**\n\n### If Step 0.4 found no peers (分支c)\n\nSkip differentiation verification. Proceed directly to Step 5c blind spot check.\n\n---\n\n## Step 5c: 盲区修复\n\n### For weak dimensions (Step 5a score <7)\n\nList specific improvements with Tencent Manual justification:\n\n```\n弱项1: [维度#N - 具体问题]（评分: X/10）\n  → 腾讯手册依据: [相关原则]\n  → 修复方案: [具体修复动作]\n  → 预期提升: 修复后评分可达 X/10\n\n弱项2: [维度#N - 具体问题]（评分: X/10）\n  → 腾讯手册依据: [相关原则]\n  → 修复方案: [具体修复动作]\n  → 预期提升: 修复后评分可达 X/10\n```\n\n### For unlanded differentiation (Step 5b ❌)\n\n```\n未落地差异: [差异点]\n  → 补充位置: [哪个模块需要补充]\n  → 补充内容: [具体内容]\n```\n\n---\n\n## Step 5d: 用户决策\n\nPresent assessment results with options:\n\n1. **采纳修复** — Apply all fixes, re-run Step 4 validation\n2. **保持原样** — Ship as-is, acknowledge weak dimensions\n\n**User's decision is final.** AI recommends but never forces.\n\n---\n\n## 独立评估入口（技能评估触发词）\n\nWhen triggered by \"技能评估 / skill评估 / 评估技能\" (not part of full workflow):\n\n1. Ask user for the Skill to evaluate (file path or content)\n2. Run Step 5a self-assessment (9 dimensions)\n3. Run Step 5c blind spot analysis\n4. Present results + improvement suggestions\n5. User decides whether to apply fixes\n\n**Note**: This path does NOT include Step 5b (differentiation verification), because there's no Step 0.4 peer search context.\n\nFile v6.2.0:references/composition-and-pipeline.md\n\n# Composition & Pipeline Orchestration (元技能组合与管线编排)\n\nComplete methodology for Step 0.4 meta-skill composition suggestions in skill-forge v5.1.\n\n**When to read**: When Step 0.4 pre-check finds that the user's need can be decomposed into multiple existing Skills, or when a multi-step pipeline is more efficient than creating a new monolithic Skill.\n\n---\n\n## Core Principle\n\n**Before creating a new Skill, check if the need can be met by combining existing high-quality Skills.**\n\nMany \"I want a Skill that does X\" requests are actually multi-step workflows:\n- \"把会议录音转成行动项\" = 音频转文字 + 纪要提取 + 行动项生成\n- \"把网页文章转成公众号排版\" = 网页提取 + 内容增强 + 排版\n- \"把PDF转成知识卡片\" = PDF提取 + 内容归纳 + 卡片生成\n\nIf each step already has a high-quality Skill, composing them is better than building a monolithic new one.\n\n---\n\n## Decomposition Method\n\n### Step 1: Break down the user's need into atomic operations\n\n```\n用户需求: \"把会议录音转成结构化行动项\"\n\n分解:\n  ① 音频 → 文字 (转写)\n  ② 文字 → 会议纪要 (提取要点)\n  ③ 纪要 → 行动项 (提取行动项+负责人+截止)\n```\n\n### Step 2: Search each atomic operation on SkillHub\n\nFor each step, search `https://api.skillhub.cn/api/v1/search?q=<keywords>`\n\n### Step 3: Evaluate each step's coverage\n\n| Step | SkillHub Top Skill | Quality Score | Coverage |\n|------|-------------------|---------------|----------|\n| ① | audio-to-text-pro | 8.5/10 | 完全覆盖 |\n| ② | meeting-summary-extractor | 7.2/10 | 完全覆盖 |\n| ③ | action-item-generator | 4.1/10 | 质量一般，有差距 |\n\n### Step 4: Composition Decision\n\n| Pattern | Condition | Recommendation |\n|---------|-----------|----------------|\n| **全组合** | 所有步骤都有高质量Skill(≥7) | \"你的需求已有现成Skill组合，建议安装+编排管线，无需新建\" |\n| **部分组合+部分新建** | 部分步骤高质量，部分质量一般或缺失 | \"建议安装已有的N个Skill + 只新建缺失的1个\" |\n| **全新建** | 没有高质量同类 | 直接进入Phase 1创建 |\n| **单步即可** | 需求不需要分解 | 不适用组合，直接创建 |\n\n---\n\n## Pipeline Orchestration Suggestions\n\n### Pattern 1: Sequential Pipeline (顺序管线)\n\n```\nSkill A → Skill B → Skill C\n  输出       输出       最终输出\n```\n\nWhen: 前一步的输出是后一步的输入。\n\nExample:\n```\naudio-to-text → meeting-summary → action-item\n  (音频转文字)    (提取纪要)        (提取行动项)\n```\n\nSuggestion: \"安装这3个Skill，使用时依次调用：先说'转写这段录音'，再说'提取会议纪要'，最后说'提取行动项'\"\n\n### Pattern 2: Branch Pipeline (分支管线)\n\n```\n         ┌→ Skill B (格式A)\nSkill A ─┤\n         └→ Skill C (格式B)\n```\n\nWhen: 同一输入需要多种输出格式。\n\nExample:\n```\npdf-extractor ─┬→ markdown-converter (输出MD)\n               └→ html-converter (输出HTML)\n```\n\n### Pattern 3: Conditional Pipeline (条件管线)\n\n```\nSkill A → [判断条件] → Skill B (条件满足)\n                    → Skill C (条件不满足)\n```\n\nWhen: 根据中间结果选择不同路径。\n\nExample:\n```\ncontent-analyzer → [有无敏感信息?]\n                   ├→ yes → redact-sensitive → publish\n                   └→ no  → publish directly\n```\n\n---\n\n## Composition Recommendation Template\n\nWhen suggesting composition, present:\n\n```\n🔍 同类预检结果\n\n你的需求可以分解为 N 个步骤：\n\n  ① [步骤1描述] → 已有高质量Skill: [名称] (评分: X/10)\n  ② [步骤2描述] → 已有高质量Skill: [名称] (评分: X/10)\n  ③ [步骤3描述] → 质量一般/无同类，建议新建\n\n建议方案：[全组合 / 部分组合+部分新建 / 全新建]\n\n如果选择组合方案：\n  安装命令：clawhub install [slug1] [slug2]\n  使用顺序：先说\"[触发词1]\"，再说\"[触发词2]\"\n\n如果选择新建[步骤3]：\n  你的差异化优势：[具体差异点]\n  我会基于这个差异点创建一个聚焦的新Skill。\n```\n\n---\n\n## When NOT to Suggest Composition\n\n| Situation | Why |\n|-----------|-----|\n| 用户需求是单一原子操作 | 无法分解，直接创建 |\n| 所有步骤的Skill质量都<5 | 组合低质量Skill不如新建一个完整的 |\n| 用户明确要求一体化 | 尊重用户选择 |\n| 步骤间有强耦合状态 | 管线编排无法传递中间状态，需一体化 |\n| 延迟敏感场景 | 多Skill调用比单Skill慢 |\n\n---\n\n## Integration with Phase 0.4\n\n```\n确认门通过\n  ↓\nStep 0.4: SkillHub 同类预检\n  ├─ 搜索完整需求 → 有更好的同类 → 建议安装，结束\n  ├─ 搜索完整需求 → 有但不够好 → 提取差异点 → Phase 1 设计输入\n  ├─ 搜索完整需求 → 无同类 → 直接 Phase 1\n  └─ 分解为原子操作 → 逐个搜索 → 组合分析\n      ├─ 全组合 → 建议安装+管线编排，结束\n      ├─ 部分组合 → 建议安装已有的+新建缺失的\n      └─ 全新建 → 直接 Phase 1\n```\n\nFile v6.2.0:references/interview-flow.md\n\n# Interview Flow Reference (v5.0)\r\n\r\nComplete methodology for the adaptive multi-round interview in skill-forge Phase 0.\r\n\r\n**When to read**: When entering Phase 0.2 (adaptive interview). Read this file in full before starting any interview round.\r\n\r\n---\r\n\r\n## Core Principle: One Question at a Time (一次一问)\r\n\r\n**Every round, ask only ONE question.** Give 2-3 options to pick from, not a blank space to fill.\r\n\r\nWhy: 一次甩你三个问题，你只会挑最好答的那个，剩下随手糊弄过去。\r\n\r\n```\r\n❌ BAD: \"你想要什么输出格式？什么时候触发？输入是什么？\"\r\n✅ GOOD: \"你最后要的是一个能下载的文件，还是直接贴在对话里的内容？\"\r\n```\r\n\r\nAfter each answer → Why × 1 (B2) → next question.\r\n\r\n---\r\n\r\n## Level Adaptation (水平自适应)\r\n\r\n**Never ask \"你几级水平\"**. Detect from user's language:\r\n\r\n| User says | Level | Adaptation |\r\n|-----------|-------|------------|\r\n| \".xlsx\", \"pandas\", \"JSON\", \"API\", \"assertion\" | 老手 | 用术语，不啰嗦，跳过基础解释 |\r\n| \"那种东西\", \"差不多就行\", \"就是帮我整理一下\" | 小白 | 换大白话，零术语，给更多选项 |\r\n| Mixed signals | 中间 | 用通俗语言+关键术语标注 |\r\n\r\n**Rule**: Adapt in real-time. If user suddenly uses technical terms, upgrade. If user seems confused, downgrade.\r\n\r\n---\r\n\r\n## Confirmation Gate (确认门)\r\n\r\n**理解没对齐，绝不动手写。**\r\n\r\nAfter four elements are gathered, present a one-page summary:\r\n\r\n```\r\n我理解是这样——\r\n· 做什么：[一句话描述]\r\n· 何时触发：[用户会说的话]\r\n· 输入：[输入格式]；输出：[输出格式]\r\n· 边界：[不做什么]\r\n\r\n这样对吗？没问题我就开始写了。\r\n```\r\n\r\n**User confirms → proceed to Phase 1.**\r\n**User corrects → fix and re-present.**\r\n\r\n---\r\n\r\n## Interview Rules (apply EVERY round)\r\n\r\n| Rule | Description |\r\n|------|------------|\r\n| **B1: Behavioral probing** | Ask \"tell me about the last time you did X, step by step\" — not \"what do you want?\" |\r\n| **B2: Why × 1-2** | After each answer, ask \"why?\" or \"then what?\" 1-2 times until hitting concrete behavior |\r\n| **B3: Bias detection** | Scan for \"I should / I plan to / 都行 / 随便\" → redirect to \"what actually happened?\" |\r\n| **B4: Contradiction writeback** | If answers contradict, quote both and let user choose |\r\n| **B5: Option-first** | 3 strong options + Other. Labels ≤ 12 chars. No suggestive words. |\r\n| **B6: Creative option probe** | If user picks unusual option → \"do you really want this, or just find it interesting?\" |\r\n\r\n---\r\n\r\n## Interview Rounds (一次一问版)\r\n\r\n### Round 1 — Scenario Discovery (1 question)\r\n\r\nQ: \"你想让这个 Skill 帮你做什么？\" → 3 strong options + Other\r\nAfter: Why × 1 (B2)\r\n🔍 Broad search: `\"<domain> best practices <current year>\"`\r\n\r\n### Round 2 — Behavioral Deep-Dive (1 question)\r\n\r\nQ: \"想想最近一次你做这件事的经过，一步步告诉我\" (B1)\r\nAfter: Bias check (B3), Why × 1 (B2)\r\n🔍 Deepen search: `\"<domain> <specific direction> 标准 规范 方法\"`\r\n\r\n### Round 3 — Output Lock (1 question)\r\n\r\nQ: \"你最后要的产出长什么样？\" → 2-3 format proposals + Other\r\nAfter: Why × 1 (B2)\r\n🔍 Precision search: `\"<domain> <output type> template example\"`\r\n\r\n### Round 4 — Boundary Lock (1 question)\r\n\r\nQ: \"有哪些情况它千万别插手？\" → 3 overreach patterns + Other\r\nAfter: Contradiction check (B4), Creative option probe (B6)\r\n\r\n### Round 5 — Safety Net (only if elements still incomplete)\r\n\r\n- Fill remaining gaps with targeted questions\r\n- AI proposes completions for unclear elements\r\n- User confirms or corrects\r\n\r\n---\r\n\r\n## Convergence Check (after EACH round)\r\n\r\nUpdate the 4-element checklist:\r\n\r\n| # | Element | Clear? | Source |\r\n|---|---------|--------|--------|\r\n| 1 | 做什么 (What to do) | Y/N | Which round/answer |\r\n| 2 | 何时触发 (When to trigger) | Y/N | Which round/answer |\r\n| 3 | 输入输出 (Input/Output) | Y/N | Which round/answer |\r\n| 4 | 边界 (Boundaries) | Y/N | Which round/answer |\r\n\r\n**≥3 elements clear → present 确认门 summary.**\r\n**<3 elements clear → continue to next round.**\r\n**Round 5 reached → force proceed with AI-inferred completions.**\r\n\r\n---\r\n\r\n## Recursive Search Pattern\r\n\r\n```\r\nR1 → Broad:    \"<domain> best practices\"           → discover dimensions\r\nR2 → Deepen:   \"<domain> <user's direction> 方法\"    → find methods\r\nR3 → Precision: \"<domain> <output type> template\"    → find standards\r\nR4 → Verify:   only if needed\r\n```\r\n\r\n**Rules**: Max 2 searches per round. Extract ONLY actionable insights. Feed into next question. Don't dump raw results. If domain is well-known, skip search.\n\nFile v6.2.0:references/interview-methods.md\n\n# Interview Methods Reference\n\nDetailed methodology for the adaptive multi-round interview in skill-creator v3.1.\n\n---\n\n## B1: Behavioral Probing — Actions over Intentions\n\n**Core principle**: Users美化 their intentions but cannot fake their behaviors. Always push \"what do you want\" back to \"what did you actually do last time.\"\n\n| | Question | Why |\n|---|---|---|\n| BAD | \"你想要 AI 做什么？\" | Users idealize their needs |\n| BAD | \"你希望 AI 是怎样的？\" | Social desirability bias |\n| GOOD | \"想想最近一次你做这件事的经过——一步步告诉我那次发生了什么。\" | Forces concrete recall |\n| GOOD | \"上一次你做这个的时候，具体是怎么操作的？\" | Behavioral anchor |\n\n**When to use**: Every round when the user's answer is abstract or aspirational.\n\n---\n\n## B2: Why × 1-2 — Chase the Concrete\n\nAfter each user answer, automatically ask \"why?\" or \"then what?\" 1-2 times until the answer lands on:\n- A **concrete behavior** (\"I open Notion and write 3 bullet points\")\n- A **specific emotion** (\"I hate it when AI uses 套话\")\n- A **tangible artifact** (\"I need a table with 4 columns\")\n\n**Stop when**: The answer is actionable enough that an intern could execute it.\n\n**Example**:\n```\nUser: \"I want AI to write better articles\"\n  → Why? \"Because my current AI output is too generic\"\n    → What specifically is generic? \"It always starts with 在当今社会 and ends with 综上所述\"\n      → ✅ NOW you have a concrete anti-pattern for the Skill's rules\n```\n\n---\n\n## B3: Bias Detection — Scan Every Answer\n\nAfter each user answer, scan for these bias signals:\n\n| Bias signal | Example | Redirect |\n|-------------|---------|----------|\n| Social desirability | \"我应该每天写日报\" | \"上次实际发生时是怎样的？\" |\n| Aspirational framing | \"我打算用更专业的方式\" | \"目前你是怎么做的？\" |\n| Vague generality | \"一般来说我会...\" | \"最近一次具体是什么情况？\" |\n| One-word answer | \"是\" / \"有\" / \"还行\" | Ask them to elaborate with a specific example |\n| Deflection | \"都行\" / \"随便\" / \"你看着办\" | Switch to option-based question (B5) |\n\n**Rule**: Never accept a biased answer at face value. Always redirect once.\n\n---\n\n## B4: Contradiction Writeback — Never Decide for the User\n\nWhen user's answers contradict across rounds:\n\n1. **Quote both answers verbatim**\n2. **Present the contradiction without judgment**\n3. **Let the user choose**\n\n**Example**:\n```\n\"你在 Round 1 说自己每天写技术博客；Round 3 说最讨厌写长文。\n这两个有冲突——你更倾向哪个？或者两者可以并存（比如写短技术笔记）？\"\n```\n\n**Never**: Silently pick one side. Never assume which answer is \"more correct.\"\n\n---\n\n## B5: Option-First Design — 3+1 Method\n\n**Core insight**: Users choose more accurately than they describe. Give them handles to react to, not blank space to construct on.\n\n### Design Philosophy: 3 Strong + Other\n\nEach question offers:\n- ① ② ③ **Strong options**: Cover ~80% typical scenarios, mutually exclusive, no overlap\n- **Other**: Always available as open-ended fallback (AskUserQuestion adds this automatically)\n\n### Option Design Rules\n\n1. **①②③ must NOT overlap** and must cover typical scenarios\n2. **Labels ≤ 12 chars**, descriptions 5-15 chars\n3. **No suggestive words** in options: \"高质量\" / \"更好\" / \"推荐\" are forbidden\n4. **Other is always available** — user's free text may be the most valuable answer\n\n### AskUserQuestion Format\n\n```json\n{\n  \"question\": \"你做什么 + 给谁交付？\",\n  \"header\": \"工作形态\",\n  \"multiSelect\": false,\n  \"options\": [\n    {\"label\": \"文字内容创作\", \"description\": \"公众号/Newsletter/视频\"},\n    {\"label\": \"软件产品\", \"description\": \"Indie Hacker/SaaS\"},\n    {\"label\": \"知识服务\", \"description\": \"顾问/教练/培训\"},\n  ]\n}\n```\n\n### After-Choice Follow-up\n\n| User picks | Follow-up |\n|-----------|-----------|\n| ①②③ (strong options) | Why × 1 (B2): \"为什么选这个？上次是这样吗？\" |\n| Other (free text) | Bias check (B3) — free text may be highest value but also most biased |\n\n---\n\n## B6: Creative Option Probe — Distinguish Reaction from Commitment\n\nWhen a user picks an unusual or creative option:\n\n**Ask**: \"你是真的想要这个，还是觉得有趣？\"\n\n**Why**: Users often pick creative options because they're novel, not because they reflect real needs. Distinguishing \"reaction\" (interesting!) from \"commitment\" \n\nArchive v6.1.0: 12 files, 47829 bytes\n\nFiles: CHANGELOG.md (18721b), README.md (19439b), references/authoring-principles.md (19557b), references/benchmarking-guide.md (4214b), references/composition-and-pipeline.md (5161b), references/interview-flow.md (4758b), references/interview-methods.md (7664b), references/meeting-action-extractor-example.md (2371b), references/pre-gate-and-routing.md (6037b), skill-card.md (3006b), SKILL.md (11796b), _meta.json (133b)\n\nArchive v6.0.2: 10 files, 32216 bytes\n\nFiles: references/authoring-principles.md (19557b), references/benchmarking-guide.md (4214b), references/composition-and-pipeline.md (5161b), references/interview-flow.md (4758b), references/interview-methods.md (7664b), references/meeting-action-extractor-example.md (2371b), references/pre-gate-and-routing.md (6037b), skill-card.md (3289b), SKILL.md (11852b), _meta.json (133b)\n\nArchive v6.0.1: 10 files, 31808 bytes\n\nFiles: references/authoring-principles.md (19557b), references/benchmarking-guide.md (4214b), references/composition-and-pipeline.md (5161b), references/interview-flow.md (4758b), references/interview-methods.md (7664b), references/meeting-action-extractor-example.md (2371b), references/pre-gate-and-routing.md (6037b), skill-card.md (2571b), SKILL.md (11852b), _meta.json (133b)\n\nArchive v6.0.0: 12 files, 47595 bytes\n\nFiles: CHANGELOG.md (17544b), README.md (19427b), references/authoring-principles.md (19557b), references/benchmarking-guide.md (4214b), references/composition-and-pipeline.md (5161b), references/interview-flow.md (4758b), references/interview-methods.md (7664b), references/meeting-action-extractor-example.md (2371b), references/pre-gate-and-routing.md (6037b), skill-card.md (3057b), SKILL.md (11838b), _meta.json (133b)\n\nArchive v5.2.5: 12 files, 47088 bytes\n\nFiles: CHANGELOG.md (16521b), README.md (19427b), references/authoring-principles.md (19557b), references/benchmarking-guide.md (4214b), references/composition-and-pipeline.md (5161b), references/interview-flow.md (4758b), references/interview-methods.md (7664b), references/meeting-action-extractor-example.md (2371b), references/pre-gate-and-routing.md (6037b), skill-card.md (2878b), SKILL.md (11818b), _meta.json (133b)\n\nArchive v5.2.4: 12 files, 47083 bytes\n\nFiles: CHANGELOG.md (16130b), README.md (19427b), references/authoring-principles.md (19557b), references/benchmarking-guide.md (4214b), references/composition-and-pipeline.md (5161b), references/interview-flow.md (4758b), references/interview-methods.md (7664b), references/meeting-action-extractor-example.md (2371b), references/pre-gate-and-routing.md (6037b), skill-card.md (2949b), SKILL.md (11818b), _meta.json (133b)\n\nArchive v5.2.3: 12 files, 47065 bytes\n\nFiles: CHANGELOG.md (15788b), README.md (19417b), references/authoring-principles.md (19557b), references/benchmarking-guide.md (4214b), references/composition-and-pipeline.md (5161b), references/interview-flow.md (4758b), references/interview-methods.md (7664b), references/meeting-action-extractor-example.md (2371b), references/pre-gate-and-routing.md (6037b), skill-card.md (2870b), SKILL.md (11818b), _meta.json (133b)","readmeExcerpt":"Skill: Skill Forge 技能熔炉 Owner: edwardwason Summary: 技能熔炉 — 锻造/评估/改进 Skill。说 技能熔炉 走全流程（含R5改进已有skill）；说 技能评估/skill评估/评估技能 只做同类比对+腾讯9维度。可选能力：搜索SkillHub同类技能（通过TRAE内置工具）、修改已有skill文件（仅R5诊断修复路径，需用户确认）。发布环节请用 skill-pu... Tags: adaptive-interview:6.4.0, authoring:6.4.0, authoring-principles:5.2.1, benchmarking:6.4.0, composition:6.4.0, creation:5.2.1, evaluation:6.4.0, forge:6.4.0, improvement:6.4.0, latest:6.4.0, latest forg","codeSnippets":[],"executableExamples":[{"language":"yaml","snippet":"---\nname: \"skill-auditor\"\nslug: \"skill-auditor-ai\"\ndisplayName: \"Skill Auditor\"\ndescription: \"对已存在 Skill 做 8 维度全面体检（结构/安全/触发/有效性/竞争/平台/文档/代码质量）。说 技能审计/审计技能/技能体检 时触发。支持成熟度分级+4确认点+整改+回归审计。绝不自动发布。Do NOT use for creating skills or publishing to platforms.\"\nversion: \"1.2.1\"\nlicense: \"MIT\"\nsummary: \"对已存在 Skill 做 8 维度全面体检，支持三级成熟度分级+4确认点+整改模式+回归审计。绝不自动发布。\"\nallowed-tools: \"Read, Write, Edit, Glob, Grep, LS, WebFetch, AskUserQuestion\"\nmetadata:\n  openclaw:\n    skillKey: \"skill-auditor\"\n    emoji: \"🔍\"\n    homepage: \"https://github.com/owner/skill-auditor\"\n    os: [\"windows\", \"macos\", \"linux\"]\n    requires:\n      bins: [\"python\"]\n      env: []\n    primaryEnv: \"\"\n    envVars: []\n    always: false\n---"},{"language":"text","snippet":"description = 做什么 + 何时触发 + Do NOT 范围"},{"language":"text","snippet":"对已存在 Skill 做 8 维度全面体检（结构/安全/触发/有效性/竞争/平台/文档/代码质量）。说 技能审计/审计技能/技能体检 时触发。支持成熟度分级+4确认点+整改+回归审计。绝不自动发布。Do NOT use for creating skills or publishing to platforms."},{"language":"text","snippet":"公众号排版工具，让文章更美观。"},{"language":"text","snippet":"自动发布技能到三平台。说 技能发布 时触发。"},{"language":"gitignore","snippet":"# Python 缓存\n__pycache__/\n*.pyc\n*.pyo\n\n# 平台自动生成\n.clawhub/\n\n# 本地凭证\nconfig.local.json\nconfig.local.*.json\n.env\n.env.local\n\n# 临时脚本\n_*.py\n_*.ps1\n_*.sh\n\n# 日志\n*.log\n\n# 维护者发布脚本（可选）\npublish_*.ps1\npublish_*.sh"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\r\nname: \"skill-forge\"\r\nslug: \"skill-forge-ai\"\r\ndisplayName: \"Skill Forge 技能熔炉\"\r\ndescription: \"技能熔炉 — 锻造/评估/改进 Skill。说 技能熔炉 走全流程（含R5改进已有skill）；说 技能评估/skill评估/评估技能 只做同类比对+腾讯9维度。可选能力：搜索SkillHub同类技能（通过TRAE内置工具）、修改已有skill文件（仅R5诊断修复路径，需用户确认）。发布环节请用 skill-publisher。Do NOT use for skill security vetting, skill publishing (use skill-publisher), or general coding tasks.\"\r\nversion: \"6.4.0\"\r\nlicense: \"MIT-0\"\r\nsummary: \"锻造 → 评估 → 改进，两入口全流程交付可自动触发、稳定输出的 Skill。v6.4.0 修复 ClawHub SkillSpector 审计 findings。发布由 skill-publisher 承接。\"\r\nallowed-tools: \"Read, Write, Edit, Glob, Grep, LS, AskUserQuestion\"\r\nmetadata:\r\n  openclaw:\r\n    skillKey: \"skill-forge\"\r\n    emoji: \"⚒️\"\r\n    homepage: \"https://github.com/EdwardWason/skill-forge\"\r\n    os: [\"windows\", \"macos\", \"linux\"]\r\n    requires:\r\n      bins: []\r\n      env: []\r\n    primaryEnv: \"\"\r\n    envVars: []\r\n    always: false\r\n---\r\n\r\n# 技能熔炉 v6.4.0\r\n\r\n锻造 → 评估，两入口全流程交付可自动触发、稳定输出的 Skill。发布环节由独立的 skill-publisher 技能承接。\r\n\r\n## 入口检测\r\n\r\n| 触发词 | 入口 | 执行流程 |\r\n|--------|------|---------|\r\n| 技能熔炉 | Phase -1 | 前置闸门→入口路由→访谈→确认门→同类预检→创建→验证→评估→发布交接提醒 |\r\n| 技能评估 / skill评估 / 评估技能 | Phase 2 | 只做 SkillHub 同类比对 + 腾讯9维度 |\r\n\r\n**检测到触发词后，立即跳转到对应 Phase，不执行前面的阶段。**\r\n\r\n**发布不在本技能范围内**：当用户说\"技能发布/发布技能/更新技能/迭代技能\"时，应触发 skill-publisher，不是本技能。\r\n\r\n## 撰写原则（5 大原则，必读）\r\n\r\n完整 5 大原则详见 [`references/authoring-principles.md`](references/authoring-principles.md) — 创建 Skill 前必读，作为\"声明-行为一致性\"的硬门控。原三条铁律映射到原则 1/1/4，补充原则 3（最小权限）和原则 5（用户知情）：\r\n\r\n| 原则 | 一句话 | 对应原铁律 |\r\n|------|--------|-----------|\r\n| 1. 声明-行为一致性 | name/description/metadata/行为四者对齐 | 铁律1 Description先行（扩展） |\r\n| 2. 权力比例适当 | 副作用强度 ≤ 用户预期 + 披露程度 | （新增） |\r\n| 3. 最小权限 | allowed-tools 只列实际需要的工具 | （新增） |\r\n| 4. 渐进式披露 | SKILL.md ≤200 行，细节下沉 references/ | 铁律3 渐进式披露 |\r\n| 5. 用户知情 | 有副作用必须 README 警告 + 关闭方式 | （新增） |\r\n\r\n> 原\"铁律2 一Skill一职\"已并入原则 1（声明-行为一致性）：description 必须明确单一职责，多功能 Skill 触发混乱本质是声明-行为不一致。\r\n\r\n## 权限声明\r\n\r\n本技能实际使用的能力类别（用户须知）：\r\n\r\n| 能力类别 | 是否使用 | 说明 |\r\n|---------|---------|------|\r\n| 网络访问 | ✅ | 通过 TRAE 内置工具搜索 SkillHub 同类技能（不直接发起网络请求） |\r\n| 文件读写 | ✅ | 在用户指定目录创建/修改 skill 文件（SKILL.md/references/scripts/assets） |\r\n| 环境变量 | ❌ | 不读取任何环境变量（无凭证需求） |\r\n| subprocess | ❌ | 不调用任何外部命令 |\r\n| 外部 API | ❌ | 不调用任何外部 API（SkillHub 同类搜索由 TRAE 内置工具完成） |\r\n\r\n**用户警告**：本技能会在用户指定目录创建/修改 skill 文件（R1-R4 创建新 skill，R5 可修改已有 skill）。R5 修改已有 skill 前需用户确认诊断结果。如不希望写入文件，可在确认门前终止流程。本技能不执行任何发布操作（发布由 skill-publisher 承接）。\r\n\r\n## SKILL.md 格式（完整 frontmatter 示例）\r\n\r\n```markdown\r\n---\r\nname: \"<skill-name>\"\r\nslug: \"<skill-name>-ai\"\r\ndisplayName: \"<Skill Name>\"\r\ndescription: \"<做什么 + 何时触发 + Do NOT 范围. 核心关键词放前200字符>\"\r\nversion: \"<MAJOR.MINOR.PATCH>\"\r\nlicense: \"MIT-0\"\r\nsummary: \"<一句话摘要>\"\r\nallowed-tools: \"<工具白名单>\"\r\nmetadata:\r\n  openclaw:\r\n    skillKey: \"<skill-name>\"\r\n    emoji: \"<emoji>\"\r\n    homepage: \"<https://github.com/...>\"\r\n    os: [\"windows\", \"macos\", \"linux\"]\r\n    requires:\r\n      bins: []\r\n      env: []\r\n    primaryEnv: \"\"\r\n    envVars: []\r\n    always: false\r\n---\r\n\r\n# <技能标题>\r\n## 任务\r\n## 输出格式\r\n## 规则\r\n## 示例\r\n## 故障排除（可选）\r\n```\r\n\r\n## 目录结构\r\n\r\n```\r\n<skill-name>/\r\n├── SKILL.md    "},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn75zj7vzdyvap84adxa8heyyd82f5eh\",\n  \"slug\": \"skill-forge-ai\",\n  \"version\": \"6.4.0\",\n  \"publishedAt\": 1784543171003\n}"},{"path":"references/authoring-principles.md","content":"# Skill 撰写原则\n\n**同步源**: 本文件与 `skill-auditor/references/skill-authoring-guide.md` 同源，版本同步。\n**版本**: v1.0.0（2026-07-16 首次从 skill-authoring-guide.md 反哺）\n**When to read**: 创建 Skill 前必读，作为\"声明-行为一致性\"的硬门控。\n\n> 本文件以**创建视角**组织：撰写前 → 撰写中 → 撰写后。源文件 `skill-authoring-guide.md` 是审计视角（发现问题时指向指南），本文件是动手前主动遵循。\n\n---\n\n## 一、撰写前：5 大原则（创建期必须遵循）\n\n业界主流 Skill 平台的审核哲学围绕\"coherence（一致性）\"展开——不是禁止强大能力，而是要求**声明与行为对齐、权限与目的匹配、用户知情可控**。\n\n### 原则 1：声明-行为一致性（Coherence）\n\n`name` / `description` / `metadata` / 实际行为四者必须对齐，不能\"挂羊头卖狗肉\"。\n\n**可执行建议**：\n- `name` 用动词或动名词（如 `skill-auditor`、`wx-peitu`），不用模糊名词（如 `tool`、`helper`）\n- `description` 的\"做什么\"段必须与 SKILL.md 正文 `## 任务` 段一致；若 description 说\"8 维度审计\"，正文任务段不能写\"6 维度检查\"\n- `metadata.openclaw.requires.*` 声明的环境变量，必须在代码中实际使用；代码用了的环境变量，必须声明\n- `allowed-tools` 列出的工具，每个都要在 SKILL.md 流程中能找到调用点\n\n**自检方法**：写完后让另一个人（或 AI）只读 frontmatter，预测 Skill 会做什么；再读 SKILL.md 正文，对比预测与实际是否一致。差异处就是不一致点。\n\n### 原则 2：权力比例适当（Proportionality）\n\n强大行为本身不是问题，但必须**已披露 + 目的对齐 + 比例适当**。\n\n**可执行建议**：\n- 行为越强 → 文档越详细：只读分析可以一句话带过；自动推送外部平台必须有专门\"用户须知\"段\n- 副作用强度必须匹配用户预期：用户说\"格式转换\"预期是改本地文件；用户说\"发布\"预期是推外部；不要让\"转换\"悄悄发布\n- 不可逆操作（删除、覆盖、推送）必须前置确认或可配置关闭\n\n**判定公式**：`行为强度 ≤ 用户预期 + 披露程度`。任一项失衡就需要重新设计。\n\n### 原则 3：最小权限（Least Privilege）\n\n`allowed-tools` 和 `metadata.openclaw.requires` 只声明 Skill 实际需要的权限，不\"以防万一\"地多列。\n\n**可执行建议**：\n- 只读分析类 Skill：`allowed-tools: \"Read, Glob, Grep, LS\"`，不含 Write/Edit\n- 需要修改文件的 Skill：加上 `Edit, Write`，但必须在 SKILL.md 说明\"何时会修改、修改哪些文件\"\n- 需要网络的 Skill：声明 `WebFetch` 或对应 CLI 工具的 `requires.bins`，并说明\"访问哪些域名、做什么\"\n- 永远不要加 `Bash` 这种通配权限，列出具体工具名\n\n**反例**：一个只读分析 Skill 写 `allowed-tools: \"Read, Write, Edit, Bash, WebFetch\"`——多出的 Write/Edit/Bash 都是隐患。\n\n### 原则 4：渐进式披露（Progressive Disclosure）\n\nSKILL.md 是导航地图，不是百科全书。核心流程放正文，详细规则、模板、示例下沉到 `references/`。\n\n**可执行建议**：\n- SKILL.md ≤ 200 行（硬上限 300 行）\n- SKILL.md 必含 4 模块：`## 何时触发` / `## 任务` / `## 输出格式` / `## 规则`（外加 `## 示例`）\n- 详细检查项、模板、扫描模式、对比方法论 → `references/*.md`\n- 长示例、配置样例、数据字典 → `references/examples.md` 或独立文件\n- 脚本代码 → `scripts/`，不在 SKILL.md 内联超过 20 行\n\n**判定标准**：SKILL.md 应该能 5 分钟读完，让读者知道\"这个 Skill 做什么、何时触发、输出什么、有哪些规则\"。\n\n### 原则 5：用户知情（User Awareness）\n\n有副作用的 Skill（自动推送、定时执行、写入外部服务、读取本地敏感数据）必须在 README 含用户警告，中英文同步。\n\n**可执行建议**：\n- README 顶部加\"用户须知\"或\"⚠️ 注意\"段，列出所有副作用\n- 每个副作用配关闭方式：`定时执行可通过设置 X=false 关闭` / `推送外部平台需在确认点明确授权`\n- 副作用涉及外部服务时，列出目标域名和操作类型（POST/上传/删除）\n- README.md 与 README.en.md 内容必须同步，警告段不能只写中文\n\n**最低标准**：用户读完 README 后，应该清楚知道\"这个 Skill 会动什么、不会动什么、出问题怎么关\"。\n\n---\n\n## 二、撰写中：frontmatter 规范（三平台兼容）\n\n### 必填字段表\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `name` | string | ✅ | kebab-case，全小写+连字符，与目录名一致 |\n| `description` | string | ✅ | ≤200 字符，含三要素（见第三部分） |\n| `version` | semver | ✅ | `MAJOR.MINOR.PATCH`，与 CHANGELOG 最新一致 |\n| `license` | SPDX | ✅ | 默认 `MIT` 或 `MIT-0`，不要加冲突 license |\n| `allowed-tools` | string | ✅ | 实际使用的工具白名单（原则 3） |\n| `metadata.openclaw` | object | 推荐 | 平台元数据（见下表） |\n\n### 完整 frontmatter 示例（含 metadata.openclaw）\n\n```yaml\n---\nname: \"skill-auditor\"\nslug: \"skill-auditor-ai\"\ndisplayName: \"Skill Auditor\"\ndescription: \"对已存在 Skill 做 8 维度全面体检（结构/安全/触发/有效性/竞争/平台/文档/代码质量）。说 技能审计/审"},{"path":"references/benchmarking-guide.md","content":"# Quality Self-Assessment & Differentiation Guide\n\nComplete methodology for Phase 2 quality self-assessment in skill-forge v5.1.\n\n> **v5.1 架构变更**：同类搜索已前移到 Step 0.4（创建前）。Phase 2 现在聚焦于创建后的质量自评和差异化验证。\n\n**When to read**: When entering Phase 2 (after Phase 1 creation + self-validation completes), or when triggered by \"技能评估\" entry. Read this file in full before starting assessment.\n\n---\n\n## Step 5a: 腾讯9维度自评\n\nEvaluate the created Skill on these **9 Tencent Skills Manual dimensions**:\n\n| # | Tencent Principle | What to check |\n|---|-------------------|---------------|\n| 1 | **Description: trigger precision** | Does description clearly state WHEN to invoke? |\n| 2 | **Description: keyword frontloading** | Are core trigger keywords in first 200 chars? |\n| 3 | **Description: Do NOT scope** | Does description explicitly state what it's NOT for? |\n| 4 | **One Skill = One Job** | Does it focus on a single scenario with one deliverable? |\n| 5 | **4-module structure** | 任务/输出格式/规则/示例 all present? |\n| 6 | **Output format: concrete** | Every field has fixed format, no vague instructions? |\n| 7 | **Rules: Intern Test** | Every rule is directly actionable, no useless defaults? |\n| 8 | **Example: edge case coverage** | Example covers boundary situations? |\n| 9 | **Size: under 200 lines** | Lean and focused, no bloat? Progressive disclosure (references/scripts/assets)? |\n\n### Self-Assessment Table\n\nFill in self-evaluation scores (1-10) and mark weak dimensions:\n\n| # | Tencent Principle | Score (1-10) | Weak? | Notes |\n|---|-------------------|--------------|-------|-------|\n| 1 | Trigger precision | | | |\n| 2 | Keyword frontloading | | | |\n| 3 | Do NOT scope | | | |\n| 4 | One Job | | | |\n| 5 | 4-module structure | | | |\n| 6 | Output concreteness | | | |\n| 7 | Intern Test rules | | | |\n| 8 | Edge case coverage | | | |\n| 9 | Size control (≤200 lines + progressive disclosure) | | | |\n\n**Any score <7 → mark as weak dimension, must propose fix in Step 5c.**\n\n---\n\n## Step 5b: 差异化验证\n\n### If Step 0.4 found peers (分支b)\n\nVerify that the differentiation advantages identified in Step 0.4 are actually reflected in the created Skill:\n\n```\nStep 0.4 差异点: [具体差异]\n  → Skill中的体现: [在哪个模块/规则/示例中落地]\n  → 验证结果: ✅已落地 / ❌未落地\n\nStep 0.4 差异点: [具体差异]\n  → Skill中的体现: [在哪个模块/规则/示例中落地]\n  → 验证结果: ✅已落地 / ❌未落地\n```\n\n**未落地的差异点 → 补充到Step 5c修复方案。**\n\n### If Step 0.4 found no peers (分支c)\n\nSkip differentiation verification. Proceed directly to Step 5c blind spot check.\n\n---\n\n## Step 5c: 盲区修复\n\n### For weak dimensions (Step 5a score <7)\n\nList specific improvements with Tencent Manual justification:\n\n```\n弱项1: [维度#N - 具体问题]（评分: X/10）\n  → 腾讯手册依据: [相关原则]\n  → 修复方案: [具体修复动作]\n  → 预期提升: 修复后评分可达 X/10\n\n弱项2: [维度#N - 具体问题]（评分: X/10）\n  → 腾讯手册依据: [相关原则]\n  → 修复方案: [具体修复动作]\n  → 预期提升: 修复后评分可达 X/10\n```\n\n### For unlanded differentiation (Step 5b ❌)\n\n```\n未落地差异: [差异点]\n  → 补充位置: [哪个模块需要补充]\n  → 补充内容: [具体内容]\n```\n\n---\n\n## Step 5d: 用户决策\n\nPresent assessment results with options:\n\n1. **采纳修复** — Apply all fixes, re-run Step 4 validation\n2. **保"},{"path":"references/composition-and-pipeline.md","content":"# Composition & Pipeline Orchestration (元技能组合与管线编排)\n\nComplete methodology for Step 0.4 meta-skill composition suggestions in skill-forge v5.1.\n\n**When to read**: When Step 0.4 pre-check finds that the user's need can be decomposed into multiple existing Skills, or when a multi-step pipeline is more efficient than creating a new monolithic Skill.\n\n---\n\n## Core Principle\n\n**Before creating a new Skill, check if the need can be met by combining existing high-quality Skills.**\n\nMany \"I want a Skill that does X\" requests are actually multi-step workflows:\n- \"把会议录音转成行动项\" = 音频转文字 + 纪要提取 + 行动项生成\n- \"把网页文章转成公众号排版\" = 网页提取 + 内容增强 + 排版\n- \"把PDF转成知识卡片\" = PDF提取 + 内容归纳 + 卡片生成\n\nIf each step already has a high-quality Skill, composing them is better than building a monolithic new one.\n\n---\n\n## Decomposition Method\n\n### Step 1: Break down the user's need into atomic operations\n\n```\n用户需求: \"把会议录音转成结构化行动项\"\n\n分解:\n  ① 音频 → 文字 (转写)\n  ② 文字 → 会议纪要 (提取要点)\n  ③ 纪要 → 行动项 (提取行动项+负责人+截止)\n```\n\n### Step 2: Search each atomic operation on SkillHub\n\nFor each step, use TRAE built-in tools (Grep/WebSearch) to search SkillHub for matching skills\n\n### Step 3: Evaluate each step's coverage\n\n| Step | SkillHub Top Skill | Quality Score | Coverage |\n|------|-------------------|---------------|----------|\n| ① | audio-to-text-pro | 8.5/10 | 完全覆盖 |\n| ② | meeting-summary-extractor | 7.2/10 | 完全覆盖 |\n| ③ | action-item-generator | 4.1/10 | 质量一般，有差距 |\n\n### Step 4: Composition Decision\n\n| Pattern | Condition | Recommendation |\n|---------|-----------|----------------|\n| **全组合** | 所有步骤都有高质量Skill(≥7) | \"你的需求已有现成Skill组合，建议安装+编排管线，无需新建\" |\n| **部分组合+部分新建** | 部分步骤高质量，部分质量一般或缺失 | \"建议安装已有的N个Skill + 只新建缺失的1个\" |\n| **全新建** | 没有高质量同类 | 直接进入Phase 1创建 |\n| **单步即可** | 需求不需要分解 | 不适用组合，直接创建 |\n\n---\n\n## Pipeline Orchestration Suggestions\n\n### Pattern 1: Sequential Pipeline (顺序管线)\n\n```\nSkill A → Skill B → Skill C\n  输出       输出       最终输出\n```\n\nWhen: 前一步的输出是后一步的输入。\n\nExample:\n```\naudio-to-text → meeting-summary → action-item\n  (音频转文字)    (提取纪要)        (提取行动项)\n```\n\nSuggestion: \"安装这3个Skill，使用时依次调用：先说'转写这段录音'，再说'提取会议纪要'，最后说'提取行动项'\"\n\n### Pattern 2: Branch Pipeline (分支管线)\n\n```\n         ┌→ Skill B (格式A)\nSkill A ─┤\n         └→ Skill C (格式B)\n```\n\nWhen: 同一输入需要多种输出格式。\n\nExample:\n```\npdf-extractor ─┬→ markdown-converter (输出MD)\n               └→ html-converter (输出HTML)\n```\n\n### Pattern 3: Conditional Pipeline (条件管线)\n\n```\nSkill A → [判断条件] → Skill B (条件满足)\n                    → Skill C (条件不满足)\n```\n\nWhen: 根据中间结果选择不同路径。\n\nExample:\n```\ncontent-analyzer → [有无敏感信息?]\n                   ├→ yes → redact-sensitive → publish\n                   └→ no  → publish directly\n```\n\n---\n\n## Composition Recommendation Template\n\nWhen suggesting composition, present:\n\n```\n🔍 同类预检结果\n\n你的需求可以分解为 N 个步骤：\n\n  ① [步骤1描述] → 已有高质量Skill: [名称] (评分: X/10)\n  ② [步骤2描述] → 已有高质量Skill: [名称] (评分: X/10)\n  ③ [步骤3描述] → 质量一般/无同类，建议新建\n\n建议方案：[全组合 / 部分组合+部分新建 / 全新建]\n\n如果选择组合方案：\n  安装命令：clawhub install [slug1] [slug2]\n  使用顺序：先说\"[触发词1]\"，再说\"[触发词2]\"\n\n如果选择新建[步骤3]：\n  你的差异化优势：[具体差异点]\n  我会基于这个差异点创建一个"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"技能熔炉 — 锻造/评估/改进 Skill。说 技能熔炉 走全流程（含R5改进已有skill）；说 技能评估/skill评估/评估技能 只做同类比对+腾讯9维度。可选能力：搜索SkillHub同类技能（通过TRAE内置工具）、修改已有skill文件（仅R5诊断修复路径，需用户确认）。发布环节请用 skill-pu... Skill: Skill Forge 技能熔炉 Owner: edwardwason Summary: 技能熔炉 — 锻造/评估/改进 Skill。说 技能熔炉 走全流程（含R5改进已有skill）；说 技能评估/skill评估/评估技能 只做同类比对+腾讯9维度。可选能力：搜索SkillHub同类技能（通过TRAE内置工具）、修改已有skill文件（仅R5诊断修复路径，需用户确认）。发布环节请用 skill-pu... Tags: adaptive-interview:6.4.0, authoring:6.4.0, authoring-principles:5.2.1, benchmarking:6.4.0, composition:6.4.0, creation:5.2.1, evaluation:6.4.0, forge:6.4.0, improvement:6.4.0, latest:6.4.0, latest forg","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1096,"uniquenessScore":51,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T17:17:19.816Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T17:17:19.816Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T21:52:43.034Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}