Use Case Writer
phucnt-bazone-vietnam/use-case-writer
Generate Use Case specifications in English Markdown following the IT BA standard 13-field template (Karl Wiegers / IIBA).
输入 PRD 文档(Markdown 或 PDF),以开发架构师的角色编写字段/接口级精度的功能设计文档(Functional/Technical Design Doc),以 Markdown 格式保存到当前项目 markdown/ 目录。这份文档是开发者、reviewer、测试者三方协作的唯一契约——三者互相隔离、不能看对方的产出物(测试者看不到代码,reviewer…
$ npx skills add digoal/blog --skill product-feature-tech-design -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install digoal/blog product-feature-tech-design --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/digoal/blog.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/skills_for_claude_web/product-feature-tech-design .claude/skills/product-feature-tech-design && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "product-feature-tech-design" agent skill from https://github.com/digoal/blog/tree/master/skills/skills_for_claude_web/product-feature-tech-design into .claude/skills/product-feature-tech-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "product-feature-tech-design", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/digoal/blog/tree/master/skills/skills_for_claude_web/product-feature-tech-designType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add digoal/blog --skill product-feature-tech-design -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install digoal/blog product-feature-tech-design --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/digoal/blog.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/skills_for_claude_web/product-feature-tech-design .agents/skills/product-feature-tech-design && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "product-feature-tech-design" agent skill from https://github.com/digoal/blog/tree/master/skills/skills_for_claude_web/product-feature-tech-design into .agents/skills/product-feature-tech-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "product-feature-tech-design", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add digoal/blog --skill product-feature-tech-design -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install digoal/blog product-feature-tech-design --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/digoal/blog.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/skills_for_claude_web/product-feature-tech-design .cursor/skills/product-feature-tech-design && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "product-feature-tech-design" agent skill from https://github.com/digoal/blog/tree/master/skills/skills_for_claude_web/product-feature-tech-design into .cursor/skills/product-feature-tech-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "product-feature-tech-design", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/digoal/blog.git --path skills/skills_for_claude_web/product-feature-tech-design--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add digoal/blog --skill product-feature-tech-design -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install digoal/blog product-feature-tech-design --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/digoal/blog.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/skills_for_claude_web/product-feature-tech-design .gemini/skills/product-feature-tech-design && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "product-feature-tech-design" agent skill from https://github.com/digoal/blog/tree/master/skills/skills_for_claude_web/product-feature-tech-design into .gemini/skills/product-feature-tech-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "product-feature-tech-design", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install digoal/blog product-feature-tech-designInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add digoal/blog --skill product-feature-tech-design -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/digoal/blog.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/skills_for_claude_web/product-feature-tech-design .github/skills/product-feature-tech-design && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "product-feature-tech-design" agent skill from https://github.com/digoal/blog/tree/master/skills/skills_for_claude_web/product-feature-tech-design into .github/skills/product-feature-tech-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "product-feature-tech-design", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add digoal/blog --skill product-feature-tech-design -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install digoal/blog product-feature-tech-design --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/digoal/blog.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/skills_for_claude_web/product-feature-tech-design .opencode/skills/product-feature-tech-design && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "product-feature-tech-design" agent skill from https://github.com/digoal/blog/tree/master/skills/skills_for_claude_web/product-feature-tech-design into .opencode/skills/product-feature-tech-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "product-feature-tech-design", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
product-feature-tech-design输入 PRD 文档(Markdown 或 PDF),以开发架构师的角色编写字段/接口级精度的功能设计文档(Functional/Technical Design Doc),以 Markdown 格式保存到当前项目 markdown/ 目录。这份文档是开发者、reviewer、测试者三方协作的唯一契约——三者互相隔离、不能看对方的产出物(测试者看不到代码,reviewer…
Product Feature Tech Design is an agent skill from digoal/blog. 输入 PRD 文档(Markdown 或 PDF),以开发架构师的角色编写字段/接口级精度的功能设计文档(Functional/Technical Design Doc),以 Markdown 格式保存到当前项目 markdown/ 目录。这份文档是开发者、reviewer、测试者三方协作的唯一契约——三者互相隔离、不能看对方的产出物(测试者看不到代码,reviewer 不参与开发),所以必须把每个功能点写到可直接落地、可直接测试的精度:接口请求/响应字段、错误码、状态机、数据模型、异常边界场景都要明确。触发条件:用户提到"功能设计文档"、"技术设计文档"、"tech design"、"functional design"、"从 PRD 生成设计文档"、"帮我把这份 PRD 转成开发文档"、"写一份给开发和测试用的设计文档"、"接口设计 + 验收标准",或者用户上传了一份 PRD 并希望进入开发落地阶段。即使用户只说"基于这个 PRD 帮我写设计文档"或"把这个需求文档详细化成开发能直接看懂的文档",也应立即使用本 skill。不要将本 skill 与 write-prd/write-brd 混淆——那两个 skill…
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/module-template.md` and `references/precision-rules.md`).
It sits in Product & Project Management, covering PRD writing, Architecture decision records and Markdown. The repository describes itself as: AI,Opensource,Database,Business,Finance,Minds. git clone --depth 1 https://github.com/digoal/blog. The licence is GPL-2.0.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit ad6fcb7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Product Feature Tech Design loads about 1.6k tokens when it runs, and up to ~5k if it reads all its reference files. Until then it costs about 161 tokens; SKILL.md has 221 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from digoal/blog at commit ad6fcb7, republished under its GPL-2.0 licence (© digoal). 221 words, ~1,591 tokens.
.claude/skills/product-feature-tech-design/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.将一份 PRD(产品需求文档)转化为一份字段/接口级精度的功能设计文档,作为开发者、reviewer、测试者三方协作的唯一书面契约。
核心理念:这份文档要回答的不是"我们要做什么"(PRD 已经回答了),而是"怎么做才算对、怎么验证它对了"。下游三个角色互相看不到对方的产出——测试者看不到代码,reviewer 不参与开发,三方只能依赖这一份文档对齐。任何一处含糊,都会在三方汇合时变成返工。所以写作时始终假设:读者除了这份文档,什么都没有。
PRD 输入(Markdown/PDF/用户描述)
↓
Step 1:解析 PRD,提取功能清单与模块边界
↓
Step 2:判断每个模块的"精度档位"(详见 references/precision-rules.md)
↓
Step 3:生成跨模块整体架构图(模块依赖/调用关系)
↓
Step 4:逐模块编写详细设计(接口契约 + 按需的状态机/数据模型/异常表)
↓
Step 5:汇总全局验收检查清单
↓
输出到 markdown/ 目录读取用户提供的 PRD(可能是 write-prd/write-brd 产出的文件,也可能是用户自己的文档或粘贴的文字)。重点提取:
如果 PRD 信息不足以支撑字段级设计(比如完全没提数据来源、没提第三方依赖),不要凭空编造看起来精确但其实是瞎猜的字段。按 场景 B:信息不足时的处理 处理(见下文)。
这是整个 skill 最容易做错的一步:不是所有模块都需要同样的详细程度,但所有模块都需要同样的"无歧义"程度。差别在于"写多少种文档元素",而不是"写得清不清楚"。
判断时问自己三个问题(详细判断标准见 references/precision-rules.md):
不要因为某个模块"看起来简单"就跳过接口字段级描述——字段级精度是所有模块的底线,三个判断只影响"要不要额外画图/列表",不影响"接口契约写多细"。
在详细设计之前,先画一张图,让三方在看任何模块细节之前,先对"系统长什么样"有共同认知。这张图应该展示:
用 Mermaid 画(graph TD 或 flowchart TD 即可,不强制要求 SVG——这张图的目的是让人一眼看清模块关系,Mermaid 在 Markdown 里能直接渲染,足够清楚)。如果模块数量只有一个(PRD 本身就是单模块的小功能),这张图可以简化成"该模块与外部系统的交互图",不需要强行画一个只有一个节点的"架构图"。
对每个模块,使用 references/module-template.md 中的模板展开。模板里每个章节都标注了"必选"还是"按 Step 2 判断条件选填",照着填即可,不要自己再发明新的章节结构——三份不同模块的文档如果结构不一致,reviewer 和测试者要重新适应格式,这本身就是一种隐性成本。
如果模块在 Step 2 判断里需要状态转换图,写完图之后要立刻反过来检查:图里每一条转换箭头,触发它的机制是什么,这个机制是否已经在文档别处写清楚了? 状态图本身只表达"状态A会变成状态B",不表达"是什么动作让它变成的"——这一步很容易漏,而且漏的方式不止一种:
简单说:状态图回答"会发生什么",文档其余部分要回答"是什么让它发生的",这两半合起来才是完整设计,少了任何一半,测试者都没法设计出对应的测试用例。
写接口契约时心里要绷住一根弦:测试者要靠这一段直接写出测试用例,不能再来问你"这个参数必填吗""失败了返回什么"。所以每个接口最低限度要写清楚:
写到任何具体数值(超时时长、重试次数、限流阈值、字符长度上限等)时,先问自己这个数字是从 PRD 原文来的,还是自己为了让文档显得完整而现场编的。 如果是编的——这是写设计文档时最容易不知不觉犯的错误,因为一个写了具体数字的句子读起来就是比一个写"[待确认]"的句子更像"专业文档",但这种专业感是假的,会让测试者以为这是经过确认的业务规则去设计用例——必须显式标注 [待确认],并汇总进文档末尾的待确认事项表,不能让它看起来和 PRD 明确给出的数字一样确定。
但不要因此变得过度保守、把所有没在 PRD 里逐字出现的数字都标成 [待确认]——那样整份文档会布满标注,反而失去重点。区分标准是:这个数字改变的是"业务规则"还是"工程实现细节"。"订单超过多久算用户放弃不付款了"是业务规则,数字错了会让产品行为本身不对,必须标注;"取件码用几位数字""错误信息的具体文案""重试间隔用几秒"这类纯工程实现选择,只要给出合理默认值并保持内部一致即可,不需要标注,这正是 PRD 场景 B 里"能推断的字段直接写清楚"对应的那一类——架构师的工作本身就包含做这类工程默认值决策,不是每一个都要退回去问产品经理。判断标准很简单:能不能在 PRD 原文里指出这个数字的出处,且这个数字一旦改变会不会让"系统该做什么"本身发生变化;两者都满足,就是业务规则,必须标注;否则是实现细节,正常写,不需要标注。
文档最后要有一份独立的验收检查清单章节,把前面分散在各模块里的验收规则汇总成可以逐项打钩的列表,分两层:
这份清单不是重复前文,而是前文的"可执行索引"——reviewer 不需要重新读一遍长文档找验收点,扫一眼清单就知道该测什么、该 review 什么。
完整模板见 references/module-template.md(文档头部、整体架构图、每个模块章节的详细结构、全局验收清单,一份文件包含全部骨架,按顺序填充即可)。
文件命名:[product-name-en]-tech-design.md(英文小写,连字符分隔,与同源 PRD 文件名保持可关联,比如 PRD 是 smart-order-assistant-prd.md,设计文档就是 smart-order-assistant-tech-design.md)。
输出到当前项目的 markdown/ 目录,与 write-prd/write-brd 等同源 skill 保持一致的输出位置约定,方便用户在同一个目录里管理一整套产品文档。
可以直接基于描述展开,但要在文档开头注明"本设计文档基于用户口头描述生成,未经过正式 PRD 评审,部分边界条件为推断,标注 [待确认]"。不要因为没有正式 PRD 就降低精度要求——精度要求始终成立,只是来源不同。
不要编造看起来精确但其实是瞎猜的字段值(比如凭空编一个"用户等级 1-5"的枚举,而 PRD 根本没提过等级体系)。正确做法:
如果模块之间确实没有调用/依赖关系(比如一个 PRD 里包含"用户反馈"和"系统公告"两个互不相关的功能),Step 3 的架构图可以简化为并列展示,不用强行画出虚构的依赖箭头。如实反映"无依赖"也是一种有效信息——能让 reviewer 知道这两个模块可以完全独立并行开发和测试。
跳过"模块划分"的讨论,Step 3 的架构图改为"该功能与外部系统/已有功能的交互图"。其余步骤照常,字段级精度不因为模块少就降低。
可以先交付架构图 + 各模块的接口契约骨架(请求/响应字段名和类型,暂不展开每个错误码),但要在文档里用 [待补充] 标注哪些部分是简化的,并在交付时明确告知用户"这是简版,XX部分需要进一步细化才能交付测试"——不要让简版看起来像是完整版,否则测试者会基于不完整的契约开始工作。
写完后过一遍,这些是最容易漏的地方:
© digoal, GPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in skills/skills_for_claude_web/product-feature-tech-design of digoal/blog.
Open the folder on GitHubat commit ad6fcb7
Product Feature Tech Design next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Product Feature Tech Design this skilldigoal/blog | 8.6k | — | ~1.6k | Automated safety check: Pass | GPL-2.0 | |
| Use Case Writerphucnt-bazone-vietnam/use-case-writer | 143 | — | ~4.1k | Automated safety check: Pass | MIT | |
| Schematicblader/schematic | 241 | — | ~2.2k | Automated safety check: Pass | MIT | |
| Shep Workstreamsshep-ai/shep | 264 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Write Update Tidb Docspingcap/docs | 616 | — | ~2.3k | Automated safety check: Pass | Custom licence | |
| App Spec Packagerinstructa/agent-skills | 139 | — | ~1.5k | Automated safety check: Pass | None |
phucnt-bazone-vietnam/use-case-writer
Generate Use Case specifications in English Markdown following the IT BA standard 13-field template (Karl Wiegers / IIBA).
blader/schematic
Reverse engineer a detailed product and technical specification document from a git branch's implementation.
shep-ai/shep
A skill your agent uses when a large body of work (a version milestone, an epic, a roadmap, a set of PRDs/design docs) needs to be broken into parallel workstreams and executed with the shep CLI.
pingcap/docs
Write new TiDB documentation or update existing TiDB documentation from code changes, PRs, issues, design docs, product specs, rough drafts, existing docs, or short feature descriptions.
instructa/agent-skills
A skill your agent uses when the user wants to turn an application, product, startup idea, SaaS, mobile app, web app, API, AI product, or internal tool into a production-ready Markdown specification…
aj-geddes/claude-code-bmad-skills
Orchestration spine and "what do I do next?" router for the BMAD Planning & Orchestrator plugin.
digoal/blog
三层审查模型,逐段逐句验证文章真伪、证据链与逻辑结构。Use when the user asks to fact-check, verify, audit, or evaluate the credibility of an article, essay, report, opinion piece, social-media post, or any written claim —…
digoal/blog
Find latent bugs in a local PostgreSQL source tree (RELxxSTABLE branch or HEAD) the way a core hacker does: build a heavily-poisoned debug instance (cassert + cache-discard + -O0/-ggdb3 + core…
digoal/blog
Portable digital employee distilled from digoal's personal blog for PostgreSQL, PolarDB, DuckDB, AI+database, vector/RAG, database operations, source-code reading, technical content creation…
digoal/blog
从论文 PDF 文件或论文 PDF URL 生成通俗易懂、图文并茂、带批判性评估的中文 Markdown 解读,并保存到当前项目的 markdown 目录。Use when the user asks to interpret,精读,解读,summarize,explain,analyze, or write an article from an academic paper PDF…
digoal/blog
Analyze a product from documentation, websites, PDFs, articles, release notes, pricing pages, app listings, reviews, filings, or related links; save separate intermediate analyses from seven roles…
digoal/blog
Turn a blog post, article, notes, or any source material into a set of vertical poster images — one cover plus several coherent content slides that explain the core points.
Categories
输入 PRD 文档(Markdown 或 PDF),以开发架构师的角色编写字段/接口级精度的功能设计文档(Functional/Technical Design Doc),以 Markdown 格式保存到当前项目 markdown/ 目录。这份文档是开发者、reviewer、测试者三方协作的唯一契约——三者互相隔离、不能看对方的产出物(测试者看不到代码,reviewer…. Product Feature Tech Design is an agent skill from digoal/blog.
Product Feature Tech Design fits situations like: tasks that involve PRD writing; tasks that involve Architecture decision records; tasks that involve Markdown.
Run `npx skills add digoal/blog --skill product-feature-tech-design -a claude-code`. Or copy the skill folder (skills/skills_for_claude_web/product-feature-tech-design in digoal/blog) into .claude/skills/product-feature-tech-design in your project. Claude Code loads it when a task matches its description.
Run `npx skills add digoal/blog --skill product-feature-tech-design -a codex`. Or copy the skill folder (skills/skills_for_claude_web/product-feature-tech-design in digoal/blog) into .agents/skills/product-feature-tech-design in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add digoal/blog --skill product-feature-tech-design -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/product-feature-tech-design, .gemini/skills/product-feature-tech-design, .github/skills/product-feature-tech-design and .opencode/skills/product-feature-tech-design in your project.
SKILL.md names no scripts, command-line tools or credentials: Product Feature Tech Design is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Product Feature Tech Design is published under the GPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Product Feature Tech Design: Use Case Writer (phucnt-bazone-vietnam/use-case-writer, 143 stars), Schematic (blader/schematic, 241 stars), Shep Workstreams (shep-ai/shep, 264 stars) and Write Update Tidb Docs (pingcap/docs, 616 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
digoal (a GitHub user) maintains it in digoal/blog, which has 8,588 GitHub stars. The repository holds 98 skills in this directory. The repository was last updated on October 9, 2026.
Source: digoal/blog on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.