User Story Writer
deanpeters/Product-Manager-Skills
Writes user stories in Mike Cohn's format with Gherkin acceptance criteria, turning user needs into development-ready work with testable conditions.
输入一个产品 idea(一句话或详细描述均可),自动生成图文并茂、结构完整的 MRD(市场需求文档),以 Markdown 格式保存到当前项目 markdown/ 目录,同时输出配套 SVG 图表文件。触发条件:用户提到"写 MRD"、"帮我写市场需求文档"、"生成 MRD"、"写产品市场需求"、"我有个产品想法"、"帮我把这个 idea 写成…
$ npx skills add digoal/blog --skill write-mrd -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install digoal/blog write-mrd --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/write-mrd .claude/skills/write-mrd && 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 "write-mrd" agent skill from https://github.com/digoal/blog/tree/master/skills/skills_for_claude_web/write-mrd into .claude/skills/write-mrd/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write-mrd", 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/write-mrdType 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 write-mrd -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install digoal/blog write-mrd --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/write-mrd .agents/skills/write-mrd && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "write-mrd" agent skill from https://github.com/digoal/blog/tree/master/skills/skills_for_claude_web/write-mrd into .agents/skills/write-mrd/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write-mrd", 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 write-mrd -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install digoal/blog write-mrd --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/write-mrd .cursor/skills/write-mrd && 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 "write-mrd" agent skill from https://github.com/digoal/blog/tree/master/skills/skills_for_claude_web/write-mrd into .cursor/skills/write-mrd/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write-mrd", 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/write-mrd--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 write-mrd -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install digoal/blog write-mrd --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/write-mrd .gemini/skills/write-mrd && 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 "write-mrd" agent skill from https://github.com/digoal/blog/tree/master/skills/skills_for_claude_web/write-mrd into .gemini/skills/write-mrd/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write-mrd", 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 write-mrdInstalls 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 write-mrd -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/write-mrd .github/skills/write-mrd && 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 "write-mrd" agent skill from https://github.com/digoal/blog/tree/master/skills/skills_for_claude_web/write-mrd into .github/skills/write-mrd/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write-mrd", 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 write-mrd -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 write-mrd --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/write-mrd .opencode/skills/write-mrd && 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 "write-mrd" agent skill from https://github.com/digoal/blog/tree/master/skills/skills_for_claude_web/write-mrd into .opencode/skills/write-mrd/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "write-mrd", 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.
write-mrd输入一个产品 idea(一句话或详细描述均可),自动生成图文并茂、结构完整的 MRD(市场需求文档),以 Markdown 格式保存到当前项目 markdown/ 目录,同时输出配套 SVG 图表文件。触发条件:用户提到"写 MRD"、"帮我写市场需求文档"、"生成 MRD"、"写产品市场需求"、"我有个产品想法"、"帮我把这个 idea 写成…
Write Mrd is an agent skill from digoal/blog. 输入一个产品 idea(一句话或详细描述均可),自动生成图文并茂、结构完整的 MRD(市场需求文档),以 Markdown 格式保存到当前项目 markdown/ 目录,同时输出配套 SVG 图表文件。触发条件:用户提到"写 MRD"、"帮我写市场需求文档"、"生成 MRD"、"写产品市场需求"、"我有个产品想法"、"帮我把这个 idea 写成 MRD"、"市场需求文档模板"、"产品立项文档"、"帮我写需求文档"。即使用户只给出一句简短的产品描述如"我想做一个 XX 产品",也应立即使用本 skill 生成 MRD。本 skill 面向产品经理、创业者、产品负责人,输出可直接用于团队评审和立项决策的专业文档。
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Product & Project Management, covering User stories. 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 69fb793. 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 (its code samples are markdown).
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.
Write Mrd loads about 1.5k tokens when it runs. Until then it costs about 80 tokens; SKILL.md has 330 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 69fb793, republished under its GPL-2.0 licence (© digoal). 330 words, ~1,512 tokens.
.claude/skills/write-mrd/SKILL.md (or your agent's skills folder).将一个产品 idea 转化为结构严谨、图文并茂的 MRD(市场需求文档)。
用户输入 idea
↓
Step 1: 解析 idea,提炼核心问题与目标用户
↓
Step 2: 搜索行业背景 & 竞品信息(web search)
↓
Step 3: 构建 MRD 各章节内容
↓
Step 4: 生成 SVG 图表文件(至少 2 个)
↓
Step 5: 输出 Markdown 文件到 markdown/ 目录拿到用户输入后,在开始写作之前先做内部推理:
如果 idea 过于模糊(少于 10 个字且无任何上下文),可以向用户追问一个关键问题:"这个产品主要服务谁,解决他们在什么场景下的什么问题?";但如果能合理推断,应该直接开始写,在文档中标注推断假设。
在写作之前,必须使用 web search 搜索以下信息:
[行业关键词] market size 2024 2025 或中文 [行业] 市场规模如无网络条件,基于已知知识推理,但需在文档中明确标注"数据待验证"。
# [产品名称] MRD
> [一句话核心洞察:为谁解决什么问题,产生什么价值]
| 属性 | 内容 |
|------|------|
| 文档版本 | v1.0 |
| 创建日期 | [当前日期] |
| 产品阶段 | 0→1 新产品 / 功能迭代 / 战略探索 |
| 目标市场 | [简短描述] |
| 文档状态 | 草稿 / 评审中 / 已批准 |格式要求:不超过 200 字,必须包含:
必须回答以下问题:
每个主要用户角色必须包含:
用户角色卡
─────────────────────────────────────────
角色名称:[给用户一个有画面感的昵称]
人口特征:年龄 / 职业 / 收入段 / 地域
使用场景:[具体的时间、地点、触发事件]
JTBD 三层任务:
功能性任务:[他们实际要完成什么行动]
情感性任务:[他们希望在过程中感受到什么]
社会性任务:[他们希望在他人眼中呈现什么]
期望结果(验收标准来源):
- [可量化的成功标准 1]
- [可量化的成功标准 2]
现有替代方案的缺陷:
- [当前他们怎么解决这个问题]
- [这个方案哪里让他们失望]
─────────────────────────────────────────必须包含 TAM / SAM / SOM 三层拆解,每层给出数字来源或推导过程。
TAM(理论最大市场):所有可能有此需求的用户 × 人均年付费意愿
SAM(可服务市场):我们能实际触达并服务的子集
SOM(可获取市场):未来 12-18 个月实际能拿到的份额
呈现方式:使用 ASCII 或 Mermaid 图表可视化三层关系。
必须包含:
竞品对比维度:根据产品类型选择 5-7 个最关键的维度,避免"大而全"的无意义对比。
格式:作为 [用户角色],我希望 [完成某个行动],以便 [实现某个结果]
每个 User Story 必须包含:
必须覆盖以下维度(根据产品类型选择相关项):
性能需求:页面加载 < X 秒 / 接口响应 < X ms / 并发支持 X 用户
可用性:SLA X% 可用性 / 故障恢复时间 < X 分钟
安全与合规:数据加密标准 / 用户隐私合规(GDPR/个人信息保护法)
扩展性:支持 X 倍用户增长无需重构
国际化:支持语言 / 时区 / 货币
无障碍:WCAG 合规等级必须明确列出 "Won't Have (This Version)" 的内容——这是 MRD 最容易被忽视但最有价值的部分。
技术约束:
- 必须使用 / 禁止使用的技术栈(如有)
- 必须集成的第三方服务
- 数据迁移 / 兼容性要求
资源约束:
- 团队规模与角色
- 预算范围(可用区间或相对描述)
- 时间硬限制
里程碑规划:
│ 里程碑 │ 目标 │ 时间 │ 关键指标 │
│ MVP │ 验证核心假设 │ +8周 │ [指标] │
│ V1.0 │ 满足主流用户场景 │ +16周 │ [指标] │
│ V1.5 │ 扩大用户规模 │ +24周 │ [指标] │每个假设必须包含:假设内容、验证方式、风险等级(高/中/低)、验证截止时间。
至少包含以下类型的假设:
定义三个层次的指标:
北极星指标(1个):最能代表产品核心价值的单一指标,例如"每用户每周完成的[核心任务]次数"
驱动指标(3-5个):支撑北极星指标的先行指标
护栏指标(2-3个):确保在优化北极星指标时不损害的底线指标(如用户留存、NPS、崩溃率)
每份 MRD 必须包含至少 2 个 SVG 图表,优先生成以下类型:
图表 A:竞品定位地图(二维坐标)
[product]-competitive-map.svg图表 B:用户旅程 / 核心流程图
[product]-user-journey.svg尺寸:viewBox="0 0 800 500"(宽图)或 "0 0 600 600"(方图)
字体:font-family="'PingFang SC','Helvetica Neue',Arial,sans-serif"
配色方案:
主色调:#4F46E5(靛蓝)
辅色1:#16A34A(绿)
辅色2:#EA580C(橙)
辅色3:#BE185D(粉红)
背景:#F8FAFC 或深色 #0F172A
文字:#111827(深)/ #6B7280(次)/ white(反色)每个 SVG 文件保存到 markdown/ 目录,在 Markdown 中用  引用。
markdown/
├── [product-name]-mrd.md ← 主 MRD 文档
├── [product-name]-competitive-map.svg ← 竞品定位图
├── [product-name]-user-journey.svg ← 用户旅程图
└── [product-name]-[其他图表].svg ← 其他图表(如有)[product-name]-mrd.md,全小写,连字符分隔[product-name]-[chart-type].svg在输出前对照检查:
markdown/ 目录?语言:
结构:
常见错误清单(避免):
以下都应触发本 Skill:
© 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
Just SKILL.md in skills/skills_for_claude_web/write-mrd of digoal/blog.
Open the folder on GitHubat commit 69fb793
Write Mrd 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 |
|---|---|---|---|---|---|---|
| Write Mrd this skilldigoal/blog | 8.6k | — | ~1.5k | Automated safety check: Pass | GPL-2.0 | |
| User Story Writerdeanpeters/Product-Manager-Skills | 7.2k | 2 repos | ~2.9k | Automated safety check: Pass | Custom licence | |
| Ralph Tui Create Beadssubsy/ralph-tui | 2.5k | 1 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Agile Product Owneralirezarezvani/claude-skills | 28k | 3 repos | ~3.2k | Automated safety check: Pass | MIT | |
| Ralph Tui Create Beads Rustsubsy/ralph-tui | 2.5k | 1 repos | ~2.8k | Automated safety check: Pass | MIT | |
| To Specbestofjs/bestofjs | 3.1k | 22 repos | ~757 | Automated safety check: Pass | MIT |
deanpeters/Product-Manager-Skills
Writes user stories in Mike Cohn's format with Gherkin acceptance criteria, turning user needs into development-ready work with testable conditions.
subsy/ralph-tui
Convert PRDs to beads for ralph-tui execution. An agent skill from subsy/ralph-tui.
alirezarezvani/claude-skills
Writes INVEST-checked user stories with acceptance criteria, splits epics, plans sprints from velocity and ranks the backlog with a weighted score.
subsy/ralph-tui
Convert PRDs to beads for ralph-tui execution using beads-rust (br CLI).
bestofjs/bestofjs
Turn the current conversation into a spec and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed.
subsy/ralph-tui
Convert PRDs to prd.json format for ralph-tui execution. An agent skill from subsy/ralph-tui.
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
输入一个产品 idea(一句话或详细描述均可),自动生成图文并茂、结构完整的 MRD(市场需求文档),以 Markdown 格式保存到当前项目 markdown/ 目录,同时输出配套 SVG 图表文件。触发条件:用户提到"写 MRD"、"帮我写市场需求文档"、"生成 MRD"、"写产品市场需求"、"我有个产品想法"、"帮我把这个 idea 写成…. Write Mrd is an agent skill from digoal/blog.
Write Mrd fits situations like: tasks that involve User stories.
Run `npx skills add digoal/blog --skill write-mrd -a claude-code`. Or copy the skill folder (skills/skills_for_claude_web/write-mrd in digoal/blog) into .claude/skills/write-mrd in your project. Claude Code loads it when a task matches its description.
Run `npx skills add digoal/blog --skill write-mrd -a codex`. Or copy the skill folder (skills/skills_for_claude_web/write-mrd in digoal/blog) into .agents/skills/write-mrd 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 write-mrd -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/write-mrd, .gemini/skills/write-mrd, .github/skills/write-mrd and .opencode/skills/write-mrd in your project.
SKILL.md names no scripts, command-line tools or credentials: Write Mrd 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.
Write Mrd 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.5k tokens (SKILL.md is roughly 6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Write Mrd: User Story Writer (deanpeters/Product-Manager-Skills, 7.2k stars), Ralph Tui Create Beads (subsy/ralph-tui, 2.5k stars), Agile Product Owner (alirezarezvani/claude-skills, 28k stars) and Ralph Tui Create Beads Rust (subsy/ralph-tui, 2.5k 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,587 GitHub stars. The repository holds 98 skills in this directory. The repository was last updated on September 28, 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.