禅道需求管理

SKILL商业运营
商业运营 未标注权限 许可证不明确
安装这个技能

禅道项目需求管理技能(产品经理适用、创建项目类型需求试用)。通过禅道页面内置接口和REST API管理项目需求(story),支持创建/编辑/删除/查询,自动关联到指定项目。同时支持需求文档编写与禅道需求的双向同步,需求文档中记录禅道需求ID,更新文档后可一键同步到禅道。触发关键词:创建需求、编辑需求、删除需求、新建需求、禅道需求、zentao story、提需求、项目需求、写需求、更新需求文档、同步需求。

一句话选型结论

按资料字段整理

禅道需求管理是商业运营类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类商业运营 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_b7f4a683/zentao-story-api
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

商业运营
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_b7f4a683仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791734511
正文体量14.3 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写运营方案

按目标产出活动方案与执行清单。

分析数据与指标

从报表里找问题、给结论。

整理客户与销售材料

把客户信息与话术整理成可直接用的材料。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在商业运营场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
禅道需求管理当前 未标注权限 未标注 未标注 未标注 有
MX 股票筛选器 联网访问 ClawHub 市场 79.9 万 OpenClaw 有
交易 未标注权限 ClawHub 市场 58.1 万 OpenClaw 有
营销技巧 只读 ClawHub 市场 54.0 万 OpenClaw 有
百灵鸟好 联网访问 GitHub 仓库 52.6 万 Codex、Claude、Cursor 有
股票信息浏览器 接触敏感数据 ClawHub 市场 40.5 万 OpenClaw 有

SKILL.md 全文

14.3 KB
模型实际读到的说明书原文,来自技能仓库

禅道项目需求管理(HTTP API 版)

通过禅道页面内置 HTTP 接口和 REST API 管理项目需求,支持创建/编辑/删除/查询,确保需求正确关联到项目。同时支持需求文档编写与禅道需求的双向同步。

核心工作流:需求文档 ↔ 禅道需求

需求文档(.md)  ──创建──>  禅道需求(story)
     ↑                        │
     └────回写禅道ID──────────┘
     ↑                        │
     └──更新文档──>──询问是否同步──>──编辑禅道需求

1. 需求文档编写

当用户要求编写或更新需求文档时:

  1. 遵循工作区规则:仅当用户确认功能OK并主动说明时,才更新需求文档
  2. 阅读需求文档:先读取 config.json 中 requirements_doc 指定的文档路径
  3. 按文档格式编写:保持现有文档的章节结构和格式
  4. 禅道ID标注:每个功能标题格式为 ### F001 - 功能名称(#禅道ID)
    - 已创建禅道需求的:标注ID,如 ### F001 - 多人分工(#155)
    - 未创建的:不标注,如 ### F005 - 登录认证

2. 文档更新后询问同步

需求文档更新完成后,主动询问用户是否需要同步到禅道:

> "需求文档已更新。是否需要同步到禅道?"

3. 同步逻辑

根据需求文档中的禅道ID标注,自动判断操作类型:

