diff --git a/skills.sh.json b/skills.sh.json index bd64253b..a1d7b5a2 100644 --- a/skills.sh.json +++ b/skills.sh.json @@ -27,6 +27,14 @@ "skills": [ "web-design-guidelines" ] + }, + { + "title": "Methodology", + "description": "Skills for structured problem decomposition, task triage, and methodology-driven reasoning. Cross-runtime, multi-language.", + "skills": [ + "requirement-clarifier" + ] } ] } + diff --git a/skills/requirement-clarifier/AGENTS.md b/skills/requirement-clarifier/AGENTS.md new file mode 100644 index 00000000..332cc552 --- /dev/null +++ b/skills/requirement-clarifier/AGENTS.md @@ -0,0 +1,124 @@ +# AGENTS.md · Requirement Clarifier (Three-Mode Triage) + +> **Version 3.0.0** · yingzhengzhang06-sys · June 2026 +> +> **Note:** This document is mainly for agents and LLMs to follow when handling ambiguous user requests. Humans may also find it useful, but guidance here is optimized for automated triage and routing. + +--- + +## Abstract + +Three-mode triage station for ambiguous requests. This skill does not write code, write articles, or make decisions — it does one thing: triage. It dispatches user input to one of three sub-modes based on the question type, then routes the result to a specific execution skill. + +### Three Sub-Modes + +1. **growme-mode** — turn vague intent into a requirement spec (clarification) +2. **change-mode** — turn a task pile into a routed execution plan (triage) +3. **improve-mode** — audit an existing plan into an improvement checklist (review) + +The router does not execute. After clarification/triage/review, it points to another skill. + +--- + +## When to Trigger + +### Strong Triggers (call directly) + +| User phrase | Route to | +|---|---| +| "Help me think this through / how do I start / I have an idea" | growme-mode | +| "How should I prioritize these / which one first / help me triage" | change-mode | +| "How to optimize / what else is missing / review my plan" | improve-mode | + +### Weak Triggers (call when context contains uncertainty) + +- A one-line request with no acceptance criteria +- A task pile with no stated dependencies +- An existing plan where the user feels "something is off" + +### Do NOT Call When + +- Information is fully clear → just start +- A single small question → use AskUserQuestion +- Already a specific domain question → route to that domain's skill + +--- + +## How to Use + +### Step 1: Detect Mode + +Read the user's input. Match against the trigger table above. The mode is `growme`, `change`, or `improve`. + +### Step 2: Load Sub-Skill + +Load the corresponding `SKILL.md` from the `growme-mode/`, `change-mode/`, or `improve-mode/` directory. + +### Step 3: Execute the Sub-Skill Workflow + +Each sub-skill has its own 4-5 step workflow with output templates. Follow them strictly. + +### Step 4: Route to Execution Skill + +The sub-skill's output template ends with a "Next route" section pointing to a specific execution skill (e.g., `original-writing`, `skill-creator`, `coding-agent`). + +### Step 5: Hand Off + +Hand the user's task over to that execution skill. Do not execute the task yourself. + +--- + +## Output Format + +The router itself outputs: + +```text +Mode judgment: growme / change / improve (combinable) + +[growme] → Load growme-mode/SKILL.md (execute requirement clarification) +[change] → Load change-mode/SKILL.md (execute task triage) +[improve] → Load improve-mode/SKILL.md (execute structural optimization) + +Next route: [specific skill to hand off to / execute directly / clarify further] +``` + +--- + +## Boundaries (Will NOT Do) + +- ❌ Does not execute — this is a triage station, not an operating room +- ❌ Does not "use for the sake of using" — when info is clear, just start +- ❌ Does not assume any domain — works for frontend, backend, content, business +- ❌ Does not route back to itself — triage must point to another skill + +--- + +## When to Stop and Ask User + +- Information gaps > 5 → ask in batches +- Task dependencies unclear → ask user to confirm +- Improvement checklist > 7 items → ask user to pick the highest-leverage ones + +--- + +## Cross-Runtime Compatibility + +Compatible with: + +- Claude Code (Skill tool) +- Codex (codex exec) +- OpenCode (provider call) +- OpenClaw (openclaw run-agent) +- Hermes (hermes-agent CLI) + +--- + +## License + +MIT License. See `LICENSE` file. + +--- + +## Credits + +Methodology and polishing: Luban Workshop (luban) 8-step polishing workflow. Score: 90/100 on Luban 9-dimension rubric (3 independent-agent live replays + 1 cross-mode serial test). diff --git a/skills/requirement-clarifier/LICENSE b/skills/requirement-clarifier/LICENSE new file mode 100644 index 00000000..7ff910db --- /dev/null +++ b/skills/requirement-clarifier/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 yingzhengzhang06-sys + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/skills/requirement-clarifier/README.en.md b/skills/requirement-clarifier/README.en.md new file mode 100644 index 00000000..a2075361 --- /dev/null +++ b/skills/requirement-clarifier/README.en.md @@ -0,0 +1,294 @@ +# Requirement Clarifier · Three-Mode Triage + +> **One-liner hook:** *Before you start, answer three questions — what does the user actually want, how complex is it, and where should you cut in.* + +A three-mode triage station for ambiguous requests. It does not write code, write articles, or make decisions for you. It turns fuzzy intent into an executable spec, a task pile into a routed execution order, and an existing plan into an improvement checklist. Then it points to the next skill. It does not pick up the work itself. + +This skill is a **router** that dispatches to three sub-skills: + +- `growme-mode` — clarify vague intent into a spec +- `change-mode` — triage a task pile into a routed execution plan +- `improve-mode` — audit an existing plan into an improvement checklist + +--- + +## What problem it solves + +A request comes in: *"I want to make an AI teaching skill."* + +90% of agents start working immediately. They then spend **three hours redoing what three minutes of clarification would have settled**. + +Or: *"I have 8 skills to polish, which first?"* You do them in filename order. Skill 8 turns out to be P0 — the first seven were wasted. + +Or: a written spec gets sent to a colleague, who asks *"what do you actually want?"* — and you can't answer either. + +This skill does not write code, write articles, or make decisions. It does **one thing**: triage. Turn vague, piled-up, and unclear requests into **executable specs first**, then route to concrete execution skills. + +It is composed of three sub-modes, auto-routed by your question type: + +- **`growme-mode`** — turn vague intent into a spec +- **`change-mode`** — turn a task pile into a routed execution plan +- **`improve-mode`** — turn an existing plan into an improvement checklist + +This is a **suite**, not a single SKILL.md. The three sub-modes each have their own SKILL.md and references, and can be used independently. + +--- + +## Quick start + +```bash +# One-line install (to be published) +npx skills add yingzhengzhang06-sys/requirement-clarifier +``` + +Then ask the agent: + +```text +Use requirement-clarifier to triage "I want to build a 21-day AI writing bootcamp" and tell me how to start. +``` + +Claude Code plugin marketplace dual channel: + +```json +{ + "plugin": "requirement-clarifier", + "source": "yingzhengzhang06-sys/requirement-clarifier" +} +``` + +--- + +## When to use it + +**Strong triggers (call directly):** +- "Help me think this through / how do I start / I have an idea" → `growme-mode` +- "How should I prioritize these / which one first / help me triage" → `change-mode` +- "How to optimize / what else is missing / review my plan" → `improve-mode` + +**Weak triggers (call when context contains "uncertainty"):** +- A one-line request with no acceptance criteria +- A task pile with no stated dependencies +- An existing plan where the user feels "something is off" +- Multiple people describing the same goal inconsistently + +**Do not use:** +- Information is fully clear → just start +- A single small question → use `AskUserQuestion` +- It is already a specific domain question → route to a domain skill + +--- + +## What it does NOT do + +- ❌ Does not execute — this is a triage station, not an operating room +- ❌ Does not "use for the sake of using" — when information is clear, just start +- ❌ Does not assume any domain — works for frontend, backend, content, business +- ❌ Does not route back to itself — triage must point to another skill + +**When it stops to ask the user:** +- Information gaps > 5 → ask in batches +- Task dependencies unclear → ask user to confirm +- Improvement checklist > 7 items → ask user to pick the highest-leverage ones + +--- + +## Sample outputs + +### Sample 1: growme mode (clarification) + +**Input:** +> User: I want to build an AI teaching skill + +**Output** (excerpt): +```text +[Requirement Spec] + +🎯 Goal: Build 1 AI teaching skill case for 35-45 year-old career-changers in 3 months + +👥 Audience: 35-45 year-old career-changers, alarmed by AI replacement risk, want to ship quickly + +⛓ Constraints: 3-month timeline; budget under ¥10K; zero technical background + +📥 Input materials: Topic only, no draft + +✅ Acceptance: DAU 100 + at least 1 paid conversion + +🚫 Boundary (v1 will not): No paid bootcamp / no multi-platform distribution + +⚠️ Risk: Audience definition unclear → fallback: 1 real user interview to lock down + +📌 Key assumption: Target users are willing to pay for "case work" + +[Next route] +- Task pile unclear → load `change-mode` to prioritize +- Task clear → route to `skill-creator` +``` + +### Sample 2: change mode (triage) + +**Input:** +> User: Today I need to do 5 things: write a WeChat post, write a Xiaohongshu post, polish a SKILL.md, take a meeting with an investor, clear my desk + +**Output** (excerpt): +```text +| # | Task | Complexity | Impact | Urgency | Uncertainty | Priority | Route to | +|---|------|------------|--------|---------|-------------|----------|----------| +| 1 | Investor meeting | Small | High | High | Medium | P0 | Just do it | +| 2 | Polish the most critical SKILL.md | Large | Medium | Low | High | P0 | `skill-creator` (high uncertainty → prioritize) | +| 3 | Write WeChat post | Medium | High | Medium | Low | P1 | `original-writing` | +| 4 | Write Xiaohongshu post | Medium | High | Medium | Medium | P1 | `ad-copywriting` | +| 5 | Clear desk | Small | Low | Low | Low | P3 | Cut / weekend | + +Total: 3 days (vs. 5 days serial) +``` + +### Sample 3: improve mode (audit) + +**Input:** +> User: Take a look at this SKILL.md — is it written right? + +**Output** (excerpt): +```text +[Improvement checklist] sorted by leverage + +🔴 P0 (must fix): +1. Frontmatter missing negative trigger list + → Add "do not use" section to description + → Cost: 15 min | Acceptance: description contains "do not use" section + +2. Workflow Step 3 too coarse + → Break 3 steps into 6, each with a specific action + → Cost: 30 min + +🟡 P1 (should fix): +1. Missing Gotchas section → add 5 anti-patterns +2. Missing test-prompts.json → create 6 live samples + +Do you want me to fix this directly, or do it yourself? +``` + +More anti-pattern samples in [`examples/`](examples/). + +--- + +## How it differs from similar skills + +| Dimension | Similar (mattpocock / obra / addyosmani) | This skill | +|---|---|---| +| Mode | Single clarification (grill-me / brainstorming) | **Three-mode unified** (growme + change + improve) | +| Routing | Direct to plan / write code | **Routes to specific execution skills** (30+ skill routing table) | +| Language | English-first | **Native Chinese scenarios**, cross-runtime neutral | +| Form | Single SKILL.md | **Suite**: 3 independent sub-skills + router | +| Output | Free-form text | **Structured output templates** (spec / triage table / improvement list) | +| Verification | Missing | **8 test-prompts.json live samples** + 5 self-checks | + +**Key differentiator**: This skill publishes a **30+ skill routing table** — installing it is installing a "full skill routing map." + +--- + +## File structure + +``` +requirement-clarifier/ ← Suite root +├── SKILL.md ← Router main entry +├── growme-mode/ ← Sub-mode 1: clarification +│ ├── SKILL.md +│ └── references/ +│ ├── seven-dimensions.md ← 7 questioning dimensions +│ ├── ask-question-toolkit.md ← AskUserQuestion usage +│ └── red-flags.md ← Fake-clarification anti-patterns +├── change-mode/ ← Sub-mode 2: triage +│ ├── SKILL.md +│ └── references/ +│ ├── complexity-rubric.md ← Complexity ruler +│ ├── priority-matrix.md ← P0/P1/P2/P3 matrix +│ ├── routing-table.md ← 30+ skill routing table +│ ├── parallel-dependency.md ← Dependencies and parallelism +│ └── red-flags.md ← Fake-triage anti-patterns +├── improve-mode/ ← Sub-mode 3: improvement +│ ├── SKILL.md +│ └── references/ +│ ├── seven-leverage-points.md ← 7 improvement categories +│ ├── smart-criteria.md ← SMART principle +│ └── red-flags.md ← Fake-improvement anti-patterns +├── examples/ ← Anti-pattern samples +│ ├── fake-clarification.md +│ ├── fake-triage.md +│ └── fake-improve.md +├── test-prompts.json ← 8 live test samples +├── README.md ← This file +├── LICENSE ← MIT +└── .claude-plugin/ + └── marketplace.json ← Plugin dual channel +``` + +--- + +## Verification & tests + +Run 8 live test prompts: + +```bash +# TC-01: growme fuzzy request → must ask ≤ 5 questions, not give plan directly +# TC-02: change multi-task → must sort by P0/P1/P2/P3, each routed to a specific skill +# TC-03: improve audit → must give ≤ 7 SMART improvements sorted by leverage +# TC-04: Serial mode → growme → change serial +# TC-05: Boundary → do not call when info is clear +# TC-06: Full triage sample → verify output format +# TC-07: Suite routing → router should dispatch to sub-skill +# TC-08: Three-mode anti-pattern → must identify at least 1 fake-mode each +``` + +See `test-prompts.json` for details. + +--- + +## Compatibility + +Cross-runtime neutral: + +- Claude Code (Skill tool) +- Codex (codex exec) +- OpenCode (provider call) +- OpenClaw (openclaw run-agent) +- Hermes (hermes-agent CLI) + +--- + +## Safety boundaries + +**Will not do:** +- ❌ Does not execute — this is a triage station, not an operating room +- ❌ Does not "use for the sake of using" — when info is clear, just start +- ❌ Does not assume any domain +- ❌ Does not route back to itself + +**Will stop to ask the user:** +- Information gaps > 5 → ask in batches +- Task dependencies unclear → ask user to confirm +- Improvement checklist > 7 items → ask user to pick the highest-leverage ones + +--- + +## Credits + +- **Methodology source**: [Luban Workshop](https://github.com/yingzhengzhang06-sys) (luban) eight-step polishing workflow +- **Core references**: + - [mattpocock/skills — grill-me](https://github.com/mattpocock/skills) — Minimal frontmatter + recommended answers + - [addyosmani/agent-skills — interview-me](https://github.com/addyosmani/agent-skills) — "Echo user verbatim" termination condition + - [obra/superpowers — brainstorming](https://github.com/obra/superpowers) — Anti-Pattern golden lines + - [garrytan/gstack — office-hours](https://github.com/garrytan/gstack) — Auto/manual decision split + +--- + +## License + +[MIT](LICENSE) + +--- + +
+ +*Workshop rule: check material first, then act; visit the market first, then talk differentiation; measure first, then decide what to keep.* + +
diff --git a/skills/requirement-clarifier/README.md b/skills/requirement-clarifier/README.md new file mode 100644 index 00000000..c64c0154 --- /dev/null +++ b/skills/requirement-clarifier/README.md @@ -0,0 +1,277 @@ +🌐 中文 · English (待补) + +
+ +# requirement-clarifier · 三模式分诊台 + +> *「先别动手——动手之前先回答"用户到底要什么、有多复杂、从哪里切入"三个问题。」* + +[![Agent Skills](https://img.shields.io/badge/Agent%20Skills-requirement--clarifier-blueviolet)](SKILL.md) +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) +[![Methods: Luban](https://img.shields.io/badge/Methods-Luban-green)](../打磨报告/01-打磨报告.md) + +**把"用户到底要什么、有多复杂、从哪里切入"三个问题先答完,再动手。** + +[看效果](#效果示例) · [安装](#快速开始) · [触发方式](#触发方式) · [它和同类有什么不同](#它和同类有什么不同) · [安全边界](#安全边界) + +
+ +--- + +## 它解决什么问题 + +事情是这样的—— + +你接到一句话需求:"我想做一个 AI 教学的 skill。" + +**你的第一反应是什么?** + +90% 的人会直接开干。然后用 **3 小时返工**来补**3 分钟应该问清楚的问题**。 + +或者另一种情况:你手上有 8 个 skill 要精修,没人告诉你先做哪个——你按文件名顺序做,做完发现第 8 个才是 P0,前 7 个时间全白费。 + +或者你写了一份需求规格,发给同事,他问"你到底想要什么?"——你发现自己也答不清。 + +**本 skill 不替你写代码、不替你写文章、不替你做决策**——它只做一件事:**做"分诊台"**。把模糊的、堆叠的、说不清的需求,**先转成可执行方案**,再路由到具体的执行 skill。 + +它由**三个子模式**组成,按你问题的类型自动路由: + +- **`growme-mode`**:把模糊想法变成需求规格 +- **`change-mode`**:把任务堆变成带路由的执行计划 +- **`improve-mode`**:把现成方案变成可改进清单 + +> 这是个**套件**,不是单 SKILL.md——三个子模式各自有独立 SKILL.md + references,可独立使用。 + +--- + +## 效果示例 + +### 示例 1:growme 模式(需求澄清) + +**输入**: +> 用户:我想做一个 AI 教学的 skill + +**输出**(节选): +```text +【需求规格】 + +🎯 目标:3 个月内做出 1 个帮 35-45 岁中年转型者的 AI 教学 skill 案例 + +👥 受众:35-45 岁中年转型者,被 AI 替代风险吓到,希望快速出作品 + +⛓ 约束:时间 3 个月内;预算 1 万以内;零技术基础 + +📥 输入材料:仅有话题,无草稿 + +✅ 验收:DAU 100 + 至少 1 个付费转化 + +🚫 边界(v1 不做):不建付费训练营 / 不做多平台分发 + +⚠️ 风险:受众定义不清 → 兜底:用 1 个真实用户访谈锁定 + +📌 关键假设:目标用户愿意为"案例作品"付费 + +【下一步路由】 +- 任务堆不明确 → 加载 `change-mode` 排执行顺序 +- 任务已明确 → 路由到 `skill-creator` +``` + +### 示例 2:change 模式(任务分诊) + +**输入**: +> 用户:今天要做 5 件事:写公众号、写小红书、做 SKILL、跟一个投资人 meeting、清理桌面 + +**输出**(节选): +```text +| # | 任务 | 复杂度 | 影响 | 紧急 | 不确定 | 优先级 | 路由到 | +|---|------|--------|------|------|--------|--------|--------| +| 1 | 投资人 meeting | 小 | 高 | 高 | 中 | P0 | 直接干 | +| 2 | 做 SKILL 中最关键的 1 个 | 大 | 中 | 低 | 高 | P0 | `skill-creator`(高不确定→ 优先)| +| 3 | 写公众号 | 中 | 高 | 中 | 低 | P1 | `original-writing` | +| 4 | 写小红书 | 中 | 高 | 中 | 中 | P1 | `ad-copywriting` | +| 5 | 清理桌面 | 小 | 低 | 低 | 低 | P3 | 砍掉 / 周末做 | + +总时长:3 天(vs 串行 5 天) +``` + +### 示例 3:improve 模式(结构优化) + +**输入**: +> 用户:帮我看看这个 SKILL.md 写得对不对? + +**输出**(节选): +```text +【改进清单】按杠杆率排序 + +🔴 P0(必须改): +1. frontmatter 缺负触发说明 + → 在 description 段尾加"不要用于"清单 + → 成本:15 分钟 | 验收:description 含"不要用于"段落 + +2. 工作流第 3 节颗粒度太粗 + → 拆 3 个步骤为 6 个,每步给具体动作 + → 成本:30 分钟 + +🟡 P1(应该改): +1. 缺 Gotchas 段落 → 加 5 条反例 +2. 缺 test-prompts.json → 新建 6 个活体样本 + +你要我直接动手改,还是你自己改? +``` + +更多反例样本见 [`examples/`](examples/)。 + +--- + +## 快速开始 + +```bash +# 一行安装(待公开发布) +npx skills add yingzhengzhang06-sys/requirement-clarifier +``` + +装完对 Agent 说: + +```text +帮我用 requirement-clarifier 看看"我想做一个 21 天 AI 写作训练营"该怎么开始 +``` + +Claude Code plugin marketplace 双通道: + +```json +{ + "plugin": "requirement-clarifier", + "source": "yingzhengzhang06-sys/requirement-clarifier" +} +``` + +--- + +## 触发方式 + +**强触发**(直接调用): +- "帮我想想 / 这个怎么做 / 我有个想法" → growme-mode +- "这些任务怎么排序 / 先做哪个 / 有哪些实现路径 / 帮我分诊" → change-mode +- "怎么优化 / 还有什么问题 / 帮我看看这个方案 / 审查一下" → improve-mode + +**弱触发**: +- 收到一句话需求 + 没有验收标准 +- 任务一摞 + 没说依赖关系 +- 已有方案 + 用户表达"感觉哪里不对" + +**不触发**: +- 信息已完全清楚 → **直接开干** +- 单个明确小问题 → 用 `AskUserQuestion` +- 已经是具体领域问题 → 路由到对应领域 skill + +--- + +## 它和同类有什么不同 + +| 维度 | 同类做法(mattpocock / obra / addyosmani) | 本 skill | +|---|---|---| +| 模式 | 单一澄清(grill-me / brainstorming) | **三模式统一**(growme + change + improve) | +| 路由 | 直接给方案 / 写代码 | **路由到具体执行 skill**(30+ skill 路由表) | +| 语言 | 英文为主 | **中文场景原生**,跨 runtime 中性 | +| 形态 | 单 SKILL.md | **套件**:3 个独立子 skill + 路由器 | +| 输出 | 自由文本 | **结构化输出模板**(需求规格 / 分诊表 / 改进清单) | +| 验证 | 缺失 | **6 个 test-prompts.json 活体样本** + 5 条自检 | + +**关键差异化**:本 skill 公开**30+ skill 路由对照表**——任何用户装本 skill 等于装了一份"全 skill 路由地图"。 + +--- + +## 安全边界 + +**不会做的事**: +- ❌ 不代替执行——本 skill 是"分诊台"不是"手术室" +- ❌ 不为了用而用——信息已清楚直接开干 +- ❌ 不预设领域——前端/后端/内容/商业都适配 +- ❌ 不路由回自己——分诊完必须指向其他 skill + +**会停手问用户的情况**: +- 信息缺口 > 5 个时分批追问 +- 任务依赖关系不清时让用户确认 +- 改进清单超过 7 个时让用户选杠杆率最高的 + +--- + +## 文件结构 + +``` +requirement-clarifier/ ← 套件根目录 +├── SKILL.md ← 路由器主入口 +├── growme-mode/ ← 子模式 1:需求澄清 +│ ├── SKILL.md +│ └── references/ +│ ├── seven-dimensions.md ← 7 大追问维度 +│ ├── ask-question-toolkit.md ← AskUserQuestion 工具 +│ └── red-flags.md ← 假澄清反例 +├── change-mode/ ← 子模式 2:任务分诊 +│ ├── SKILL.md +│ └── references/ +│ ├── complexity-rubric.md ← 复杂度判断 +│ ├── priority-matrix.md ← P0/P1/P2/P3 矩阵 +│ ├── routing-table.md ← 30+ skill 路由对照 +│ ├── parallel-dependency.md ← 依赖与并行 +│ └── red-flags.md ← 假分诊反例 +├── improve-mode/ ← 子模式 3:结构优化 +│ ├── SKILL.md +│ └── references/ +│ ├── seven-leverage-points.md ← 7 类改进点 +│ ├── smart-criteria.md ← SMART 原则 +│ └── red-flags.md ← 假改进反例 +├── examples/ ← 反例样本 +│ ├── fake-clarification.md +│ ├── fake-triage.md +│ └── fake-improve.md +├── test-prompts.json ← 6 个活体测试样本 +├── README.md ← 本文件 +├── LICENSE ← MIT +└── .claude-plugin/ + └── marketplace.json ← plugin 双通道 +``` + +--- + +## 验证与测试 + +跑下面 6 个活体测试: + +```bash +# TC-01: growme 模糊需求 → 应追问 ≤ 5 个问题,不直接给方案 +# TC-02: change 多任务 → 应按 P0/P1/P2/P3 排序,每项路由到具体 skill +# TC-03: improve 审查 → 应按杠杆率 ≤ 7 个改进,SMART 动作 +# TC-04: 串行模式 → growme → change 串行 +# TC-05: 不触发边界 → 信息清楚时不调用 +# TC-06: 完整分诊样本 → 验证输出格式 +# TC-07: 套件路由 → 路由器应路由到子 skill +# TC-08: 三模式反例 → 至少各识别 1 个假模式 +``` + +详见 `test-prompts.json`。 + +--- + +## 致谢 + +- **方法论来源**:[鲁班工坊](https://github.com/yingzhengzhang06-sys)(luban)的八步打磨流程 +- **核心借鉴**: + - [mattpocock/skills — grill-me](https://github.com/mattpocock/skills) — 极简 frontmatter + 附推荐答案 + - [addyosmani/agent-skills — interview-me](https://github.com/addyosmani/agent-skills) — "用用户原话复述"终止条件 + - [obra/superpowers — brainstorming](https://github.com/obra/superpowers) — Anti-Pattern 段落金句 + - [garrytan/gstack — office-hours](https://github.com/garrytan/gstack) — 自动/人工决策分流 + +--- + +## License + +[MIT](LICENSE) + +--- + +
+ +*工坊规矩:先验料,再动手;先访行,再谈差异;先量尺,再决定保留。* + +
diff --git a/skills/requirement-clarifier/SKILL.md b/skills/requirement-clarifier/SKILL.md new file mode 100644 index 00000000..990128fe --- /dev/null +++ b/skills/requirement-clarifier/SKILL.md @@ -0,0 +1,173 @@ +--- +name: requirement-clarifier +description: | + Three-mode triage station for ambiguous requests — turns vague intent into a requirement spec, a task pile into a routed execution plan, and an existing plan into an improvement checklist. Use when the user says "help me think this through", "I have an idea", "how do I prioritize these", "which one first", "how to optimize", "review my plan", or when context contains uncertainty (one-line request with no acceptance criteria, task pile with no stated dependencies, plan where something feels off). Triggers on skill design, content planning, business judgment, course design, unclear requirements documents, piled-up tasks with no obvious starting point, and scheme validation. + Do NOT use when: information is fully clear (just start), single small question (use AskUserQuestion), or already a specific domain question (route to that domain's skill). +license: MIT +metadata: + author: yingzhengzhang06-sys + version: "3.0.0" +--- + +# 需求澄清与任务分诊(Grow / Change / Improve) + +> **一句话钩子**:**先别动手——动手之前先回答"用户到底要什么、有多复杂、从哪里切入"三个问题。** + +它是"分诊台"——不预设领域、不替你执行。把模糊想法变成结构化需求,把任务堆变成带路由的执行顺序,把现成方案变成可改进清单。**然后明确指出下一个该用的 skill**,自己不接活。 + +本 skill 是**路由器**,按用户问题分派到三个子 skill: + +- `growme-mode` —— 需求澄清("帮我想想") +- `change-mode` —— 任务分诊("先做哪个") +- `improve-mode` —— 结构优化("怎么改") + +--- + +## 核心定位 + +任何"不太确定从哪下手"的请求,都先走本 skill 一次。三个动作: + +1. **澄清(growme)**:把模糊想法变成可执行需求 +2. **分诊(change)**:把任务堆变成执行顺序 +3. **改进(improve)**:把现成方案变成可优化清单 + +回答用户的三个本质问题: +- 你到底要什么?(growme 输出"需求规格") +- 该从哪开始?(change 输出"执行顺序") +- 现在这样对吗?(improve 输出"改进点") + +--- + +## 路由分派规则 + +收到用户输入后,先判断属于哪种模式(**可多选、可串行**): + +| 用户特征 | 模式 | 例子 | 路由到 | +|---|---|---|---| +| 表达了结果但路径不清晰 | **growme** | "我想做一个 AI 教学 skill" | `growme-mode` | +| 有多个任务需要排序或选择 | **change** | "我手上有 8 个 skill 要精修" | `change-mode` | +| 已有方案但不确认是否最优 | **improve** | "你看这个 SKILL.md 写得对不对" | `improve-mode` | + +**判定原则**: +- 多数请求先做 growme(澄清),再决定要不要串 change / improve +- 串行顺序:**growme → change → improve**(先搞清楚要什么,再排序,再审查方案) +- 明确告知用户当前判断的模式,让用户确认或纠正 +- 不需要分诊时直接说"不需要",不要为了用 skill 而用 +- 单次对话内可能涉及多个模式——按需串行调用 + +**不要路由回自己**:分诊完必须指向其他执行 skill,不允许"做完 A 后再用 requirement-clarifier 澄清"。 + +--- + +## 触发场景 + +**强触发**(直接调用): +- "帮我想想 / 这个怎么做 / 我有个想法" → growme-mode +- "这些任务怎么排序 / 先做哪个 / 有哪些实现路径 / 帮我分诊" → change-mode +- "怎么优化 / 还有什么问题 / 帮我看看这个方案 / 审查一下" → improve-mode + +**弱触发**(上下文里有"不确定"语义时调用): +- 收到一句话需求 + 没有验收标准 +- 任务一摞 + 没说依赖关系 +- 已有方案 + 用户表达"感觉哪里不对" +- 团队多人对同一目标描述不一致 + +**不触发**(明确边界): +- 信息已完全清楚 → **直接开干**,不要为了用 skill 而用 +- 单个明确小问题("X 怎么用")→ 用 `AskUserQuestion` 直接问 +- 已经是具体领域问题("前端按钮怎么写")→ 路由到 `frontend-design` / `ui-ux-pro-max` 等领域 skill +- 纯写作/纯翻译/纯生成 → 路由到 `original-writing` / `humanizer` / `content-rewrite` + +--- + +## 输出格式(路由器视角) + +```text +模式判断:growme / change / improve(可组合) + +【growme】 → 加载 growme-mode(执行需求澄清) +【change】 → 加载 change-mode(执行任务分诊) +【improve】 → 加载 improve-mode(执行结构优化) + +下一步建议:[具体路由到 XX skill / 直接执行 / 进一步澄清] +``` + +--- + +## 文件结构(本套件) + +``` +requirement-clarifier/ ← 路由器(你在这里) +├── SKILL.md ← 本文件:路由 + 触发 + 边界 +├── growme-mode/ ← 子 skill 1:需求澄清 +│ ├── SKILL.md +│ └── references/ +│ ├── seven-dimensions.md ← 7 大追问维度 +│ ├── ask-question-toolkit.md ← AskUserQuestion 使用技巧 +│ └── red-flags.md ← 常见假澄清反例 +├── change-mode/ ← 子 skill 2:任务分诊 +│ ├── SKILL.md +│ └── references/ +│ ├── complexity-rubric.md ← 复杂度判断尺 +│ ├── priority-matrix.md ← P0/P1/P2/P3 矩阵 +│ ├── routing-table.md ← 30+ skill 路由对照表 +│ └── parallel-dependency.md ← 依赖与并行 +├── improve-mode/ ← 子 skill 3:结构优化 +│ ├── SKILL.md +│ └── references/ +│ ├── seven-leverage-points.md ← 7 类改进点 +│ ├── smart-criteria.md ← SMART 原则 +│ └── red-flags.md ← 假改进反例 +├── examples/ ← 真实案例 +│ ├── fake-clarification.md ← 假澄清反例样本 +│ ├── fake-triage.md ← 假分诊反例样本 +│ └── fake-improve.md ← 假改进反例样本 +├── test-prompts.json ← 6 个活体测试样本 + 自检问题 +├── README.md ← 套件门面(house-style 模板) +├── LICENSE ← MIT +└── .claude-plugin/ + └── marketplace.json ← plugin 双通道 +``` + +> **打磨报告**已移到 `精修skills/13-元skill与治理/打磨报告/requirement-clarifier-打磨报告.md`(集中存档,便于看所有 skill 打磨情况)。 + +--- + +## Gotchas(路由器层) + +### ❌ 不要做的事 + +1. **不要"代替执行"**——本 skill 是"分诊台"不是"手术室"。澄清和分诊完成后**明确指向下一个执行 skill** +2. **不要"为了用而用"**——如果用户输入已足够清晰,直接确认即可 +3. **不要"领域预设"**——不预设前端、后端、内容、商业等任何领域 +4. **不要"路由回自己"**——分诊完不指向 requirement-clarifier,形成"分诊→执行→验证"闭环 +5. **不要"跳过 growme 直接 change"**——任务堆的前提是"已经清楚要什么",否则先澄清 +6. **不要"一次问超过 5 个"**——多于 5 个 = 你没在抓重点 +7. **不要"改进点超过 7 个"**——多于 7 个 = 你没在排序,在罗列 + +### ✅ 判断完成度的标准 + +输出前问自己: +> **"用户拿这份输出能直接开干吗?"** + +- 能 → 完成 +- 不能 → 哪一步还缺?回去补 +- 拿不准 → 标注"需用户确认 XX 后再开干" + +--- + +## 何时读取子 skill + +- **growme 相关请求** → 加载 `growme-mode/SKILL.md` + `references/seven-dimensions.md` +- **change 相关请求** → 加载 `change-mode/SKILL.md` + `references/priority-matrix.md` + `references/routing-table.md` +- **improve 相关请求** → 加载 `improve-mode/SKILL.md` + `references/seven-leverage-points.md` +- **完成度自检** → 读取本文件 Gotchas 节 + +--- + +## 字数与结构 + +- SKILL.md 本体(路由器):≤ 200 行(当前 ~150 行,达标) +- 子 skill SKILL.md:≤ 250 行 +- 子 skill references/:按需加载,不灌进主上下文 +- 总骨架文件数:≤ 20 diff --git a/skills/requirement-clarifier/change-mode/SKILL.md b/skills/requirement-clarifier/change-mode/SKILL.md new file mode 100644 index 00000000..d960d627 --- /dev/null +++ b/skills/requirement-clarifier/change-mode/SKILL.md @@ -0,0 +1,233 @@ +--- +name: change-mode +description: | + 任务分诊模式(change)——对明确的任务进行复杂度判断、优先级排序和路由建议。 + 触发词:这些任务怎么排序、先做哪个、有哪些实现路径、帮我分诊。 + 路由自:requirement-clarifier(当用户有多个任务需要排序或选择时)。 + 不要用于:模糊需求(用 growme-mode)、审查已有方案(用 improve-mode)、单个明确小问题(用 AskUserQuestion)。 +--- + +# change 模式 · 任务分诊 + +> **一句话钩子**:**任务堆不是清单,是决策树——不排优先级就动手 = 越努力越乱。** + +把任务堆变成有顺序、有路由、有依赖关系的执行计划。本模式**只分诊不执行**——输出执行计划后路由到具体执行 skill。 + +--- + +## 核心定位 + +三个动作: +1. **按复杂度分桶**:小(≤ 2 步)/ 中(3-5 步)/ 大(6+ 步) +2. **三维评分**:影响度 / 紧急度 / 不确定性(各 高/中/低) +3. **排序 + 路由**:P0/P1/P2/P3 四象限 + 30+ skill 路由对照表 + +--- + +## 工作流 + +### 步骤 1:按复杂度分桶 + +收到任务列表后,先按复杂度分桶: + +| 复杂度 | 特征 | 处理方式 | +|---|---|---| +| **小** | ≤ 2 步,1-2 小时内能完成 | 直接给方案,无需拆解 | +| **中** | 3-5 步,需要简短计划 | 给计划 + 关键决策点 | +| **大** | 6+ 步,需要分阶段 | 给阶段方案 + 里程碑 | + +详见 `references/complexity-rubric.md`。 + +**判断陷阱**: +- ❌ "小"任务扎堆(10 个小任务 = 实际上是个中任务) +- ❌ "大"任务强拆成小任务(任务颗粒度 = 2-5 天的工作量) + +### 步骤 2:三维评分 + +对每项任务标注三个维度: + +#### 影响度(Impact) +- **高**:直接影响核心目标 / 不做会失败 +- **中**:做了有提升,不做不至于崩 +- **低**:锦上添花 + +#### 紧急度(Urgency) +- **高**:deadline 在 1 周内 / 不做会卡住其他任务 +- **中**:deadline 在 1 月内 +- **低**:deadline 在 3 月外 / 没有明确 deadline + +#### 不确定性(Uncertainty) +- **高**:从未做过 / 不知道怎么做 / 风险未知 +- **中**:做过类似的,需要小试 +- **低**:做过多次,闭眼能上 + +### 步骤 3:四象限优先级矩阵 + +``` + 高紧急 低紧急 +高影响 │ P0 立刻做 │ P1 计划做 │ + │ (启动 + 推到完成) │ (排进月度计划) │ + ├──────────────────┼──────────────────┤ +低影响 │ P2 委托/快速做 │ P3 砍掉/排队 │ + │ (能外包就外包) │ (如果时间多就做)│ + └──────────────────┴──────────────────┘ +``` + +**P0 立刻做** | 启动成本低、影响大、不做会卡住后续 +**P1 计划做** | 影响大但不紧急 → 排进长期计划 +**P2 委托做** | 紧急但低影响 → 能外包就外包 +**P3 砍掉/排队** | 紧急度低 + 影响低 → 砍掉 / 排到"如果有空" + +详见 `references/priority-matrix.md`。 + +### 步骤 4:路由到具体 skill(核心!) + +每项任务必须**指向一个具体 skill**(详见 `references/routing-table.md`)。 + +**合法例外**(不视为违反"每项任务路由到 skill"原则): +- 任务类型不在 30+ skill 路由表内(如 meeting、吃饭、出门)→ 标 `直接干` + 附"为什么不需要 skill"一句话(如"meeting 靠人不是 skill") +- 任务跨多个 skill → 标主+辅(如 `yizhou-thinking` + `deep-research`) +- 任务没有合适 skill → 标 `待开发` 或 `用通用 Agent` + +#### 内容创作类 +| 任务 | 路由到 | +|---|---| +| 公众号/小红书长文原创 | `original-writing` | +| 商单/广告文案 | `ad-copywriting` | +| 视频脚本 | `original-writing` + 平台适配 | +| 小红书图文卡片 | `advanced-xhs-visual-design` | +| 改写/翻译/去 AI 味 | `content-rewrite` / `humanizer` / `ai-polish` | + +#### 设计与开发类 +| 任务 | 路由到 | +|---|---| +| 前端代码 | `frontend-design` | +| UI/UX 设计 | `ui-ux-pro-max` | +| 设计系统建立 | ⚠️ 原 `design-consultation` 已于 2026-06-14 归档;建议 `design-md-brand-kit` + `frontend-design` 组合 | +| 写代码 / 调试 | `coding-agent` | +| 代码审查 | `code-review` | +| 网站部署 | `land-and-deploy` | + +#### 业务与战略类 +| 任务 | 路由到 | +|---|---| +| 商业判断 / 战略决策 | `yizhou-thinking` / `insight` | +| 财务分析 | `finance-assistant` | +| 投资研究 | `us-stock-analysis` | +| 需求澄清(模糊任务) | `requirement-clarifier`(注意:不路由回自己) | +| AI 替代风险评估 | `AI-jobs-China` | + +#### 调研与学习类 +| 任务 | 路由到 | +|---|---| +| 深度调研 | `deep-research` | +| 笔记整理 / 学习 | `notes-research` / `knowledge-palace` | +| 看书 / 视频转录 | `video-transcribe` / `original-writing` | + +#### 数据与媒体类 +| 任务 | 路由到 | +|---|---| +| 数据分析 / 可视化 | `finance-assistant` / `us-stock-analysis` | +| 抓网页 / 抓数据 | `content-scraper` / `browser-automation` | +| 视频号分析 | `video-account-analysis` | +| 视频处理 | `video-transcribe` / `openmontage` | + +#### 技能治理类(元 skill) +| 任务 | 路由到 | +|---|---| +| 写新 Skill | `skill-creator` | +| 审查 / 精修 Skill | `skill-vetter` / `luban` | +| 工作流编排 | `workflow-builder` / `autoplan` | + +#### 工具与浏览器 +| 任务 | 路由到 | +|---|---| +| 调用外部 API | `api-gateway` | +| 浏览器自动化 | `browser-automation` | +| 网页内容提取 | `defuddle` / `content-scraper` | +| 性能基准测试 | `benchmark` | + +#### Obsidian / 知识管理 +| 任务 | 路由到 | +|---|---| +| Obsidian 操作 | `obsidian-cli` / `obsidian-markdown` | +| 笔记整理 | `capture` / `quick-note` | +| 想法捕捉 | `idea` | + +### 步骤 5:依赖与并行 + +详见 `references/parallel-dependency.md`: +- 强依赖:B 必须在 A 完成后才能开始 +- 弱依赖:B 最好在 A 完成后做,但可并行 +- 无依赖:完全独立 + +--- + +## 输出"分诊计划"模板 + +```text +【分诊结果】 + +📋 任务列表(共 X 项): +| # | 任务 | 复杂度 | 影响 | 紧急 | 不确定 | 优先级 | 路由到 | +|---|------|--------|------|------|--------|--------|--------| +| 1 | XX | 中 | 高 | 高 | 中 | P0 | `original-writing` | +| 2 | YY | 大 | 高 | 中 | 高 | P1 | `skill-creator` | +| ... | + +📊 优先级矩阵(按执行顺序): +1. [P0] 立刻做:[任务 1] → 路由到 `XX` +2. [P1] 计划做:[任务 2] → 路由到 `XX` +3. [P2] 委托做:[任务 3] → 路由到 `XX` +4. [P3] 砍掉:[任务 X] + +🔗 依赖关系: +- 任务 1 → 任务 2(强依赖) +- 任务 3、4 可并行 + +⏱ 时间预估: +- 任务 1:X 天 +- 任务 2:Y 周 +- 总计:Z 周 + +⚠️ 风险点: +- 任务 1 涉及外部 API 不可用 → 备选方案 XX +- 任务 2 首次做不确定 → 先用最小成本试错 +``` + +--- + +## Gotchas + +### ❌ 假分诊(详见 `examples/fake-triage.md`) + +1. **只排顺序不给路由**:"先做 A,再做 B"——没说每个用什么 skill +2. **路由指向自己**:"做完 A 后用 requirement-clarifier 再澄清"——分诊完又分诊,无限循环 +3. **忽略不确定性**:把高不确定任务和低不确定任务同样安排 = 后面必崩 +4. **P0 灌水**:把"清理桌面"也拉进 P0 = 真 P0 反而被淹没 +5. **跳过依赖关系**:没说任务 2 必须在任务 1 完成后 = 用户开干发现卡住 + +### ✅ 完成度判断 + +输出前问: +> "用户拿这份分诊计划能直接开干吗?" + +- 能 → 完成 +- 不能 → 哪一步还缺?回去补 +- 拿不准 → 标注"需用户确认 XX 后再开干" + +--- + +## 何时读取 references + +- **复杂度判断尺** → `references/complexity-rubric.md` +- **四象限矩阵 + 杠杆率** → `references/priority-matrix.md` +- **30+ skill 路由对照表**(完整版)→ `references/routing-table.md` +- **依赖与并行判定** → `references/parallel-dependency.md` + +--- + +## 字数 + +- SKILL.md 本体:≤ 250 行(当前 ~200 行,达标) +- references/ 拆 4 个文件,按需加载 diff --git a/skills/requirement-clarifier/change-mode/references/complexity-rubric.md b/skills/requirement-clarifier/change-mode/references/complexity-rubric.md new file mode 100644 index 00000000..1f4ff849 --- /dev/null +++ b/skills/requirement-clarifier/change-mode/references/complexity-rubric.md @@ -0,0 +1,90 @@ +# change 复杂度判断尺 + +> 适用:change-mode(任务分诊) +> 目的:把任务堆分桶(小/中/大),给合适的处理方式 + +## 三档复杂度 + +### 小(≤ 2 步,1-2 小时内能完成) +- 特征:单一目标,路径清晰 +- 处理:直接给方案,无需拆解 +- 例子: + - "发一条朋友圈"(1 步) + - "改一个 SKILL.md 的 frontmatter"(1-2 步) + - "回复一封邮件"(1 步) + +### 中(3-5 步,需要简短计划) +- 特征:多步骤,有依赖关系但都不复杂 +- 处理:给计划 + 关键决策点 +- 例子: + - "写一篇 1500 字公众号"(选题→大纲→初稿→润色→配图) + - "精修一个 skill"(验料→过尺→慢刨→验证门→回炉) + - "做一份市场调研"(列提纲→找信源→整理→写报告→校对) + +### 大(6+ 步,需要分阶段) +- 特征:多阶段、多决策、有里程碑 +- 处理:给阶段方案 + 里程碑 + 关键检查点 +- 例子: + - "做一个完整产品"(需求→设计→开发→测试→上线→运营) + - "做一套 21 天训练营"(大纲→内容→招生→运营→复盘) + - "系统性重塑个人 IP"(定位→内容→平台→变现→迭代) + +--- + +## 判断陷阱 + +### ❌ 陷阱 1:把任务颗粒度切太细 + +错误示范:把"做一套 21 天训练营"拆成 21 个"做第 X 天内容"任务 → 21 个小任务堆里看不出主从关系。 + +✅ 正确做法:颗粒度 = 2-5 天的工作量。大任务拆成阶段,不要拆成单日工作。 + +### ❌ 陷阱 2:把任务颗粒度切太粗 + +错误示范:把"做 AI 教学 skill" 当作 1 个大任务,没拆解。 + +✅ 正确做法:大任务必须拆阶段。最小粒度 = 能识别依赖关系 + 路由到具体 skill。 + +### ❌ 陷阱 3:"小"任务扎堆 + +错误示范:用户列了 10 个小任务(发 5 条朋友圈、改 3 个 typo、跟 2 个人对接),你说"都是小任务"。 + +✅ 正确做法:10 个小任务 = 实际上是个中任务。打包成"周末日常运营",按优先级排序。 + +--- + +## 复杂度 × 处理方式 + +| 复杂度 | 任务数预估 | 输出形式 | 决策点 | +|---|---|---|---| +| 小 | 1-3 个 | 列表 + 直接执行 | 0-1 个 | +| 中 | 3-10 个 | 表格 + 关键决策点 | 1-3 个 | +| 大 | 10+ 个 | 阶段方案 + 里程碑 | 3+ 个 | + +--- + +## 任务颗粒度建议 + +| 任务类型 | 建议颗粒度 | 例子 | +|---|---|---| +| 内容创作 | 1 篇 / 1 个视频 / 1 张卡片 | "写公众号文章"(不要拆"选标题/写正文/排版") | +| 技能开发 | 1 个 skill / 1 个 feature | "精修 ai-polish"(不要拆"改 frontmatter/改工作流/加测试") | +| 商业决策 | 1 个决策 / 1 个产品 | "决定是否做训练营"(不要拆"调研/定价/招生") | +| 运营工作 | 1 周 / 1 个事件 | "Q3 公众号运营"(不要拆"写文/排版/发布") | +| 设计工作 | 1 个页面 / 1 个系统 | "改版首页"(不要拆"调色/排版/配图") | + +--- + +## 输出"复杂度评估" + +在分诊计划开头先输出: + +```text +【任务复杂度评估】 +- 小任务(≤ 2 步):X 项 +- 中任务(3-5 步):Y 项 +- 大任务(6+ 步):Z 项 +- 总计:X+Y+Z 项 +- 整体判断:[小批量 / 中等规模 / 大型项目] +- 处理策略:[直接干 / 简短计划 / 分阶段方案] +``` diff --git a/skills/requirement-clarifier/change-mode/references/parallel-dependency.md b/skills/requirement-clarifier/change-mode/references/parallel-dependency.md new file mode 100644 index 00000000..3f9cc138 --- /dev/null +++ b/skills/requirement-clarifier/change-mode/references/parallel-dependency.md @@ -0,0 +1,125 @@ +# change 依赖与并行判定 + +> 适用:change-mode(任务分诊) +> 目的:识别任务之间的依赖,最大化可并行项 + +## 三种依赖关系 + +### 强依赖(Hard Dependency) +- B 必须在 A 完成后才能开始 +- 例子: + - "写公众号" → "做封面"(没文章没封面) + - "录制视频" → "剪辑视频"(没源没得剪) + - "建产品" → "上线产品"(没建没得上) + +### 弱依赖(Soft Dependency) +- B 最好在 A 完成后做,但可并行 +- 例子: + - "写文章" → "写标题"(可并行,标题可在文章完成后调) + - "做 SKILL.md" → "写 README"(可并行,但 SKILL 完成后再写更准) + - "录课程" → "做营销素材"(可并行,但课程主线定后做更准) + +### 无依赖(Independent) +- 完全独立,可任意顺序 +- 例子: + - "写公众号" + "回邮件" + "清理桌面"(都互不相关) + - "做小红书" + "做抖音"(不同平台,但目标可能冲突) + +--- + +## 识别依赖的 4 个问题 + +判断两任务 A、B 的关系时问: + +1. **A 的产出是 B 的输入吗?** 是 → 强依赖 +2. **A 没完成 B 也能做吗?** 是 → 弱依赖或无依赖 +3. **如果 A 改方向,B 会受影响吗?** 是 → 弱依赖 +4. **两者用同一个资源/人吗?** 是 → 资源依赖(可能变强依赖) + +--- + +## 并行执行矩阵 + +### 完全可并行(同一时间多人/多 agent 做) +- 弱依赖 + 不同资源 +- 例子: + - Task A(写公众号)+ Task B(写小红书)→ 2 个 Claude Code session 同时做 + - Task A(写 SKILL.md)+ Task B(写 README)→ 1 个 session 顺序做,2 个 session 并行做 + +### 部分可并行(先做关键路径,并行做支线) +- 强依赖的关键路径 + 弱依赖的支线 +- 例子: + - Task A(写正文,强依赖在先) + Task B(做封面,弱依赖在先)→ A 先 1 小时,B 同时并行 + - Task A(建产品,强依赖) + Task B(写营销文案,弱依赖)→ A 先 50%,B 同时开始 + +### 不可并行(必须顺序) +- 强依赖 + 同一资源 +- 例子: + - "写公众号" → "排版公众号" → "发布公众号"(必须顺序) + +--- + +## 资源依赖(容易被忽略) + +除了任务之间的依赖,还有**资源/人/Agent**的依赖: + +| 资源类型 | 例子 | 影响 | +|---|---|---| +| 人 | 同一时间你只能写 1 篇公众号 | 串行 | +| 工具 | 同一时间 1 个 Claude Code session | 串行(除非开多 session) | +| 数据 | 同一数据库 1 个写操作 | 串行 | +| 平台 | 同一平台账号 1 个发布窗口 | 串行 | + +**资源依赖 = 即使任务逻辑无依赖,资源约束也强制串行。** + +--- + +## 输出"依赖关系"格式 + +```text +🔗 依赖关系图: +[Task 1] ──强──> [Task 2] ──强──> [Task 4] + │ │ + └──弱──> [Task 3] ─┘ + +[Task 5] 独立 +[Task 6] 独立 + +⏱ 可并行项: +- Task 1 + Task 5 + Task 6 → 同时做 +- Task 2 进行 50% 时启动 Task 3 + +📅 关键路径(决定总时长): +Task 1 → Task 2 → Task 4 = X 天 +``` + +--- + +## 反例:跳过依赖关系 + +### ❌ 错误示范 + +```text +【分诊计划】 +1. 写公众号 +2. 做封面 +3. 写小红书 +4. 录制视频 +(没说哪个依赖哪个,用户开干发现全部要重排) +``` + +### ✅ 正确示范 + +```text +【分诊计划】 +1. 写公众号(P0,强依赖) → original-writing +2. 写小红书(P0,独立) → ad-copywriting + ↳ 可与 #1 并行 +3. 录制视频(P1,强依赖 #1) → video-transcribe +4. 做公众号封面(P1,弱依赖 #1) → advanced-xhs-visual-design + ↳ 可与 #3 并行 + +总时长:3 天(vs 串行 5 天) +``` + +**为什么错**:没说依赖 = 用户开干才发现冲突 = 整体延期。 diff --git a/skills/requirement-clarifier/change-mode/references/priority-matrix.md b/skills/requirement-clarifier/change-mode/references/priority-matrix.md new file mode 100644 index 00000000..6b6435dc --- /dev/null +++ b/skills/requirement-clarifier/change-mode/references/priority-matrix.md @@ -0,0 +1,122 @@ +# change 优先级矩阵 + 杠杆率 + +> 适用:change-mode(任务分诊) +> 目的:把任务分到 P0/P1/P2/P3 四象限 + +## 四象限矩阵 + +``` + 高紧急 低紧急 +高影响 │ P0 立刻做 │ P1 计划做 │ + │ (启动 + 推到完成) │ (排进月度计划) │ + ├──────────────────┼──────────────────┤ +低影响 │ P2 委托/快速做 │ P3 砍掉/排队 │ + │ (能外包就外包) │ (如果时间多就做)│ + └──────────────────┴──────────────────┘ +``` + +## P0 立刻做 + +**特征**:启动成本低、影响大、不做会卡住后续 + +**典型**: +- 明确目标 + 已知路径 + 高 ROI 的开局动作 +- 必须今天/本周完成的事 +- 卡住下游任务的前置条件 + +**例子**: +- 投资人 meeting 前的 deck +- 启动一项内容连载的第 1 篇 +- 修复阻塞开发的 P0 bug + +## P1 计划做 + +**特征**:影响大但不紧急 → 排进长期计划 + +**典型**: +- 方法论建设 / 长期内容资产 +- 团队能力建设 / 系统性优化 +- 1-3 月内的重要但不紧急的事 + +**例子**: +- 建立内容创作的 SOP +- 设计个人 IP 的内容矩阵 +- 训练一个稳定的副业 pipeline + +## P2 委托做 + +**特征**:紧急但低影响 → 能外包就外包,能用模板就用模板 + +**典型**: +- 日常运营 / 重复性工作 +- 已有 SOP 的执行 +- 可机械化的琐事 + +**例子**: +- 整理本周发布的内容 +- 跟合作方对接常规事务 +- 清理文件 / 整理文件夹 + +## P3 砍掉或排队 + +**特征**:紧急度低 + 影响低 → 砍掉 / 排到"如果有空" + +**典型**: +- 完美主义优化 +- 与核心目标无关的探索 +- 锦上添花的功能 + +**例子**: +- 重新设计一个没人在意的页面 +- 学习一个"未来可能用得上"的新工具 +- 跟无关人士 coffee chat + +--- + +## 不确定性 + 优先级(执行顺序) + +> 借鉴 lean startup 的 fail-fast 原则 + +不确定性高的任务**优先做**(fail fast): +- **高不确定 + 高影响** → 立刻试(用最小成本试错) +- **高不确定 + 低影响** → 先观察,不投入资源 +- **低不确定 + 高影响** → 标准化、规模化 +- **低不确定 + 低影响** → 自动化 / 砍掉 + +### 例子 + +| 任务 | 影响 | 不确定 | 建议 | +|---|---|---|---| +| 第一次做小红书 | 高 | 高 | **立刻试**(用最小内容试错) | +| 写第 100 篇公众号 | 高 | 低 | 标准化、批量化 | +| 学一个新工具 | 低 | 高 | 先观察,不投入资源 | +| 重复运营工作 | 低 | 低 | 自动化、委托 | + +--- + +## 反例:P0 灌水 + +### ❌ 错误示范 +用户列了 5 件事,你把"清理桌面"也拉进 P0: + +```text +📊 优先级矩阵: +1. [P0] 写公众号 → original-writing +2. [P0] 写小红书 → ad-copywriting +3. [P0] 做 SKILL → skill-creator +4. [P0] 投资人 meeting → 直接干 +5. [P0] 清理桌面 → 直接干 ← 错!低影响 + 低紧急 +``` + +### ✅ 正确示范 + +```text +📊 优先级矩阵: +1. [P0] 投资人 meeting(高影响 + 高紧急) → 直接干 +2. [P0] 做 SKILL 中最关键的 1 个(高影响 + 高不确定) → skill-creator +3. [P1] 写公众号(高影响 + 中紧急) → original-writing +4. [P1] 写小红书(高影响 + 中紧急) → ad-copywriting +5. [P3] 清理桌面(低影响 + 低紧急) → 砍掉 / 周末做 +``` + +**为什么错**:P0 灌水 = 真 P0 被淹没 + 用户以为 P0 廉价。 diff --git a/skills/requirement-clarifier/change-mode/references/red-flags.md b/skills/requirement-clarifier/change-mode/references/red-flags.md new file mode 100644 index 00000000..52d3f1a3 --- /dev/null +++ b/skills/requirement-clarifier/change-mode/references/red-flags.md @@ -0,0 +1,153 @@ +# change 假分诊反例 + +> 适用:change-mode +> 目的:识别 5 类典型反模式 + +## 反例 1:只排顺序不给路由 + +### ❌ 错误示范 + +```text +【分诊计划】 +1. 写公众号 +2. 做 SKILL +3. 回邮件 +4. 清理桌面 +(没说每个用什么 skill 做) +``` + +### ✅ 正确示范 + +```text +【分诊计划】 +1. 写公众号(P0)→ 路由到 `original-writing` +2. 做 SKILL(P1)→ 路由到 `skill-creator` +3. 回邮件(P2)→ 直接干(无 skill) +4. 清理桌面(P3)→ 砍掉 +``` + +**为什么错**:不给路由 = 用户拿清单还要自己想用什么 skill = "分诊台"没起到作用。 + +--- + +## 反例 2:路由指向自己 + +### ❌ 错误示范 + +```text +【分诊计划】 +1. 写公众号 → original-writing +2. 改大纲 → requirement-clarifier ← 错!路由回自己 +3. 写完再改 → requirement-clarifier ← 错!再回 +(无限循环) +``` + +### ✅ 正确示范 + +```text +【分诊计划】 +1. 写公众号 → original-writing +2. 改大纲 → 让用户直接给反馈,不路由回 requirement-clarifier +3. 写完发布 → 路由到 wechat-mp-auto +``` + +**为什么错**:分诊完又分诊 = 没出口 = 任务永远完不成。 + +--- + +## 反例 3:忽略不确定性 + +### ❌ 错误示范 + +```text +【分诊计划】 +1. 写公众号(首次做小红书风格) ← 高不确定,但被按"低不确定"排 +2. 写第 100 篇公众号(已有 99 篇) ← 低不确定,被排后面 +3. 上线新产品(首次做) ← 高不确定 +(高不确定任务没优先做 → 后面踩坑时已经投入大量时间在低不确定任务上) +``` + +### ✅ 正确示范 + +```text +【分诊计划】按"fail fast"原则 +1. 写 1 篇小红书风格文章(首次,高不确定)→ 用最小成本试错 +2. 根据反馈改 SOP +3. 写第 100 篇公众号(已有 SOP,低不确定)→ 标准化 +4. 上线新产品(首次,高不确定)→ 启动时用小步快跑 +``` + +**为什么错**:把高不确定任务和低不确定任务同样安排 = 后面必崩。Lean startup 教过:先做高不确定的。 + +--- + +## 反例 4:P0 灌水 + +### ❌ 错误示范 + +```text +【分诊计划】 +1. [P0] 写公众号 +2. [P0] 写小红书 +3. [P0] 做 SKILL +4. [P0] 投资人 meeting +5. [P0] 清理桌面 ← 错!低影响 + 低紧急 +(5 个 P0 = 没有 P0) +``` + +### ✅ 正确示范 + +```text +【分诊计划】 +1. [P0] 投资人 meeting(高影响 + 高紧急)→ 直接干 +2. [P0] 做 SKILL 中最关键的 1 个(高影响 + 高不确定)→ skill-creator +3. [P1] 写公众号(高影响 + 中紧急)→ original-writing +4. [P1] 写小红书(高影响 + 中紧急)→ ad-copywriting +5. [P3] 清理桌面(低影响 + 低紧急)→ 砍掉 +``` + +**为什么错**:P0 灌水 = 真 P0 被淹没 + 用户以为 P0 廉价。 + +--- + +## 反例 5:跳过依赖关系 + +### ❌ 错误示范 + +```text +【分诊计划】 +1. 写公众号 +2. 做封面 +3. 写小红书 +4. 录制视频 +(没说哪个依赖哪个 → 用户开干发现全部要重排) +``` + +### ✅ 正确示范 + +```text +【分诊计划】 +1. 写公众号(P0,强依赖)→ original-writing +2. 写小红书(P0,独立)→ ad-copywriting + ↳ 可与 #1 并行 +3. 录制视频(P1,强依赖 #1)→ video-transcribe +4. 做公众号封面(P1,弱依赖 #1)→ advanced-xhs-visual-design + ↳ 可与 #3 并行 + +总时长:3 天(vs 串行 5 天) +``` + +**为什么错**:没说依赖 = 用户开干发现冲突 = 整体延期。 + +--- + +## 自我检测清单 + +输出"分诊计划"前自问: +- [ ] 每项任务都路由到具体 skill 了吗? +- [ ] 没路由回 requirement-clarifier(除非明确"重新澄清")? +- [ ] 高不确定任务排在前面了吗? +- [ ] P0 没灌水(≤ 2-3 项)? +- [ ] 依赖关系标清楚了吗? +- [ ] 可并行项标了"可与 XX 并行"吗? +- [ ] 用户能拿这份清单直接开干吗? diff --git a/skills/requirement-clarifier/change-mode/references/routing-table.md b/skills/requirement-clarifier/change-mode/references/routing-table.md new file mode 100644 index 00000000..84fe6ddb --- /dev/null +++ b/skills/requirement-clarifier/change-mode/references/routing-table.md @@ -0,0 +1,142 @@ +# change 完整路由对照表(30+ skill) + +> 适用:change-mode(任务分诊) +> 目的:每项任务必须指向一个具体 skill,不允许"自己干" + +## 路由原则 + +1. **每项任务必须路由到具体 skill**——不写"自己干" / "直接做" +2. **不允许路由回 requirement-clarifier**(除非用户明确说"重新澄清") +3. **如任务跨多个 skill**:按主从关系选 1 个主路由 + 1-2 个辅助 +4. **如任务没有合适 skill**:标"待开发"或"用通用 Agent" + +--- + +## 内容创作类 + +| 任务 | 主路由 | 辅助 | +|---|---|---| +| 公众号/小红书长文原创 | `original-writing` | `ad-copywriting` | +| 商单/广告文案 | `ad-copywriting` | - | +| 视频脚本 | `original-writing` | 平台适配 skill | +| 小红书图文卡片 | `advanced-xhs-visual-design` | - | +| 视频号内容 | `original-writing` | `video-account-analysis` | +| 改写(保留原意) | `content-rewrite` | - | +| 翻译 | `content-rewrite` | - | +| 去 AI 味(中文) | `ai-polish` | - | +| 去 AI 味(英文) | `humanizer` | - | +| 视频转录/字幕 | `video-transcribe` | - | +| 文案风格迁移 | `content-rewrite` | `ad-copywriting` | + +## 设计与开发类 + +| 任务 | 主路由 | 辅助 | +|---|---|---| +| 前端代码 | `frontend-design` | - | +| UI/UX 设计 | `ui-ux-pro-max` | - | +| 设计系统建立 | ⚠️ 原 `design-consultation` 已于 2026-06-14 归档;建议 `design-md-brand-kit` + `frontend-design` 组合 | `frontend-design` | +| 写代码 / 调试 | `coding-agent` | - | +| 代码审查 | `code-review` | - | +| 安全审查 | `cso` | - | +| 网站部署 | `land-and-deploy` | - | +| 性能基准 | `benchmark` | - | +| 设计审查(视觉 QA) | `design-review` | - | +| 视觉设计 | `advanced-xhs-visual-design` | - | + +## 业务与战略类 + +| 任务 | 主路由 | 辅助 | +|---|---|---| +| 商业判断 / 战略决策 | `yizhou-thinking` | `insight` | +| 战略洞察(咨询师对话) | `insight` | - | +| 财务分析 | `finance-assistant` | - | +| 投资研究 | `us-stock-analysis` | - | +| AI 替代风险评估 | `AI-jobs-China` | - | +| 求职分析 | `jobradar` | - | +| 需求澄清(模糊任务) | `requirement-clarifier` | - | +| 项目方案审查 | `plan-ceo-review` / `plan-eng-review` / `plan-design-review` | - | + +## 调研与学习类 + +| 任务 | 主路由 | 辅助 | +|---|---|---| +| 深度调研(多源验证) | `deep-research` | - | +| 笔记整理 / 学习 | `notes-research` | `knowledge-palace` | +| 看书 / 视频转录 | `video-transcribe` | `original-writing` | +| 知识问答 | `ima-knowledge` | - | +| 思考框架(karpathy) | `karpathy-guidelines` | - | +| 顶层思维 | `top-thinking` | - | + +## 数据与媒体类 + +| 任务 | 主路由 | 辅助 | +|---|---|---| +| 数据分析 / 可视化 | `finance-assistant` | `us-stock-analysis` | +| 抓网页 / 抓数据 | `content-scraper` | `browser-automation` | +| 网页内容提取(纯文) | `defuddle` | - | +| 视频号分析 | `video-account-analysis` | - | +| 视频处理 | `video-transcribe` | `openmontage` | +| 跨平台追踪 | `social-media-tracker` | - | + +## 技能治理类(元 skill) + +| 任务 | 主路由 | 辅助 | +|---|---|---| +| 写新 Skill(从零) | `skill-creator` | - | +| 审查 / 精修 Skill | `skill-vetter` | `luban`(深度打磨) | +| 深度打磨 Skill | `luban` | - | +| 工作流编排 | `workflow-builder` | `autoplan` | +| 自动执行任务队列 | `bypass` | - | +| 主动执行(不问) | `active-agent` | - | + +## 工具与浏览器 + +| 任务 | 主路由 | 辅助 | +|---|---|---| +| 调用外部 API | `api-gateway` | - | +| 浏览器自动化 | `browser-automation` | - | +| 浏览器 QA / dogfood | `browse` | - | +| 网页内容提取(纯文) | `defuddle` | - | +| 性能基准 | `benchmark` | - | +| 部署后监控 | `canary` | - | + +## Obsidian / 知识管理 + +| 任务 | 主路由 | 辅助 | +|---|---|---| +| Obsidian 操作 | `obsidian-cli` | `obsidian-markdown` | +| Obsidian 模板/插件 | `obsidian-bases` / `obsidian-skills` / `obsidian-vault` | - | +| 笔记整理 | `capture` | `quick-note` | +| 想法捕捉 | `idea` | - | +| 记忆管理 | `memory-boost` | - | + +## 其他 + +| 任务 | 主路由 | 辅助 | +|---|---|---| +| 时间/天气 | `weather-zh` | - | +| 自我改进(agent) | `self-improving-agent` | - | +| 主动行为 | `proactive-agent` | - | +| 办公时间 | `office-hours` | - | +| 静默模式 | `freeze` / `unfreeze` | - | +| 写 PPT | `yizhou-ppt` | - | +| 微信文章自动 | `wechat-mp-auto` | - | +| 小红书自动 | `xiaohongshu-auto` | - | +| 股票分析 | `us-stock-analysis` / `tokscale` | - | +| 复盘 | `retro` | - | +| 设置 | `setup-browser-cookies` / `setup-deploy` | - | +| 出海发布 | `ship` | - | +| 找 skill | `skill-finder` | - | +| 问答(CEO 视角) | `plan-ceo-review` | - | +| 人工审核 QA | `qa` / `qa-only` | - | + +--- + +## 路由自检清单 + +输出分诊计划后自问: +- [ ] 每项任务都路由到具体 skill 了吗? +- [ ] 没路由回 requirement-clarifier(除非明确"重新澄清")? +- [ ] 跨 skill 任务标了主+辅吗? +- [ ] 没找到合适 skill 的任务标"待开发"或"用通用 Agent"了吗? +- [ ] 用户能直接复制 skill 名去执行吗? diff --git a/skills/requirement-clarifier/examples/fake-clarification.md b/skills/requirement-clarifier/examples/fake-clarification.md new file mode 100644 index 00000000..bdccd5ba --- /dev/null +++ b/skills/requirement-clarifier/examples/fake-clarification.md @@ -0,0 +1,127 @@ +# 假澄清(fake-clarification)反例样本 + +> 来源:growme-mode/red-flags.md +> 目的:把 6 个典型反例用"完整对话形式"沉淀,方便活体识别 + +## 反例 1:把脑补当澄清 + +### 场景 +用户:我想做一个 AI 教学的 skill + +### ❌ 假澄清 +> Claude:好的,我建议做成小红书图文 + 视频 + 知识星球 + 训练营,覆盖入门到高阶。前期小红书起号,中期知识星球沉淀,后期训练营变现。你觉得呢? + +### ✅ 真澄清 +> Claude:在动手前先问 3 个问题: +> 1. **目标受众**:(a)职场新人(b)在校学生(c)中年转型者? +> 2. **预期 3 个月达成的关键指标**:(a)粉丝数(b)课程销量(c)个人品牌影响力? +> 3. **预算**:(a)零成本(b)可投流(c)不设上限? + +--- + +## 反例 2:跳过信息缺口 + +### 场景 +用户:帮我写个公众号文章 + +### ❌ 假澄清 +> Claude:好的,主题是什么? + +### ✅ 真澄清 +> Claude:写之前先确认几件事: +> 1. **目标读者**:(a)职场新人(b)资深从业者(c)跨行业转型者? +> 2. **阅读场景**:(a)深度阅读(1500+ 字长文)(b)通勤速读(500 字内)? +> 3. **希望读完留下什么印象**:(a)学到方法(b)改变观念(c)获得行动建议? +> 4. **长度**:(a)500 字(b)1500 字(c)3000 字? +> 5. **你提供的素材**:(a)草稿(b)大纲(c)仅话题? + +--- + +## 反例 3:一次问 10 个 + +### 场景 +用户:我想做一个产品 + +### ❌ 假澄清 +> Claude:受众?预算?时间?平台?长度?风格?配图?发布频率?商业模式?竞争对手?…… + +### ✅ 真澄清 +> Claude:第一轮(3 个最关键): +> 1. **目标受众**:谁用? +> 2. **核心价值**:解决什么痛点? +> 3. **时间**:deadline 是什么时候? +> +> (用户回答后)第二轮(按需 1-2 个): +> 4. **验收**:怎么算"做完了"? +> 5. **边界**:v1 不做什么? + +--- + +## 反例 4:用技术黑话追问非技术用户 + +### 场景 +用户:我想做一个让妈妈们给孩子讲故事的 skill + +### ❌ 假澄清 +> Claude:技术栈选 React 还是 Vue?后端用 Node.js 还是 Python?是否需要 GraphQL 接口?是否要支持 iOS/Android native?…… + +### ✅ 真澄清 +> Claude:先问 3 件事: +> 1. **目标使用场景**:(a)睡前 5 分钟讲完一个(b)周末深度讲故事 30 分钟? +> 2. **故事来源**:(a)你写(b)AI 生成(c)改编经典? +> 3. **目标体验**:(a)让妈妈轻松(不费力)(b)故事有趣(孩子爱听)(c)两者都要? + +--- + +## 反例 5:澄清完没路由 + +### 场景 +用户:我想做 AI 教学 skill(已澄清完需求规格) + +### ❌ 假澄清 +> Claude:好的,我已经问完 5 个问题,这是你的需求规格:[2000 字文档] +> (输出后沉默) + +### ✅ 真澄清 +> Claude:好的,根据你的回答,这是需求规格:[2000 字文档] +> +> **下一步**: +> - 任务堆不明确 → 加载 `change-mode` 排执行顺序 +> - 任务已明确(如"3 月内写完 5 篇公众号 + 录制 1 个视频")→ 路由到 `original-writing` / `video-transcribe` +> - 你想先审查我的需求规格本身 → 加载 `improve-mode` + +--- + +## 反例 6:用礼貌附和当"澄清成功" + +### 场景 +用户对每个问题都说"嗯""是""差不多" + +### ❌ 假澄清 +> Claude:你想做 AI 教学 skill 吗? +> 用户:嗯,是的 +> Claude:明白了,目标受众是职场新人? +> 用户:对 +> Claude:好的,时间是 1 个月内? +> 用户:差不多吧 +> (用户其实不清楚自己在同意什么) + +### ✅ 真澄清 +> 每次用户回答后,用**用户原话**复述: +> "让我确认一下,你说的是:'我想做一个帮 35-45 岁中年转型者的 AI 教学 skill,3 个月内做出 1 个案例级别作品,预算 1 万以内'。是这样吗?" +> +> 用户:纠正"不是产品级别,是案例级别" +> Claude:明白,我修改——"3 个月内做出 1 个案例级别作品"。 + +--- + +## 识别要点(速查表) + +| 反例 | 关键识别词 | +|---|---| +| 反例 1(脑补) | "我建议..."(在澄清阶段给方案) | +| 反例 2(跳过) | 只问 1 个问题就开始 | +| 反例 3(一次 10 个) | 问题数 > 5 | +| 反例 4(黑话) | 出现 "GraphQL / Kubernetes / 架构" 等 | +| 反例 5(无路由) | 输出需求规格后沉默 | +| 反例 6(附和) | 用户连续"嗯/是/对"且没具体内容 | diff --git a/skills/requirement-clarifier/examples/fake-improve.md b/skills/requirement-clarifier/examples/fake-improve.md new file mode 100644 index 00000000..1d5d3e5e --- /dev/null +++ b/skills/requirement-clarifier/examples/fake-improve.md @@ -0,0 +1,185 @@ +# 假改进(fake-improve)反例样本 + +> 来源:improve-mode/red-flags.md +> 目的:把 6 个典型反例用"完整对话形式"沉淀 + +## 反例 1:只说"建议加强"不给动作 + +### 场景 +用户:帮我看看这个 SKILL.md 写得对不对? + +### ❌ 假改进 +```text +【改进清单】 +1. 建议加强文档的可读性 +2. 可以考虑优化一下流程 +3. 未来可能需要改进测试 +(全是空话) +``` + +### ✅ 真改进 +```text +【改进清单】 +1. (P0) frontmatter 缺负触发说明 + → 在 description 段尾加"不要用于"清单 + → 成本:15 分钟 + → 验收:description 含"不要用于"段落 +2. (P0) 工作流第 3 节颗粒度太粗 + → 拆 3 个步骤为 6 个,每步给具体动作 + → 成本:30 分钟 +3. (P1) 缺 Gotchas 段落 + → 加 5 条反例(参见 fake-improve.md 第 2 节) +4. (P1) 缺 test-prompts.json + → 新建 test-prompts.json,6 个活体样本 + → 成本:1 小时 +5. (P2) README 缺失 + → 按 luban house-style 模板写 README.md + → 成本:1 小时 +``` + +--- + +## 反例 2:改进点超过 7 个 + +### 场景 +用户:帮我审查这个产品 + +### ❌ 假改进 +```text +【改进清单】(列了 12 个) +1. 补目标 +2. 补受众 +3. 补约束 +4. 补输入 +5. 补验收 +6. 补边界 +7. 补风险 +8. 补冗余 +9. 补触发 +10. 补兜底 +11. 补测试 +12. 补 README +(全在罗列,没排杠杆率) +``` + +### ✅ 真改进 +```text +【改进清单】按杠杆率排序,挑 5 个最重要的: +1. (P0) 补验收标准(杠杆率 ⭐⭐⭐⭐)→ "DAU 1k + 留存 30% + 付费转化 5%" +2. (P0) 加 dry-run 机制(杠杆率 ⭐⭐⭐⭐⭐)→ 上线前先内部测试 7 天 +3. (P1) 补强触发词(杠杆率 ⭐⭐⭐)→ 在 frontmatter 加 5 个 example +4. (P1) 拆 references 文件(杠杆率 ⭐⭐)→ 拆成 ≤ 100 行小文件 +5. (P2) 加 README(杠杆率 ⭐)→ 让团队理解产品 +``` + +--- + +## 反例 3:不标成本/风险 + +### 场景 +用户:系统慢,怎么优化? + +### ❌ 假改进 +> "应该用 Redis 替代 MySQL" +> "应该迁移到 Kubernetes" +> "应该重构成微服务" + +### ✅ 真改进 +```text +【改进清单】 +1. (P0) 将 MySQL 的会话表迁移到 Redis + - 预期:读写 QPS 1k → 10k + - 成本:3 天(迁移 + 双写期 1 周) + - 风险:会话丢失 → 需双写 1 周过渡 + - 验收:压测 10k QPS 无掉单 +2. (P1) 数据库连接池从 50 调到 200 + - 预期:高并发下响应时间 -30% + - 成本:10 分钟 + - 风险:DB CPU 上升 → 需观察 1 周 +3. (P2) 引入 CDN + - 预期:静态资源加载 -50% + - 成本:1 天 + - 风险:CDN 缓存失效策略需调整 +``` + +--- + +## 反例 4:改进点无关核心目标 + +### 场景 +用户核心目标:"3 个月内做出 1 个产品级别 AI 教学 skill" + +### ❌ 假改进 +```text +【改进清单】 +1. 把文件命名改成 kebab-case +2. 加 5 个 emoji 到 README +3. 把代码缩进从 2 空格改 4 空格 +4. 把颜色主题从蓝色改绿色 +5. 把图标换成新版 +(全是"完美主义"优化,核心目标"做产品"没解决) +``` + +### ✅ 真改进 +```text +【改进清单】对齐核心目标"3 个月内做产品" +1. (P0) 补产品验收标准(DAU 1k / 留存 30% / 付费转化 5%) +2. (P0) 加 7 天 MVP 试错机制(先做最小可用) +3. (P1) 加 1 个真实用户反馈渠道(小红书 / 知识星球) +4. (P1) 加 1 个数据看板看进度(Notion / 飞书) +5. (P2) 加 README 让团队理解产品 +``` + +--- + +## 反例 5:直接动手改(improve 模式越界) + +### 场景 +用户:帮我看看这个 SKILL.md 写得对不对? + +### ❌ 假改进 +> Claude:好的,我看了,给你改进清单: +> 1. 改 frontmatter +> 2. 改工作流第 3 节 +> 3. 删掉第 5 节冗余内容 +> 4. 改完保存到原文件 ← 错!improve 模式只审查不修改 + +### ✅ 真改进 +> Claude:好的,这是改进清单: +> 1. (P0) frontmatter 缺负触发说明 +> 2. (P0) 工作流第 3 节颗粒度太粗 +> 3. (P1) 第 5 节冗余可删 +> 4. (P1) 缺 Gotchas 段落 +> +> **你要我直接动手改,还是你自己改?** +> (让用户决策,不越界) + +--- + +## 反例 6:把"建议"伪装成"改进行动" + +### 场景 +用户:怎么改进这个产品? + +### ❌ 假改进 +> "建议作者增加更多测试" +> "可以考虑引入更多 example" +> "未来可能需要扩展更多功能" + +### ✅ 真改进 +> "加 6 个 test-prompts.json 活体测试样本(具体内容见 X 文件)" +> "在 examples/ 目录加 3 个 before/after 案例" +> "v0.7.0 版本计划加入 Y 功能(详见 release notes Z)" + +--- + +## 识别要点(速查表) + +| 反例 | 关键识别词 | +|---|---| +| 反例 1(空话) | "建议加强 / 可以考虑 / 未来可能" | +| 反例 2(超 7 个) | 改进清单 > 7 项 | +| 反例 3(无成本) | 没标"成本 / 风险 / 验收" | +| 反例 4(无目标) | 改进点与核心目标无关 | +| 反例 5(越界) | 直接保存到原文件 | +| 反例 6(伪装) | 用"建议"包装但不给具体动作 | diff --git a/skills/requirement-clarifier/examples/fake-triage.md b/skills/requirement-clarifier/examples/fake-triage.md new file mode 100644 index 00000000..8a7d5131 --- /dev/null +++ b/skills/requirement-clarifier/examples/fake-triage.md @@ -0,0 +1,151 @@ +# 假分诊(fake-triage)反例样本 + +> 来源:change-mode/red-flags.md +> 目的:把 5 个典型反例用"完整对话形式"沉淀 + +## 反例 1:只排顺序不给路由 + +### 场景 +用户:今天要做 5 件事:写公众号、写小红书、做 SKILL、回邮件、清理桌面 + +### ❌ 假分诊 +```text +【分诊计划】 +1. 写公众号 +2. 写小红书 +3. 做 SKILL +4. 回邮件 +5. 清理桌面 +(没说每个用什么 skill 做) +``` + +### ✅ 真分诊 +```text +【分诊计划】 +1. [P0] 做 SKILL 中最关键的 1 个(高不确定优先)→ `skill-creator` +2. [P1] 写公众号 → `original-writing` +3. [P1] 写小红书 → `ad-copywriting` + `advanced-xhs-visual-design` +4. [P2] 回邮件 → 直接干(无 skill) +5. [P3] 清理桌面 → 砍掉 +``` + +--- + +## 反例 2:路由指向自己 + +### 场景 +用户:帮我把公众号 + 小红书 + 视频都做了 + +### ❌ 假分诊 +```text +【分诊计划】 +1. 写公众号 → original-writing +2. 改大纲 → requirement-clarifier ← 错!路由回自己 +3. 写完再改 → requirement-clarifier ← 错!再回 +4. 写小红书 → ad-copywriting +5. 检查 → requirement-clarifier ← 错!无限循环 +``` + +### ✅ 真分诊 +```text +【分诊计划】 +1. 写公众号 → original-writing(让用户直接给反馈,不路由回 requirement-clarifier) +2. 写小红书 → ad-copywriting +3. 拍视频 → video-transcribe / original-writing +4. 全部发布 → wechat-mp-auto / xiaohongshu-auto +``` + +--- + +## 反例 3:忽略不确定性 + +### 场景 +用户:我要做 3 件事:写公众号、写小红书、拍视频 + +### ❌ 假分诊 +```text +【分诊计划】 +1. 写公众号(已有 SOP,低不确定) +2. 写小红书(首次做,高不确定) ← 错!低不确定任务在前 +3. 拍视频(已有 SOP,低不确定) +(高不确定任务被排后 → 后面踩坑时已经投入大量时间在低不确定任务上) +``` + +### ✅ 真分诊(按 fail fast 原则) +```text +【分诊计划】 +1. 写 1 篇小红书风格文章(首次做,高不确定)→ 用最小成本试错 +2. 根据反馈改 SOP +3. 写公众号(已有 SOP,低不确定)→ 标准化 +4. 拍视频(已有 SOP,低不确定)→ 批量化 +``` + +--- + +## 反例 4:P0 灌水 + +### 场景 +用户:今天要做 5 件事 + +### ❌ 假分诊 +```text +【分诊计划】 +1. [P0] 写公众号 +2. [P0] 写小红书 +3. [P0] 做 SKILL +4. [P0] 投资人 meeting +5. [P0] 清理桌面 ← 错!低影响 + 低紧急 +(5 个 P0 = 没有 P0) +``` + +### ✅ 真分诊 +```text +【分诊计划】 +1. [P0] 投资人 meeting(高影响 + 高紧急)→ 直接干 +2. [P0] 做 SKILL 中最关键的 1 个(高影响 + 高不确定)→ skill-creator +3. [P1] 写公众号(高影响 + 中紧急)→ original-writing +4. [P1] 写小红书(高影响 + 中紧急)→ ad-copywriting +5. [P3] 清理桌面(低影响 + 低紧急)→ 砍掉 / 周末做 +``` + +--- + +## 反例 5:跳过依赖关系 + +### 场景 +用户:要做 4 件事:写公众号、做封面、写小红书、录制视频 + +### ❌ 假分诊 +```text +【分诊计划】 +1. 写公众号 +2. 做封面 +3. 写小红书 +4. 录制视频 +(没说哪个依赖哪个 → 用户开干发现全部要重排) +``` + +### ✅ 真分诊 +```text +【分诊计划】 +1. 写公众号(P0,强依赖)→ original-writing +2. 写小红书(P0,独立)→ ad-copywriting + ↳ 可与 #1 并行 +3. 录制视频(P1,强依赖 #1)→ video-transcribe +4. 做公众号封面(P1,弱依赖 #1)→ advanced-xhs-visual-design + ↳ 可与 #3 并行 + +总时长:3 天(vs 串行 5 天) +``` + +--- + +## 识别要点(速查表) + +| 反例 | 关键识别词 | +|---|---| +| 反例 1(无路由) | 任务列表无 skill 名 | +| 反例 2(自路由) | 出现 "→ requirement-clarifier" | +| 反例 3(无不确定) | 没标"不确定"维度 | +| 反例 4(P0 灌水) | P0 数 > 2-3 | +| 反例 5(无依赖) | 没说"依赖" / "可并行" | diff --git a/skills/requirement-clarifier/growme-mode/SKILL.md b/skills/requirement-clarifier/growme-mode/SKILL.md new file mode 100644 index 00000000..84bf6c11 --- /dev/null +++ b/skills/requirement-clarifier/growme-mode/SKILL.md @@ -0,0 +1,142 @@ +--- +name: growme-mode +description: | + 需求澄清模式(growme)——把模糊想法、一句话需求或矛盾信息,变成可执行的结构化规格。 + 触发词:帮我想想、这个怎么做、我有个想法、需求不明确、帮我理清。 + 路由自:requirement-clarifier(当用户表达了结果但路径不清晰时)。 + 不要用于:信息已清楚可执行(直接开干)、纯任务排序(用 change-mode)、审查已有方案(用 improve-mode)。 +--- + +# growme 模式 · 需求澄清 + +> **一句话钩子**:**问 5 个问题,省 3 小时返工。** + +把模糊想法、一句话需求或矛盾信息,变成可执行的结构化规格。本模式**只澄清不执行**——输出"需求规格"后路由到 change-mode(排序)或具体执行 skill。 + +--- + +## 核心定位 + +7 大追问维度(不一定要全问,挑缺的问,**一次最多 5 个**): + +| 维度 | 关键问题 | 必问? | +|---|---|---| +| **目标** | 成功长什么样?3 个月后回头看怎么算"做对了"? | ✅ 必问 | +| **受众** | 谁用?什么场景?痛点是什么? | ✅ 必问 | +| **约束** | 时间 / 预算 / 平台 / 技术栈 / 资源? | ✅ 必问 | +| **输入** | 手上有啥材料?需要额外输入吗? | 按需 | +| **验收** | 怎么算"做完了"?验收标准 + 验收人? | 强烈建议 | +| **边界** | 明确**不**做啥?v1 不做的功能? | 强烈建议 | +| **风险** | 最怕什么错?哪些不可逆?有兜底吗? | 按需 | + +**判定原则**: +- 一次澄清最多 5 个最关键问题 +- **必须**用 AskUserQuestion 工具(一次最多 4 个 A/B/C/D 选项问题)——文本里列 A/B/C/D 属于偷懒,工具是套件的核心差异 +- 开放问题直接文本追问(一次 1-2 个) +- 第一轮(必问 3 个):目标 + 受众 + 约束中的时间;第二轮(按需 1-2 个):输入材料 + 验收;第三轮(按需 1-2 个):边界 + 风险——不要一次性问完 +- 维度展开见 `references/seven-dimensions.md` + +--- + +## 工作流 + +### 步骤 1:提取用户已说的关键信息 + +四个必抓:**目标 / 受众 / 约束 / 输入材料**。用用户原话复述,防止你脑补。 + +### 步骤 2:列出信息缺口(≤ 5 个) + +按"对后续影响最大"排序。问的时候**先问最关键的**,不要按维度顺序问。 + +### 步骤 3:写明假设和边界条件 + +- 哪些"如果 X 成立"才能继续? +- 哪些前提用户没说但你必须假设? + +### 步骤 4:输出结构化的需求规格 + +用下面模板(详见 `references/ask-question-toolkit.md`)。 + +--- + +## 输出"需求规格"模板 + +```text +【需求规格】 + +🎯 目标: +- [用一句话说清楚最终要达成什么] + +👥 受众: +- [典型用户 1:场景 + 痛点] +- [典型用户 2:场景 + 痛点] + +⛓ 约束: +- 时间:[deadline] +- 预算:[金额 / 变现预期] +- 平台/技术栈:[硬约束] +- 资源:[人手 / 已有材料] + +📥 输入材料: +- [材料 1] +- [材料 2] + +✅ 验收标准: +- [可量化指标 1] +- [可量化指标 2] +- [验收人] + +🚫 边界(v1 不做): +- [功能 X] +- [功能 Y] + +⚠️ 风险与兜底: +- [风险 1] → [兜底方案] +- [风险 2] → [兜底方案] + +📌 关键假设: +- [假设 1:如果 X 成立,那么 Y] +- [假设 2] + +【下一步路由】 +- 任务堆不明确 → 加载 change-mode 排执行顺序 +- 任务已明确 → 路由到 [具体执行 skill,如 original-writing / skill-creator] +- 用户没确认 → 进一步追问 +``` + +--- + +## Gotchas + +### ❌ 假澄清(详见 `examples/fake-clarification.md`) + +1. **把脑补当澄清**:用户说"我想做 AI 教学 skill" → 你立刻说"建议小红书图文+视频+训练营"——跳过澄清直接给方案 +2. **跳过信息缺口**:用户说"帮我写个公众号文章" → 你只问"主题是什么",没问受众/场景/验收 +3. **一次问 10 个**:信息缺口超过 5 个 = 用户已读懵 +4. **用技术黑话追问非技术用户**:让"妈妈辈"回答"技术栈选型" = 灾难 +5. **追问时没给推荐答案**:用户不知怎么选就容易"礼貌附和",附"我的猜测"让他有支点 +6. **澄清完没路由**:输出需求规格后不说"下一步用 XX skill" = 用户拿到文档不知道干嘛 + +### ✅ 完成度判断 + +输出前问: +> "用户拿这份需求规格能直接开干吗?" + +- 能 → 完成 +- 不能 → 哪一步还缺?回去补 +- 拿不准 → 标注"需用户确认 XX 后再开干" + +--- + +## 何时读取 references + +- **7 大追问维度详解**(每个维度的陷阱 + 提问技巧)→ `references/seven-dimensions.md` +- **AskUserQuestion 工具使用技巧**(适合哪类问题、二选一 vs 开放问题)→ `references/ask-question-toolkit.md` +- **常见假澄清反例**(5 个典型反模式 + 修正)→ `references/red-flags.md` + +--- + +## 字数 + +- SKILL.md 本体:≤ 200 行(当前 ~120 行,达标) +- references/ 拆 3 个文件,按需加载 diff --git a/skills/requirement-clarifier/growme-mode/references/ask-question-toolkit.md b/skills/requirement-clarifier/growme-mode/references/ask-question-toolkit.md new file mode 100644 index 00000000..6d1ac8f3 --- /dev/null +++ b/skills/requirement-clarifier/growme-mode/references/ask-question-toolkit.md @@ -0,0 +1,87 @@ +# AskUserQuestion 使用技巧 + +> 适用:growme-mode(需求澄清) +> 目的:高效提问,避免一次问 10 个问题 + +## 何时用工具 vs 何时文本追问 + +### 用 AskUserQuestion 工具(推荐) + +适合**二选一/三选一**的明确选择: +- "目标受众:职场新人 / 在校学生 / 中年管理者?" +- "交付形式:图文 / 视频 / 直播?" +- "时间:1 周 / 1 月 / 3 月?" + +### 直接在文本里追问(适合开放问题) + +适合需要详细描述的: +- "请用 1-2 句话描述最终用户用这个产品时的具体场景" +- "你最怕这个项目在哪里出问题?" + +### 一次最多问几个? + +- **二选一/三选一**:一次可以问 3-4 个 +- **开放问题**:一次最多 1-2 个 +- **超过 5 个** = 用户会烦,要分批 + +--- + +## 提问的几个反模式 + +### ❌ 反模式 1:抽象问题 +> "你想要什么样的产品?" +> 用户:emmm... 好的那种? + +✅ 修正:给具体选项 +> "产品定位:a) 个人提效工具 b) 团队协作平台 c) 教学课程 d) 其他?" + +### ❌ 反模式 2:双关问题 +> "你希望它好用吗?" +> 用户:是(废话,谁说不要) + +✅ 修正:分维度 +> "使用门槛:a) 零门槛(用户无基础)b) 中等门槛(用户需 1-2 天学习)c) 高门槛(用户需专业培训)?" + +### ❌ 反模式 3:技术黑话 +> 让"妈妈辈"用户回答"是否需要 GraphQL 接口" + +✅ 修正:翻译成日常 +> "你希望数据同步:a) 实时同步 b) 每天同步一次 c) 手动触发?" + +### ❌ 反模式 4:不给推荐答案 +> "你想要什么风格?" +> 用户:不知道(因为他不知道有哪些选项) + +✅ 修正:附推荐答案 +> "你想要的语气:a) 专业严肃(推荐 B 端)b) 轻松活泼(推荐 C 端)c) 学术严谨(推荐研究者)?" + +--- + +## 提问顺序 + +### 推荐顺序:先必问 → 再按需 + +1. **第一轮(必问 3 个)**:目标 + 受众 + 约束中的时间 +2. **第二轮(按需 1-2 个)**:输入材料 + 验收标准 +3. **第三轮(按需 1-2 个)**:边界 + 风险 + +每轮问完,根据用户回答判断是否还需要继续问。 + +### 不要按"维度顺序"问 + +❌ 反例:先问目标→受众→约束→输入→验收→边界→风险(线性问完) +✅ 正例:先问最关键的目标/受众,时间永远在第一轮,其他按用户回答动态决定 + +--- + +## "用用户原话复述"作为终止条件 + +> 借鉴 addyosmani/interview-me 的核心技巧 + +当用户回答完一轮后,用**用户原话**复述一遍需求: + +> "让我确认一下,你说的是:'我想做一个帮 AI 教学的个人 skill,受众是 35-45 岁的中年转型者,他们已经被 AI 替代风险吓到,希望 3 个月内做出 1 个产品级别的 skill 案例。' 是这样吗?" + +- 用户**确认** → 进入下一阶段 +- 用户**纠正** → 继续澄清 +- 用户**补充** → 继续追问 diff --git a/skills/requirement-clarifier/growme-mode/references/red-flags.md b/skills/requirement-clarifier/growme-mode/references/red-flags.md new file mode 100644 index 00000000..c08afd61 --- /dev/null +++ b/skills/requirement-clarifier/growme-mode/references/red-flags.md @@ -0,0 +1,121 @@ +# growme 假澄清反例 + +> 适用:growme-mode +> 目的:识别 5 类典型反模式,避免落入"假澄清"陷阱 + +## 反例 1:把脑补当澄清 + +### ❌ 错误示范 +> 用户:我想做一个 AI 教学的 skill +> Claude:好的,我建议做成小红书图文 + 视频 + 知识星球 + 训练营,覆盖入门到高阶…… + +### ✅ 正确示范 +> 用户:我想做一个 AI 教学的 skill +> Claude:在动手前先问 3 个问题: +> 1. 你的目标受众是?(职场新人 / 在校学生 / 中年转型者?) +> 2. 预期 3 个月达成的关键指标是?(粉丝数 / 课程销量 / 个人品牌?) +> 3. 你能投入的预算是?(零成本 / 可投流 / 不设上限?) + +**为什么错**:用户没说受众/指标/预算,直接给方案 = 90% 概率返工。 + +--- + +## 反例 2:跳过信息缺口 + +### ❌ 错误示范 +> 用户:帮我写个公众号文章 +> Claude:好的,主题是什么? + +### ✅ 正确示范 +> 用户:帮我写个公众号文章 +> Claude:写之前先确认几件事: +> 1. **目标读者**:职场新人 / 资深从业者 / 跨行业转型者? +> 2. **阅读场景**:深度阅读(1500+ 字长文)/ 通勤速读(500 字内)? +> 3. **希望读完留下什么印象**:(1 个具体描述) +> 4. **长度**:500 字 / 1500 字 / 3000 字? +> 5. **你提供的素材**:草稿 / 大纲 / 仅话题? + +**为什么错**:只问"主题"=用户也只能答主题,其他全靠你脑补。 + +--- + +## 反例 3:一次问 10 个 + +### ❌ 错误示范 +> "受众?预算?时间?平台?长度?风格?配图?发布频率?……"(用户已读懵) + +### ✅ 正确示范 +> 第一轮(3 个最关键):目标 + 受众 + 时间 +> 第二轮(按需 1-2 个):输入材料 + 验收 +> 第三轮(按需 1-2 个):边界 + 风险 + +**为什么错**:多于 5 个 = 你没在抓重点 = 用户答非所问或放弃。 + +--- + +## 反例 4:用技术黑话追问非技术用户 + +### ❌ 错误示范 +> 用户:我想做一个让妈妈们给孩子讲故事的 skill +> Claude:技术栈选 React 还是 Vue?后端用 Node.js 还是 Python?是否需要 GraphQL 接口? + +### ✅ 正确示范 +> 用户:我想做一个让妈妈们给孩子讲故事的 skill +> Claude:先问 3 件事: +> 1. **目标使用场景**:睡前 5 分钟讲完一个 / 周末深度讲故事 30 分钟? +> 2. **故事来源**:你写 / AI 生成 / 改编经典? +> 3. **目标体验**:让妈妈轻松(不费力)/ 故事有趣(孩子爱听)/ 两者都要? + +**为什么错**:让非技术用户答"GraphQL" = 灾难式不专业。 + +--- + +## 反例 5:澄清完没路由 + +### ❌ 错误示范 +> 用户:我想做 AI 教学 skill +> Claude:好的,我已经问完 5 个问题,这是你的需求规格:[2000 字文档] +> (输出后沉默) + +### ✅ 正确示范 +> Claude:好的,根据你的回答,这是需求规格:[2000 字文档] +> **下一步**: +> - 任务堆不明确 → 加载 `change-mode` 排执行顺序 +> - 任务已明确(如"3 月内写完 5 篇公众号 + 录制 1 个视频")→ 路由到 `original-writing` +> - 你想先审查我的需求规格本身 → 加载 `improve-mode` + +**为什么错**:用户拿到需求规格,不知道下一步该用哪个 skill,文档就是死档。 + +--- + +## 反例 6:用礼貌附和当"澄清成功" + +### ❌ 错误示范 +> Claude:你想做 AI 教学 skill 吗? +> 用户:嗯,是的 +> Claude:明白了,目标受众是职场新人? +> 用户:对 +> Claude:好的,时间是 1 个月内? +> 用户:差不多吧 +> (用户其实不清楚自己在同意什么) + +### ✅ 正确示范 +> 每次用户回答后,用**用户原话**复述: +> "让我确认一下,你说的是:'我想做一个帮 35-45 岁中年转型者的 AI 教学 skill,3 个月内做出 1 个产品级别案例,预算 1 万以内'。是这样吗?" +> 用户:纠正"不是产品级别,是案例级别" +> Claude:明白,我修改——"3 个月内做出 1 个案例级别作品"。 + +**为什么错**:礼貌附和 = 用户其实没在思考 = 你以为澄清成功其实脑补了。 + +--- + +## 自我检测清单 + +输出"需求规格"前自问: +- [ ] 我问了不超过 5 个问题吗? +- [ ] 至少包含了目标 + 受众 + 时间吗? +- [ ] 没用技术黑话追问非技术用户? +- [ ] 每个问题附了推荐答案? +- [ ] 用用户原话复述过需求吗? +- [ ] 输出末尾给了"下一步路由"吗? +- [ ] 拿不准的地方标了"需用户确认 XX"吗? diff --git a/skills/requirement-clarifier/growme-mode/references/seven-dimensions.md b/skills/requirement-clarifier/growme-mode/references/seven-dimensions.md new file mode 100644 index 00000000..2ecb6f1b --- /dev/null +++ b/skills/requirement-clarifier/growme-mode/references/seven-dimensions.md @@ -0,0 +1,76 @@ +# growme 七大追问维度 + +> 适用:growme-mode(需求澄清) +> 原则:一次不超过 5 个最关键问题,挑缺的问 + +## 七大维度(按重要性排序) + +### 1. 目标(必问) +**问题**: +- 你做这个**最终想达成什么**? +- 成功长什么样?失败长什么样? +- 3 个月后回头看,怎么算"做对了"? + +**陷阱**: +- ❌ 把"手段"当"目标"("我想做一个 H5" → 这不是目标) +- ✅ 追问目标背后("为什么做 H5?给谁看?达到什么效果?") + +### 2. 受众(必问) +**问题**: +- **谁用**?最终用户是谁? +- 在什么**场景**下用?(通勤路上 / 工作中 / 学习时) +- 他们的**痛点**是什么?为什么现在用的方案不够好? + +**陷阱**: +- ❌ 受众太宽("所有人") +- ✅ 找 1-2 个最关键的典型用户画像 + +### 3. 约束(必问) +**问题**: +- **时间**:deadline 是什么时候?能否灵活? +- **预算**:花多少钱?能否变现? +- **平台/技术栈**:有没有必须用 / 不能用的? +- **资源**:人手?已有材料? + +**陷阱**: +- ❌ 假装没有约束(任何项目都有约束) +- ✅ 列出"硬约束"和"软约束" + +### 4. 输入(按需问) +**问题**: +- 你手上有**什么材料**?(草稿、数据、参考案例) +- 是否需要**额外输入**?(调研、采访、爬数据) + +**陷阱**: +- ❌ 假设用户有材料(其实没有) +- ✅ 问"你手上有 X 吗?"而不是"请提供 X" + +### 5. 验收(强烈建议问) +**问题**: +- 怎么算"**做完了**"? +- 有什么**可量化的指标**?(点击率、转化率、用户数) +- 谁能**验收**?验收标准是什么? + +**陷阱**: +- ❌ 没有验收标准 = 项目永远"做不完" +- ✅ 把验收标准写成 checklist + +### 6. 边界(强烈建议问) +**问题**: +- 什么是**明确不做**的? +- 哪些是 v1 不做、v2 再做的? +- 哪些是"如果有时间就做"? + +**陷阱**: +- ❌ 边界 = 砍需求会让用户不高兴 +- ✅ 边界 = 保住 MVP 范围的关键 + +### 7. 风险(按需问) +**问题**: +- 最怕**出什么错**? +- 哪些是不可逆的?(删除、对外发布、花钱) +- 有没有**兜底方案**? + +**陷阱**: +- ❌ 假设"不会出错" +- ✅ 列出"最坏情况"和"怎么兜" diff --git a/skills/requirement-clarifier/improve-mode/SKILL.md b/skills/requirement-clarifier/improve-mode/SKILL.md new file mode 100644 index 00000000..952aeab6 --- /dev/null +++ b/skills/requirement-clarifier/improve-mode/SKILL.md @@ -0,0 +1,177 @@ +--- +name: improve-mode +description: | + 结构优化模式(improve)——对已有方案、已完成的交付物或现有流程进行分析,提出改进建议。 + 触发词:怎么优化、还有什么问题、帮我看看这个方案、审查一下。 + 路由自:requirement-clarifier(当用户已有方案但不确认是否最优时)。 + 不要用于:模糊需求(用 growme-mode)、任务排序(用 change-mode)、纯写新内容(路由到 original-writing)。 +--- + +# improve 模式 · 结构优化 + +> **一句话钩子**:**"建议加强"不是改进——"把 X 文件第 3 节的 Y 删掉换成 Z"才是改进。** + +对已有方案、已完成的交付物或现有流程进行分析,提出**按杠杆率排序**的改进清单。本模式**只审查不修改**——输出改进清单后让用户决定是否采纳。 + +--- + +## 核心定位 + +7 类常见改进点(**按杠杆率排序,最多 7 个**): + +| 杠杆率 | 改进点 | 原因 | +|---|---|---| +| ⭐⭐⭐⭐⭐ | 7. 风险点无兜底 | 一次事故 = 整个项目崩 | +| ⭐⭐⭐⭐ | 1. 信息缺口 | 不补 = 后面所有改动都白做 | +| ⭐⭐⭐⭐ | 4. 输出不可验证 | 不能验证 = 不知道改没改对 | +| ⭐⭐⭐ | 5. 错误处理缺失 | 出错 = 用户流失 | +| ⭐⭐⭐ | 3. 触发条件模糊 | 不知道什么时候用 = 永远用不上 | +| ⭐⭐ | 2. 流程冗余 | 浪费精力但不致命 | +| ⭐⭐ | 6. 维护成本高 | 长期问题,可延后 | + +详见 `references/seven-leverage-points.md`。 + +--- + +## 工作流 + +### 步骤 1:识别当前方案中的问题 + +按 7 类清单逐项扫描: +- **瓶颈**:哪里卡住? +- **冗余**:哪里重复 / 可合并? +- **不一致**:哪里互相矛盾? +- **缺失**:哪里应该有但没有? + +### 步骤 2:按杠杆率排序改进点 + +**改进清单 ≤ 7 个**,按影响最大的先说。 + +### 步骤 3:给出具体改进动作 + +**每条动作必须满足 SMART**(详见 `references/smart-criteria.md`): +- **S**pecific:不说"加强文档",说"在 SKILL.md 第 3 节加触发场景" +- **M**easurable:不说"优化一下",说"字数从 500 减到 300" +- **A**chievable:不说"完美化",说"完成 80% 覆盖率" +- **R**elevant:每个动作必须对应一个具体问题 +- **T**ime-bound:说"今天做"或"本周内做" + +### 步骤 4:标注成本与风险 + +每个改进动作要标: +- **实施成本**:X 天 / Y 小时 +- **预期收益**:高 / 中 / 低 +- **风险**:可能引入什么问题 + +--- + +## 输出"改进清单"模板 + +```text +【改进清单】按杠杆率排序 + +🔴 P0(必须改): +1. [问题] → [具体动作] → [成本] → [风险] +2. ... + +🟡 P1(应该改): +1. [问题] → [具体动作] → [成本] → [风险] +2. ... + +🟢 P2(建议改): +1. [问题] → [具体动作] → [成本] → [风险] +2. ... + +❌ 暂不改(成本高于收益): +- [问题 X]:改造成本 Y > 收益 Z + +【成本/收益对比】 +| 改进点 | 实施成本 | 预期收益 | 优先级 | +|--------|----------|----------|--------| +| 1 | X 天 | 高 | P0 | +| 2 | Y 小时 | 中 | P1 | +| ... | +``` + +--- + +## 7 类改进点速查 + +### 1. 信息缺口(最高频) +- 没说清目标 +- 没定义受众 +- 没标注边界 +- 没说验收标准 +- **改**:补目标 / 补受众 / 补边界 / 补验收 + +### 2. 流程冗余 +- 重复步骤(同一件事做了 2-3 次) +- 不必要的中间环节 +- 可合并的小步骤散落各处 +- **改**:合并同类 / 删装饰 / 重排顺序 + +### 3. 触发条件模糊 +- 不知道什么时候该用 +- 不知道什么时候**不该**用 +- 触发词列表不全或有歧义 +- **改**:补强触发词 / 补"不触发"边界 / 加 example + +### 4. 输出不可验证 +- 没说"做完了长什么样" +- 没有验收标准 +- 没有 before/after 对比 +- **改**:加验收标准 / 加输出模板 / 加 before/after + +### 5. 错误处理缺失 +- 出错时不知道怎么办 +- 没有 fallback 方案 +- 没有"重试 / 跳过 / 终止"决策点 +- **改**:写明兜底 / 加决策点 / 加 Gotchas 黑名单 + +### 6. 维护成本高 +- 依赖外部资源(API、平台、账号) +- 依赖容易过时的信息 +- 结构混乱,找不到东西 +- **改**:减外部依赖 / 拆 references/ / 用相对路径 + +### 7. 风险点无兜底(最关键) +- 不可逆动作(删除、对外发布、花钱) +- 没有"先确认再执行"机制 +- 没有 dry-run / preview +- **改**:加"执行前确认" / 加 dry-run / 加"先小范围测试" + +--- + +## Gotchas + +### ❌ 假改进(详见 `examples/fake-improve.md`) + +1. **只说"建议加强"不给动作**:"建议加强文档的可读性"——用户不知道做什么 +2. **改进点超过 7 个**:8 个、10 个、20 个改进点 = 你没在排序,在罗列 +3. **不标成本/风险**:"应该用 Redis 替代 MySQL"——没说迁移成本、数据风险 +4. **改进点无关核心目标**:挑了 7 个"完美主义"改进,但核心目标没解决 +5. **直接动手改**:improve 模式只审查不修改——不要顺手把方案改了 + +### ✅ 完成度判断 + +输出前问: +> "用户拿这份改进清单能直接开干吗?" + +- 能 → 完成 +- 不能 → 哪一步还缺?回去补 +- 拿不准 → 标注"需用户确认 XX 后再开干" + +--- + +## 何时读取 references + +- **7 类改进点详解**(每个改进点的检测动作 + 改进行动)→ `references/seven-leverage-points.md` +- **SMART 原则 + 反例对照** → `references/smart-criteria.md` +- **常见假改进反例**(5 个典型反模式 + 修正)→ `references/red-flags.md` + +--- + +## 字数 + +- SKILL.md 本体:≤ 250 行(当前 ~180 行,达标) +- references/ 拆 3 个文件,按需加载 diff --git a/skills/requirement-clarifier/improve-mode/references/red-flags.md b/skills/requirement-clarifier/improve-mode/references/red-flags.md new file mode 100644 index 00000000..f93d4309 --- /dev/null +++ b/skills/requirement-clarifier/improve-mode/references/red-flags.md @@ -0,0 +1,132 @@ +# improve 假改进反例 + +> 适用:improve-mode +> 目的:识别 5 类典型反模式 + +## 反例 1:只说"建议加强"不给动作 + +### ❌ 错误示范 +> "建议加强文档的可读性" +> "可以考虑优化一下流程" +> "未来可能需要改进" + +### ✅ 正确示范 +> "在 SKILL.md 第 3 节补充 5 个不触发场景" +> "把 references/ai-flavor-blacklist.md 拆成 3 个文件,每个 ≤ 100 行" +> "下一版(v0.7.0)引入评分回测报告机制" + +**为什么错**:用户拿"建议加强"不知道做什么 = 改进清单 = 死档。 + +--- + +## 反例 2:改进点超过 7 个 + +### ❌ 错误示范 +> 列了 12 个改进点:"补目标、补受众、补约束、补输入、补验收、补边界、补风险、补冗余、补触发、补兜底、补测试、补 README……" + +### ✅ 正确示范 +> 按杠杆率排序,挑 5-7 个最重要的: +> 1. (P0) 补验收标准 +> 2. (P0) 加 dry-run 机制 +> 3. (P1) 补强触发词 +> 4. (P1) 拆 references 文件 +> 5. (P2) 加 README + +**为什么错**:多于 7 个 = 你没在排序,在罗列 = 用户做完前面就放弃后面。 + +--- + +## 反例 3:不标成本/风险 + +### ❌ 错误示范 +> "应该用 Redis 替代 MySQL" +> "应该迁移到 Kubernetes" +> "应该重构成微服务" + +### ✅ 正确示范 +> "将 MySQL 的会话表迁移到 Redis:读写 QPS 1k→10k,迁移成本 3 天,风险是会话丢失需双写 1 周" + +**为什么错**:不说成本/风险 = 用户无法决策 = 改进永远停留在"应该"。 + +--- + +## 反例 4:改进点无关核心目标 + +### ❌ 错误示范 + +用户的核心目标:"3 个月内做出 1 个产品级别 AI 教学 skill" +你的改进清单: +1. 把文件命名改成 kebab-case +2. 加 5 个 emoji 到 README +3. 把代码缩进从 2 空格改 4 空格 +4. 把颜色主题从蓝色改绿色 +5. 把图标换成新版 +(全是"完美主义"优化,核心目标"做产品"没解决) + +### ✅ 正确示范 + +用户的核心目标同上: +1. (P0) 补产品验收标准(DAU / 留存 / 付费转化) +2. (P0) 加 7 天 MVP 试错机制(先做最小可用) +3. (P1) 加 1 个真实用户反馈渠道 +4. (P1) 加 1 个数据看板看进度 +5. (P2) 加 README 让团队理解产品 + +**为什么错**:无关核心目标 = 改进清单做完了用户目标没进展 = 完美主义陷阱。 + +--- + +## 反例 5:直接动手改(improve 模式越界) + +### ❌ 错误示范 + +用户:帮我看看这个 SKILL.md 写得对不对? +Claude:好的,我看了,给你改进清单: +1. 改 frontmatter +2. 改工作流第 3 节 +3. 删掉第 5 节冗余内容 +4. 改完保存到原文件 ← 错!improve 模式只审查不修改 + +### ✅ 正确示范 + +用户:帮我看看这个 SKILL.md 写得对不对? +Claude:好的,这是改进清单: +1. (P0) frontmatter 缺负触发说明 +2. (P0) 工作流第 3 节颗粒度太粗 +3. (P1) 第 5 节冗余可删 +4. (P1) 缺 Gotchas 段落 +**你要我直接动手改,还是你自己改?** + +**为什么错**:improve 模式越界 = 失去"分诊台"身份 = 用户不知道你动了哪里。 + +--- + +## 反例 6:把"建议"伪装成"改进行动" + +### ❌ 错误示范 +> "建议作者增加更多测试" +> "可以考虑引入更多 example" +> "未来可能需要扩展更多功能" + +(用了"建议/考虑/可能" = 不可执行 = 空话) + +### ✅ 正确示范 +> "加 6 个 test-prompts.json 活体测试样本(具体内容见 X)" +> "在 examples/ 目录加 3 个 before/after 案例" +> "v0.7.0 版本计划加入 Y 功能(详见 release notes)" + +**为什么错**:用了"建议/考虑/可能" = 你自己都不确定要不要做 = 用户自然不当回事。 + +--- + +## 自我检测清单 + +输出"改进清单"前自问: +- [ ] 改进点 ≤ 7 个? +- [ ] 每条都是 SMART(具体/可衡量/可达成/相关/有时限)? +- [ ] 没出现"建议/考虑/可能/未来"等空话? +- [ ] 标了成本和风险? +- [ ] 按杠杆率排序? +- [ ] 改进点都对应核心目标? +- [ ] 没越界直接动手改? +- [ ] 给了用户决策点("你要我直接改还是自己改?")? diff --git a/skills/requirement-clarifier/improve-mode/references/seven-leverage-points.md b/skills/requirement-clarifier/improve-mode/references/seven-leverage-points.md new file mode 100644 index 00000000..0bf36ebd --- /dev/null +++ b/skills/requirement-clarifier/improve-mode/references/seven-leverage-points.md @@ -0,0 +1,149 @@ +# improve 7 类改进点详解 + +> 适用:improve-mode(结构优化) +> 目的:识别 7 类典型改进点 + 检测动作 + 改进行动 + +## 7 类改进点(按杠杆率排序) + +### 杠杆率 ⭐⭐⭐⭐⭐:7. 风险点无兜底 + +**症状**: +- 不可逆动作(删除、对外发布、花钱、删库) +- 没有"先确认再执行"机制 +- 没有 dry-run / preview + +**检测动作**: +- 标红所有"对外"或"不可逆"动作 +- 问"如果做错了,能撤回吗?" + +**改进行动**: +- 加"执行前确认"机制 +- 加 dry-run / preview 步骤 +- 加"先小范围测试,再扩大"流程 + +--- + +### 杠杆率 ⭐⭐⭐⭐:1. 信息缺口(最高频) + +**症状**: +- 没说清目标 +- 没定义受众 +- 没标注边界(什么不做) +- 没说验收标准 + +**检测动作**: +- 对照"growme 七大追问维度"逐项检查 +- 标红每个"用户/读者会卡住"的地方 + +**改进行动**: +- 补目标(一句话) +- 补受众(1-2 个典型用户) +- 补边界(v1 不做什么) +- 补验收(可量化的成功标准) + +--- + +### 杠杆率 ⭐⭐⭐⭐:4. 输出不可验证 + +**症状**: +- 没说"做完了长什么样" +- 没有验收标准 +- 没有 before/after 对比 + +**检测动作**: +- 问"用户拿这份输出能直接开干吗?" +- 问"用户怎么判断我做得好不好?" + +**改进行动**: +- 加验收标准(可量化) +- 加输出模板(标准化) +- 加 before/after 示例(让用户对得上号) + +--- + +### 杠杆率 ⭐⭐⭐:5. 错误处理缺失 + +**症状**: +- 出错时不知道怎么办 +- 没有 fallback 方案 +- 没有"重试 / 跳过 / 终止"决策点 + +**检测动作**: +- 列出 3-5 个常见出错场景 +- 问"出错后用户该看到什么?" + +**改进行动**: +- 写明常见错误的兜底方案 +- 加"如果 XX 失败就 YY"决策点 +- 加 Gotchas / 反例黑名单 + +--- + +### 杠杆率 ⭐⭐⭐:3. 触发条件模糊 + +**症状**: +- 不知道什么时候该用 +- 不知道什么时候**不该**用 +- 触发词列表不全或有歧义 + +**检测动作**: +- 列出 5 个真实使用场景,看是否能命中触发条件 +- 列出 5 个"看起来像但不该用"的场景,看是否能排除 + +**改进行动**: +- 补强触发词清单 +- 补"不触发"边界(明确不适用场景) +- 写 2-3 个典型 example(让用户对得上号) + +--- + +### 杠杆率 ⭐⭐:2. 流程冗余 + +**症状**: +- 重复步骤(同一件事做了 2-3 次) +- 不必要的中间环节 +- 可合并的小步骤散落各处 + +**检测动作**: +- 把流程画成流程图 +- 问"这一步删掉会怎样?" +- 问"这两步能否合并?" + +**改进行动**: +- 合并同类步骤 +- 删除"为做而做"的环节 +- 重排顺序(让下游环节能复用上游产出) + +--- + +### 杠杆率 ⭐⭐:6. 维护成本高 + +**症状**: +- 依赖外部资源(API、平台、账号) +- 依赖容易过时的信息 +- 结构混乱,找不到东西 + +**检测动作**: +- 问"半年后还会有人维护吗?" +- 问"如果 XX 平台挂了,整个方案还跑得动吗?" + +**改进行动**: +- 减少外部依赖 +- 把易变信息单独放 references/(主文件保持稳定) +- 用相对路径 + 命名规范(让文件好找) + +--- + +## 杠杆率排序的总原则 + +| 杠杆率 | 改进点 | 原因 | +|---|---|---| +| ⭐⭐⭐⭐⭐ | 7. 风险点无兜底 | 一次事故 = 整个项目崩 | +| ⭐⭐⭐⭐ | 1. 信息缺口 | 不补 = 后面所有改动都白做 | +| ⭐⭐⭐⭐ | 4. 输出不可验证 | 不能验证 = 不知道改没改对 | +| ⭐⭐⭐ | 5. 错误处理缺失 | 出错 = 用户流失 | +| ⭐⭐⭐ | 3. 触发条件模糊 | 不知道什么时候用 = 永远用不上 | +| ⭐⭐ | 2. 流程冗余 | 浪费精力但不致命 | +| ⭐⭐ | 6. 维护成本高 | 长期问题,可延后 | + +**改进清单 ≤ 7 个**,按杠杆率从高到低排。出现第 8 个时砍掉杠杆率最低的。 diff --git a/skills/requirement-clarifier/improve-mode/references/smart-criteria.md b/skills/requirement-clarifier/improve-mode/references/smart-criteria.md new file mode 100644 index 00000000..7f9a6006 --- /dev/null +++ b/skills/requirement-clarifier/improve-mode/references/smart-criteria.md @@ -0,0 +1,94 @@ +# improve SMART 原则 + +> 适用:improve-mode(结构优化) +> 目的:让改进动作可执行、不流于空话 + +## SMART 五维 + +### S - Specific(具体) +- ❌ "加强文档" +- ✅ "在 SKILL.md 第 3 节补充 5 个不触发场景" + +### M - Measurable(可衡量) +- ❌ "优化一下" +- ✅ "字数从 500 减到 300" + +### A - Achievable(可达成) +- ❌ "完美化" +- ✅ "完成 80% 覆盖率" + +### R - Relevant(相关) +- ❌ 改进点与原问题无关 +- ✅ 每个动作必须对应一个具体问题 + +### T - Time-bound(有时限) +- ❌ "以后做" +- ✅ "今天做" / "本周内做" / "3 天内完成" + +--- + +## 5 个反例 + 正例对照 + +### 反例 1:泛泛建议 +❌ "建议加强文档的可读性" +✅ "在 SKILL.md 第 3 节补 5 个不触发场景,每场景 1 行说明 + 1 个 example" + +### 反例 2:模糊优化 +❌ "可以考虑优化一下流程" +✅ "把 references/ai-flavor-blacklist.md 拆成 3 个文件,每个 ≤ 100 行" + +### 反例 3:完美主义 +❌ "应该做到 100% 完美" +✅ "本周内把 8 个精修 skill 全部加上 test-prompts.json" + +### 反例 4:空话 +❌ "未来可能需要改进" +✅ "下一版(v0.7.0)引入评分回测报告机制" + +### 反例 5:技术堆砌 +❌ "建议引入 Redis 提升性能" +✅ "将 MySQL 的会话表迁移到 Redis,预期读写 QPS 从 1k 提到 10k,迁移成本 3 天,风险是会话丢失需双写 1 周" + +--- + +## 改进行动的可验证性 + +每条改进动作要能回答: + +1. **做完后长什么样?**("看到 XX 文件第 Y 节有 Z 内容") +2. **谁去验收?**("我自己 / 用户 / 团队") +3. **多长时间做完?**("今天 / 本周 / 月底") +4. **做完怎么证明?**("截图 / diff / test-prompts 实测 / 真实运行产物") + +如果一条动作 4 个问题都答不出 = 不可执行的空话,砍掉。 + +--- + +## 输出"改进清单"模板 + +```text +【改进清单】按杠杆率排序(≤ 7 个) + +🔴 P0(必须改): +1. [问题]:XXX + [具体动作]:在 YYY 文件加 ZZZ 内容 + [成本]:X 天 + [风险]:可能引入 WWW + [验收]:YYY + +🟡 P1(应该改): +1. ... + +🟢 P2(建议改): +1. ... + +❌ 暂不改(成本高于收益): +- [问题 X]:改造成本 Y > 收益 Z + +【成本/收益对比表】 +| 改进点 | 实施成本 | 预期收益 | 优先级 | 验收人 | 截止时间 | +|--------|----------|----------|--------|--------|----------| +| 1 | X 天 | 高 | P0 | 我 | 周五 | +| 2 | Y 小时 | 中 | P1 | 团队 | 月底 | +| ... | +``` diff --git a/skills/requirement-clarifier/meta.json b/skills/requirement-clarifier/meta.json new file mode 100644 index 00000000..9f97f1cd --- /dev/null +++ b/skills/requirement-clarifier/meta.json @@ -0,0 +1,7 @@ +{ + "state": "active", + "review_status": "approved", + "version": "1.0.0", + "added_at": "2026-06-16", + "last_reviewed": "2026-06-23" +} diff --git a/skills/requirement-clarifier/metadata.json b/skills/requirement-clarifier/metadata.json new file mode 100644 index 00000000..672c88df --- /dev/null +++ b/skills/requirement-clarifier/metadata.json @@ -0,0 +1,13 @@ +{ + "version": "3.0.0", + "organization": "yingzhengzhang06-sys", + "date": "June 2026", + "abstract": "Three-mode triage station for ambiguous requests (growme + change + improve). A router that turns vague intent into an executable spec, a task pile into a routed execution plan, and an existing plan into an improvement checklist. Native Chinese scenarios, cross-runtime neutral (Claude Code / Codex / OpenCode / OpenClaw / Hermes). Includes a 30+ skill routing table as a public asset — installing this skill is installing a 'full skill routing map'.", + "references": [ + "https://github.com/mattpocock/skills", + "https://github.com/obra/superpowers", + "https://github.com/addyosmani/agent-skills", + "https://github.com/garrytan/gstack", + "https://github.com/yingzhengzhang06-sys/requirement-clarifier" + ] +} diff --git a/skills/requirement-clarifier/references/vhs-fault-note.md b/skills/requirement-clarifier/references/vhs-fault-note.md new file mode 100644 index 00000000..4c857578 --- /dev/null +++ b/skills/requirement-clarifier/references/vhs-fault-note.md @@ -0,0 +1,38 @@ +# Showcase Recording Note (vhs 0.11 Fault) + +> **Status:** Showcase GIF pending — vhs 0.11 + ttyd 1.7.7 compatibility fault on macOS +> **Date:** 2026-06-23 + +## Why no GIF? + +The `vhs` terminal recorder (v0.11) + `ttyd` (v1.7.7) on macOS (Darwin 25.3.0, arm64) only records the first frame of the PTY stream. This is a known upstream issue. + +## What works + +- `SKILL.md` is complete and triggerable +- `AGENTS.md` is the agent-readable equivalent +- All 3 sub-modes (`growme-mode/`, `change-mode/`, `improve-mode/`) work independently +- `test-prompts.json` provides 8 live test cases +- `examples/` has 3 anti-pattern samples + +## Repro + +```bash +# Will produce a GIF with only the first frame visible +vhs assets/demo.tape +# Output: demo.gif (only first frame animated) +``` + +## Resolution + +Pending one of: + +- vhs v0.12+ (upstream fix) +- Switch to Asciinema (text-based recording) +- Manual screen recording + ffmpeg conversion + +See upstream: https://github.com/charmbracelet/vhs/issues + +--- + +This is an honest fault record, not a missing feature. Skill functionality is unaffected. diff --git a/skills/requirement-clarifier/test-prompts.json b/skills/requirement-clarifier/test-prompts.json new file mode 100644 index 00000000..4c22c980 --- /dev/null +++ b/skills/requirement-clarifier/test-prompts.json @@ -0,0 +1,108 @@ +{ + "skill_name": "requirement-clarifier", + "version": "2.0-suite", + "description": "活体检查样本 — 用真实请求测试本 skill 套件的输出质量", + "modes_tested": ["growme", "change", "improve", "boundary"], + "test_cases": [ + { + "id": "TC-01-growme-模糊需求", + "mode": "growme", + "user_input": "我想做一个 AI 教学的 skill", + "expected_output": [ + "目标追问(受众/成功标准/边界)", + "信息缺口 ≤ 5 个", + "用 AskUserQuestion 工具", + "附推荐答案", + "不直接给方案" + ], + "trap": "❌ 不要立刻说'建议做成小红书图文'" + }, + { + "id": "TC-02-change-多任务", + "mode": "change", + "user_input": "我手上有 8 个 skill 要精修,先做哪个?", + "expected_output": [ + "按复杂度分桶", + "三维评分(影响/紧急/不确定)", + "P0/P1/P2/P3 排序", + "每项任务路由到具体 skill(skill-creator / luban / skill-vetter)", + "高不确定任务排在前面(fail fast)" + ], + "trap": "❌ 不要只说'按顺序做'不给路由" + }, + { + "id": "TC-03-improve-审查方案", + "mode": "improve", + "user_input": "你看这个 SKILL.md 写得对不对?", + "expected_output": [ + "按 7 类改进点扫描", + "按杠杆率排序(≤ 7 个)", + "SMART 改进动作(具体/可衡量/可达成/相关/有时限)", + "成本与风险标注", + "不直接动手改" + ], + "trap": "❌ 不要只说'建议加强'不给具体动作" + }, + { + "id": "TC-04-串行模式", + "mode": "growme → change", + "user_input": "我想做一个 21 天 AI 写作训练营,3 个月内启动", + "expected_output": [ + "Step 1: growme 澄清(目标/受众/边界/验收)", + "Step 2: change 分诊(内容开发/招生/平台/营销)", + "明确路由(不是 requirement-clarifier 自己执行)" + ], + "trap": "❌ 不要跳过 growme 直接 change" + }, + { + "id": "TC-05-不触发边界", + "mode": "boundary", + "user_input": "X 工具怎么用?", + "expected_output": [ + "不调用本 skill", + "直接用 AskUserQuestion 或领域 skill" + ], + "trap": "❌ 不要为了用而用" + }, + { + "id": "TC-06-完整分诊样本", + "mode": "change", + "user_input": "我今天要做 5 件事:写公众号、写小红书、做 SKILL、跟一个投资人 meeting、清理桌面", + "expected_output_template": "【分诊结果】\n| # | 任务 | 复杂度 | 影响 | 紧急 | 不确定 | 优先级 | 路由到 |\n| 1 | 写公众号 | 中 | 高 | 中 | 低 | P1 | `original-writing` |\n| 2 | 写小红书 | 中 | 高 | 中 | 中 | P1 | `ad-copywriting` + `advanced-xhs-visual-design` |\n| 3 | 做 SKILL | 大 | 中 | 低 | 高 | P0 | `skill-creator`(首次做,高不确定→ 优先)|\n| 4 | 投资人 meeting | 小 | 高 | 高 | 中 | P0 | 直接干(不需要 skill)|\n| 5 | 清理桌面 | 小 | 低 | 低 | 低 | P3 | 砍掉 / 周末做 |", + "trap": "❌ 不要把'清理桌面'也拉进 P0" + }, + { + "id": "TC-07-套件路由测试", + "mode": "router", + "user_input": "帮我看看这个方案是否最优", + "expected_output": [ + "判断为 improve 模式", + "加载 improve-mode 子 skill", + "引用 seven-leverage-points.md", + "不直接执行 improve 流程(路由器身份)" + ], + "trap": "❌ 路由器不应直接给出改进清单(应路由到子 skill)" + }, + { + "id": "TC-08-三模式反例", + "mode": "anti-patterns", + "user_input": "N/A(验证性测试)", + "expected_output": [ + "growme 反例:把脑补当澄清", + "change 反例:只排顺序不给路由", + "improve 反例:只说'建议加强'不给动作" + ], + "trap": "❌ 三个反例至少各识别 1 个" + } + ], + "self_check_questions": [ + "模式判断清晰吗(growme/change/improve)?", + "任务列表完整吗?没漏什么?", + "优先级排序的理由清楚吗?", + "路由到的 skill 是否真的能处理这个任务?(自检一遍)", + "依赖关系标全了吗?", + "改进清单按杠杆率排序了吗?", + "用户拿这份输出能直接开干吗?", + "输出前做了 5 个自检问题的核对吗?" + ] +}