Help the user write a structured technical design document following a standard template, then save it to the team's Yuque knowledge base for group review.
When to Use
- User wants to write a technical design document or RFC and save it to the group repo
- User says "help me write a tech design for the team library", "write a tech design for the team", "team tech design"
- User describes a feature/system and needs it formalized into a design doc for group review
Required MCP Tools
All tools are from the yuque-mcp server:
yuque_search— (Optional) Search for related existing docs for contextyuque_list_repos— Find the target group knowledge baseyuque_create_doc— Create the design document
Reference
The full template is in references/template.md. Load it when generating the document.
Workflow
Step 1: Understand the Requirements
Gather from the user:
| Field | Required | Description |
|---|---|---|
| Project/Feature Name | Yes | What is being designed |
| Background and Problem | Yes | Why this is needed, what problem it solves |
| Goals | Yes | What success looks like |
| Constraints | No | Technical constraints, timeline, budget |
| Existing Solutions | No | Any existing approaches or prior art |
| Team login (Group login) | Yes | The team's Yuque group login |
If the user provides a brief description, ask clarifying questions:
- "What problem should this feature solve?"
- "Are there any technical constraints? For example, must use a certain framework, or be compatible with existing systems?"
- "What is the expected timeline?"
If the user hasn't specified a group login, ask: "Please tell me your team's Yuque group login, and I'll save the tech design to the team knowledge base."
Step 2: (Optional) Search for Context
If relevant, search Yuque for related existing documents:
Tool: yuque_search
Parameters:
query: "<related keywords>"
type: "doc"
This helps:
- Avoid duplicating existing designs
- Reference prior decisions
- Understand the current architecture
Step 3: Generate the Design Document
Load the template from references/template.md and fill in each section based on the user's input and your technical analysis.
Key sections to fill:
- Background — Problem statement, current situation
- Goals — What this design achieves, non-goals
- Design — The core technical approach
- Architecture diagram description (describe in text/ASCII if needed)
- Core components and their responsibilities
- Data model / API design
- Key flows (sequence of operations)
- Tech Stack — Why specific technologies were chosen
- Alternatives — Other approaches considered and why they were rejected
- Timeline — Milestones and estimated effort
- Risks — What could go wrong and mitigation strategies
- References — Related docs, links, prior art
Step 4: Review with User
Present the draft to the user before saving. Ask:
- "Is the design content accurate? Is there anything that needs adjustment?"
- "Would you like to add other technical details?"
Step 5: Save to Team Yuque
Tool: yuque_list_repos
Parameters:
login: "<group_login>"
type: "group"
Find or ask for the target group repo (often "Tech Design" or "Design Doc" or "RFC").
Tool: yuque_create_doc
Parameters:
repo_id: "<namespace>" # e.g., "my-team/tech-docs"
title: "[技术方案] <项目名称>"
body: "<formatted design document>"
format: "markdown"
Step 6: Confirm
✅ 技术方案已创建(草稿状态)!
📄 **[[技术方案] 项目名称](文档链接)**
📚 已保存到:「团队知识库名称」
### 文档结构
- 背景与目标
- 方案设计(含 X 个核心模块)
- 技术选型对比
- 排期(预计 X 周)
- 风险评估(X 个风险点)
💡 文档为草稿状态,请团队评审后发布。
Guidelines
- Write the design doc in Chinese (default) unless the user specifies English
- Be specific in the design section — include data models, API signatures, flow descriptions
- For tech stack comparison, use a table with pros/cons
- Keep the document actionable — someone should be able to implement from this doc
- If the user's requirements are vague, make reasonable assumptions and note them clearly with "【Assumption】" markers
- Don't over-engineer — match the design complexity to the project scope
- Always end the confirmation with "Please publish after team review" — group designs need review
- This skill saves to group repos — for personal repos, use
personal-tech-design
Error Handling
| Situation | Action |
|---|---|
| User provides very vague requirements | Ask 2-3 targeted questions before generating |
yuque_search finds conflicting existing designs |
Mention them and ask user how to reconcile |
yuque_create_doc fails |
Show error, offer to output the markdown for manual copy |
| User wants to update an existing design doc | Use yuque_search to find it, then suggest creating a v2 or appendix |
| User wants to save to personal repo | Suggest using personal-tech-design skill instead |
| Group login not provided | Ask user for the team's group login |
| Team Token not configured | Inform user that group repos require a team-level Token |