禅道ID标注 同步操作
有ID(如 #155) 编辑禅道需求,将文档描述转为HTML格式更新
无ID 创建禅道需求,创建成功后回写ID到文档标题

4. 禅道ID回写

创建需求成功后,自动更新需求文档中对应功能标题:
- 创建前:### F005 - 开始编写校验
- 创建后:### F005 - 开始编写校验(#172)

5. 描述转换规则

将需求文档的 Markdown 内容转为禅道 HTML 格式,按以下结构组织描述内容:

章节 必填 说明
用户故事 是 格式:作为\<b\>角色\</b\>,我希望\<b\>功能\</b\>,以便\<b\>价值\</b\>。来源:文档中 &gt; 引用 块
前置条件 否 使用前置需满足的条件,用无序列表
功能要点 是 核心操作步骤或业务规则,用有序列表;子步骤用嵌套无序列表
字段说明 否 涉及的数据字段,用表格(字段、类型、必填、默认值、说明)
注意事项 否 需特别关注的规则、边界情况或约束
其他规则 否 权限控制、联动逻辑等补充规则

Markdown → HTML 映射:

Markdown HTML
### 标题 &lt;h3&gt;标题&lt;/h3&gt;
&gt; 引用 用户故事格式
1. 步骤 &lt;ol&gt;&lt;li&gt;步骤&lt;/li&gt;&lt;/ol&gt;
- 要点 &lt;ul&gt;&lt;li&gt;要点&lt;/li&gt;&lt;/ul&gt;
**加粗** &lt;b&gt;加粗&lt;/b&gt;
表格 &lt;table&gt;...&lt;/table&gt;

转换时遵循写作规范:不写英文字段名、不写UI样式细节。

配置

在 config.json 中配置:

{
  &quot;zentao_url&quot;: &quot;http://your-zentao-server/zentao&quot;,
  &quot;zentao_user&quot;: &quot;your_username&quot;,
  &quot;zentao_password&quot;: &quot;your_password&quot;,
  &quot;default_project&quot;: 0,
  &quot;default_product&quot;: 0,
  &quot;requirements_doc&quot;: &quot;requirements.md&quot;
}
字段 说明
zentao_url 禅道服务地址
zentao_user 登录账号
zentao_password 登录密码
default_project 项目ID(从项目需求页面URL获取)
default_product 产品ID(从创建需求URL参数获取)
requirements_doc 需求文档路径(相对于工作区根目录),用于双向同步

功能列表

1. 创建需求

# 单条创建
python create_story_api.py create --title &quot;需求标题&quot; --desc &quot;描述&quot; --pri 3

# 批量创建
python create_story_api.py create --input stories.json

创建接口:POST /story-create-{product}-all-{module}-0-{project}-0-0-0--story.html

URL 中的 {project} 参数确保需求关联到项目。

参数 必填 说明
--title 是 需求标题
--desc 否 需求描述(用户故事格式)
--pri 否 优先级 1-4,默认 3
--module 否 模块ID,默认 0
--status 否 draft=草稿(默认), active=激活
--input 否 JSON文件路径(批量模式)
--project 否 项目ID
--product 否 产品ID
--json 否 输出JSON格式

2. 编辑需求

# 修改标题和优先级
python create_story_api.py edit --id 163 --title &quot;新标题&quot; --pri 1

# 修改描述
python create_story_api.py edit --id 163 --desc &quot;新的需求描述&quot;

# 从文件读取描述(推荐用于HTML长文本)
python create_story_api.py edit --id 163 --desc-file description.html

# 修改状态为激活
python create_story_api.py edit --id 163 --status active

编辑接口:POST /story-edit-{storyID}-default-story.html?zin=1

编辑前会自动查询当前需求数据,仅提交修改的字段,未修改字段保留原值。

参数 必填 说明
--id 是 需求ID
--title 否 新标题
--desc 否 新描述
--desc-file 否 从文件读取描述(推荐用于HTML长文本)
--pri 否 新优先级 1-4
--module 否 新模块ID
--status 否 新状态: draft/active/closed/changed
--category 否 新分类: feature/performance/security/experience/improve
--assignedTo 否 指派给
--json 否 输出JSON格式

3. 删除需求

python create_story_api.py delete --id 166

删除接口:DELETE /api.php/v1/stories/{storyID}(REST API)

请求头需携带 Token 认证。

参数 必填 说明
--id 是 需求ID
--json 否 输出JSON格式

4. 查询需求

python create_story_api.py get --id 163

查询接口:GET /api.php/v1/stories/{storyID}

参数 必填 说明
--id 是 需求ID
--json 否 输出JSON格式(完整数据)

5. 同步需求文档到禅道

# 扫描需求文档,同步所有功能到禅道(有ID的编辑,无ID的创建)
python create_story_api.py sync

# 只同步指定功能编号
python create_story_api.py sync --features F001 F002 F003

# 只做试运行(不实际操作禅道,仅显示计划)
python create_story_api.py sync --dry-run

同步逻辑:读取需求文档,解析每个功能标题中的禅道ID标注:
- 有 (#ID) → 编辑该禅道需求
- 无标注 → 创建禅道需求,创建成功后回写ID到文档

参数 必填 说明
--features 否 指定要同步的功能编号列表(如 F001 F002),不指定则同步全部
--dry-run 否 试运行模式,仅显示计划不实际操作
--json 否 输出JSON格式
--doc 否 需求文档路径(覆盖config中的requirements_doc)

描述字段格式

写作规范

  1. 不写英文字段名(如 readinessStatus、uploadedFiles),这些属于技术实现,由前端/后端把控
  2. 不写UI样式细节(如色值 #e74c3c、字号 11px、像素宽度 48px),这些由UI设计师把控
  3. 可以写字段中文名和属性(如类型、是否必填、默认值、说明),用表格展示
  4. 用HTML格式让描述更直观,禅道富文本编辑器支持 HTML

HTML 格式模板

&lt;h3&gt;用户故事&lt;/h3&gt;
&lt;p&gt;作为&lt;b&gt;编制人员&lt;/b&gt;,我希望&lt;b&gt;功能描述&lt;/b&gt;,以便&lt;b&gt;业务价值&lt;/b&gt;。&lt;/p&gt;

&lt;h3&gt;前置条件&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;条件1&lt;/li&gt;
&lt;li&gt;条件2&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;功能要点&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;步骤1&lt;/li&gt;
&lt;li&gt;步骤2&lt;/li&gt;
&lt;li&gt;步骤3&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;字段说明&lt;/h3&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;4&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse:collapse;width:100%;&quot;&gt;
&lt;tr&gt;&lt;th&gt;字段&lt;/th&gt;&lt;th&gt;类型&lt;/th&gt;&lt;th&gt;必填&lt;/th&gt;&lt;th&gt;默认值&lt;/th&gt;&lt;th&gt;说明&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;字段中文名&lt;/td&gt;&lt;td&gt;类型&lt;/td&gt;&lt;td&gt;是/否&lt;/td&gt;&lt;td&gt;默认值&lt;/td&gt;&lt;td&gt;说明&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;h3&gt;注意事项&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;注意1&lt;/li&gt;
&lt;li&gt;注意2&lt;/li&gt;
&lt;/ul&gt;

支持的 HTML 标签

标签 用途 示例
&lt;h3&gt; 小标题 &lt;h3&gt;功能要点&lt;/h3&gt;
&lt;p&gt; 段落 &lt;p&gt;普通文字&lt;/p&gt;
&lt;b&gt; 加粗 &lt;b&gt;重点内容&lt;/b&gt;
&lt;ol&gt; 有序列表 &lt;ol&gt;&lt;li&gt;步骤1&lt;/li&gt;&lt;/ol&gt;
&lt;ul&gt; 无序列表 &lt;ul&gt;&lt;li&gt;要点1&lt;/li&gt;&lt;/ul&gt;
&lt;table&gt; 表格 见上方模板
&lt;span style=&quot;color:red&quot;&gt; 文字颜色 仅用于强调重要信息

格式选择逻辑

  • 描述包含 HTML 块级标签(&lt;h3&gt;, &lt;ul&gt;, &lt;ol&gt;, &lt;table&gt; 等)→ 直接使用原始 HTML
  • 描述为纯文本 → 按换行分段,每段自动包裹 &lt;p&gt;&lt;span&gt;...&lt;/span&gt;&lt;/p&gt;

认证原理

  1. 通过 /api.php/v1/tokens 获取 token
  2. 该 token 同时作为 zentaosid cookie(用于页面内置接口)
  3. 也作为 Token 请求头(用于 REST API)

接口详情

创建接口

POST /story-create-{product}-{branch}-{module}-{parent}-{project}-{execution}-{plan}-{storyType}--story.html
Content-Type: multipart/form-data
Cookie: zentaosid={token}
X-Requested-With: XMLHttpRequest

表单字段:

字段 值 说明
product 产品ID 产品标识
module 0 模块ID
title 需求标题 必填
pri 3 优先级 1-4
spec HTML格式描述 &lt;p&gt;&lt;span&gt;文本&lt;/span&gt;&lt;/p&gt;
status draft draft=草稿
category feature 分类
needNotReview 1 免评审
fileList [] 附件列表
type story 类型
grade 1 级别
files[] 空文件 必须存在(multipart要求)
uid 随机13位hex 文件上传标识

关键:必须包含 files[] 空文件字段,否则请求失败。

编辑接口

POST /story-edit-{storyID}-default-story.html?zin=1
Content-Type: multipart/form-data
Cookie: zentaosid={token}
X-Requested-With: XMLHttpRequest

表单字段与创建类似,额外字段:

字段 说明
stage 阶段(保留原值,如 projected)
comment 修改备注
estimate 预计工时

删除接口

DELETE /api.php/v1/stories/{storyID}
Token: {token}

响应:{&quot;message&quot;: &quot;success&quot;}

查询接口

GET /api.php/v1/stories/{storyID}
Token: {token}

示例对话

用户: 在禅道创建一个需求"章节分工功能"

AI:
1. 登录获取 token
2. 创建需求:title="章节分工功能", pri=3, status=draft
3. 查询获取需求ID
4. 返回:已创建需求 #168(草稿),链接:http://xxx/zentao/projectstory-view-168-45.html

用户: 把需求 #168 的优先级改为 1

AI:
1. 登录获取 token
2. 查询需求 #168 当前数据
3. 编辑:pri=1
4. 返回:编辑需求 #168 成功

用户: 删除需求 #167

AI:
1. 登录获取 token
2. 删除需求 #167
3. 返回:删除需求 #167 成功

文件结构

zentao-story-api/
├── SKILL.md                # 本文件
├── config.json             # 配置文件(需填写真实信息)
└── scripts/
    └── create_story_api.py  # 管理脚本(创建/编辑/删除/查询)

注意事项

  1. 认证方式:token 同时用于 cookie(内置接口)和请求头(REST API)
  2. 请求格式:创建和编辑必须用 multipart/form-data(因为有 files[] 字段)
  3. 空文件字段:files[] 必须存在但为空
  4. 项目关联:创建时 URL 中的 {project} 参数确保需求关联到项目
  5. 草稿状态:新建需求默认 status=draft
  6. 描述格式:描述必须用 HTML 格式(&lt;p&gt;&lt;span&gt;文本&lt;/span&gt;&lt;/p&gt;)
  7. 编辑合并:编辑时自动查询当前数据,未修改字段保留原值
  8. Token有效期:约2小时,批量操作无需重复获取
  9. 双向同步:需求文档中通过 (#ID) 标注禅道需求ID,创建新需求后自动回写ID到文档
  10. 需求文档规则:仅当用户确认功能OK并主动说明时,才更新需求文档
  11. 同步询问:更新需求文档后主动询问用户是否需要同步到禅道
  12. 创建接口选择:创建需求使用内置页面接口而非官方 RESTful API,原因是项目类型为【项目型】而非【产品型】时,创建项目需求池无需填写关联产品字段,但 RESTful API 中关联产品为必填,因此创建功能采用内置页面接口
  13. --desc-file 参数:当描述内容较长或包含HTML时,建议使用 --desc-file 从文件读取,避免命令行解析问题

AI 行为指南

当用户要求编写/更新需求文档时

  1. 先读取需求文档,了解当前内容和已有禅道ID标注
  2. 按文档现有格式和规范编写需求内容
  3. 更新文档后,主动询问:"需求文档已更新,是否需要同步到禅道?"
  4. 如用户确认同步,执行 sync 流程

当用户要求创建禅道需求时

  1. 检查需求文档中该功能是否已有禅道ID
  2. 如有ID → 提醒用户该需求已存在于禅道,询问是否编辑
  3. 如无ID → 创建需求,成功后自动回写ID到需求文档标题

当用户要求同步需求时

  1. 读取需求文档,解析所有功能及禅道ID标注
  2. 列出同步计划(哪些要创建、哪些要编辑)
  3. 确认后逐条执行,创建成功的自动回写ID

依赖要求

  • Python 3.7+
  • requests 库(pip install requests)

常见问题

5 问
答案由本站依据条目字段整理
禅道需求管理怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_b7f4a683/zentao-story-api。安装方式为未标注。装完刷新技能列表或重开客户端。

禅道需求管理支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

禅道需求管理权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

禅道需求管理收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

禅道需求管理用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。