gly-hub/ai-dandelion/technical-doc-builder
Claude Code and agent skill by gly-hub/ai-dandelion
- community
Checking that the SKILL.md file is still in the repository.
Build implementation-ready technical design documents for ai-dandelion func-operation features, including page layout, interaction flow, frontend modules, backend actions, manifest dataModels/relations/queries, states, validation, and WASM observability. Use when deriving implementation design from an applied product doc before code generation, when output must align with generated-app-builder contracts, or when writing to generated_apps documents with a completion tag.
Install
npx vskill@latest install gly-hub/ai-dandelion/technical-doc-builderSKILL.md
Technical Doc Builder
Purpose
Turn an applied product document into an implementation-ready technical design. Make all interaction, data, action, and file contracts explicit so code generation can implement without inventing the product. Stop before writing code or generated app files.
Authority Scope
This skill is only authorized to create or update the technical draft document specified by draft 文件.
Allowed:
- Read the applied product document from
documents/product/applied/product-doc.md. - Read generated-app-builder reference files such as
references/structure.mdandreferences/style-guide.mdfrom that skill when generated-app-builder is injected. - Write exactly one file:
generated_apps/<app-id>/documents/technical/draft/technical-doc.md, or the exactdraft 文件path from the prompt.
Forbidden:
- Do not modify product documents under
documents/product/. - Do not modify generated app code, frontend files, backend files,
manifest.json,backend.wasm, or platform source code. - Do not run build commands, regenerate WASM, edit config, edit proto files, or call backend APIs.
- Do not perform code repair even if the user asks in the technical conversation. Instead, describe the technical requirement and leave implementation to the generated-app/code generation session.
- Do not change applied technical docs directly; only the draft file may be written.
If a user request in the technical conversation asks for product scope changes, send it back to the product step. If it asks for code changes, capture the requirement in the technical contract only when appropriate, but do not edit code.
Func-Operation Prompt Contract
The frontend sends a short prompt like:
When you see this shape:
- Read the applied product document from the given path first.
- Use
TaskCreateandTaskUpdateto plan and execute the current request. The final task must be the technical-document completion action. - Read generated-app-builder
references/structure.mdandreferences/style-guide.mdwhen available; align the technical contract with both. - Before writing the document, decide whether implementation-critical facts are missing. If missing facts would change data models, actions, layout, validation, or generated-app contracts, use
AskUserQuestioninstead of writing the draft. - Draft the technical document strictly from the product doc and generated-app contracts; do not expand scope.
- Write the full document to the exact
draft 文件path only after the implementation contract is clear enough (overwrite if exists). - Reply with 1-3 sentence summary only; do not paste the full document in chat.
- Only after the complete draft is written, call
submit_technical_document_draftwith a concise summary. Never call it while waiting for clarification, blocked, or before the file is complete. - Never emit XML tags, bracketed completion markers, or text status tags in chat or in the document.
Document Storage
Hard Rules
- Read applied product doc before drafting.
- Read generated-app-builder structure and style references before drafting when they exist.
- No final code, generated files, or migration scripts.
- Sections 2, 4, and 8-16 must be concrete enough that
generated-app-buildercan implement without redesigning layout, structure, data models, action names, frontend states, visual style, or observability. - Overwrite draft with the latest complete document; never append partial content.
- Do not produce generic architecture prose. Every page, component, action, state, and table must map to the requested feature.
- Do not design a generated page that only renders document summaries, AI output, API notes, or implementation plans.
- If the repository has
doc/func-operation/interaction-design.md, follow its layout and workflow conventions for usage/design mode, preview behavior, recovery actions, and user-facing terminology. - Use the standard generated-app style guide when planning frontend layout. If available, refer to generated-app-builder
references/style-guide.mdfor visual tokens, component sizes, scoped CSS, and responsive behavior. - Use one stable action naming scheme across Section 4, Section 10, Section 11, and Section 12. Do not mix names such as
createBook,book_create, andcreatefor the same operation. - Define a concrete WASM logging contract in Section 16 for every backend action. It must identify the diagnostic markers, severity, permitted fields, and sensitive-field redaction needed for incident investigation.
- Do not leave placeholders such as
<business>,<entity>,待生成,根据情况, orTODOin the final technical document. - Do not write unresolved questions, "待确认问题", assumptions needing confirmation, or implementation TBDs into the final technical document. Clarify first, then produce a complete implementation contract.
Quality Bar
A good technical doc must let the next agent implement the app by following contracts rather than making product decisions. It must specify:
- Exact page layout and regions.
- Frontend component/module responsibilities.
- User actions, request payloads, response shapes, and state updates.
- Which actions are button-permission-controlled versus read-only defaults.
- Business data models, relations, and named query capabilities.
- Validation and error handling.
- Empty/loading/success/failure UI states.
- Standard visual style and CSS module responsibilities.
- Acceptance checks for the generated app.
Generated-App Handoff Contract
The technical document is the direct handoff to generated-app-builder. It must include a complete mapping across these layers:
| Layer | Must Define | Used By | |
|---|---|---|---|
| Product flow | Page, action, state, recovery path | frontend.js, frontend/ui.js | |
| Frontend action | Control, handler, API wrapper, state update | frontend.js, frontend/api.js, frontend/state.js | |
| Backend action | Action string, request, response, validation, data capability intent, permission mode | backend/main.go, handler files | |
| App Skill | Tool key, action, effect, flat fields, exposure and confirmation policy | manifest.json, Function Skill runtime | |
| Data schema | Entity, dataModel, relation, query, indexes, enum values | manifest.json, backend/models.go | |
| Style contract | Root class, namespace, components, responsive behavior | frontend/styles.js | |
| Observability | Per-action log markers, levels, permitted fields, redaction | backend/logger.go, handlers, runtime execution logs |
If non-critical details are absent, choose a conservative default and state the chosen behavior directly in the relevant section. If any row cannot be filled without changing scope or implementation contracts, ask the user before writing the draft. Do not leave implementation-critical gaps in Sections 8-16.
Required Structure
- 模块拆分
- 页面与组件设计
- 数据模型
- API 设计
- 状态流转与校验规则
- 异常与空状态处理
- 实施步骤
- 代码目录与文件清单(对接
generated-app-builder) - Manifest 与表结构约定
- 后端 Action 清单
- 前端模块拆分
- 前端交互流程与状态合同
- 样式规范与视觉一致性
- 验收与自检清单
- App Skill 契约
- 可观测性与 WASM 日志
Prefer actionable detail over abstract advice.
Required Output Template
Use this section shape in the generated technical document. The content can be concise, but each table must be complete enough for code generation.
Do not add a "待确认问题" section. If the document would need that section, stop and ask the user before writing the draft.
Section 1: 模块拆分
Split by runtime responsibility:
- Frontend UI modules.
- Frontend API/state modules.
- Backend action handlers.
- Data model and validation helpers.
Do not write broad layered architecture unless each module maps to files in Section 8.
Recommended table:
| 模块 | 文件 | 职责 | 依赖 |
|---|
Every file listed here must also appear in Section 8.
Section 2: 页面与组件设计
For every page or region, include:
- Layout: table/list/card/form/modal/detail/filter bar/action bar.
- Visible fields and field order.
- Primary and secondary buttons.
- Event behavior for each button.
- Responsive behavior for narrow screens.
- Loading, empty, error, and success states.
Use a concrete layout sketch:
Required table:
| 区域/组件 | 展示内容 | 用户操作 | 触发 action | 状态反馈 |
|---|
Rules:
- The first screen must show the main working view and primary action.
- List each modal or detail panel as its own component.
- Name buttons exactly as they should appear in the UI.
- Every
触发 actionmust exist in Section 4 and Section 10.
Section 3: 数据模型
Define logical entities before backend actions. Include field purpose, validation, and UI usage.
Example:
| 实体 | 字段 | UI 用途 | 校验 | |
|---|---|---|---|---|
| Book | title | 列表标题、表单必填项 | 必填,1-120 字 |
Required table:
| 实体 | 字段 | 类型语义 | UI 用途 | 校验 | 默认值 |
|---|
Rules:
- Use business names here, not physical table names.
- Include enum/status values and their display labels.
- Include whether fields appear in list, detail, form, filters, or badges.
- Keep fields compatible with manifest
dataModelsin Section 9.
Section 4: API 设计
Every API action must include:
- Action name string.
- Request shape.
- Response shape.
- Frontend caller.
- Backend handler.
- State update after success.
- Error handling shown to the user.
Use one envelope consistently:
Backend responses should use:
or, for lists:
Required table:
| Action | 触发场景 | Request data | Response | 成功后前端状态 | 失败展示 | 权限模式 |
|---|
权限模式 must be one of:
button_controlled: must be written intomanifest.actions, requirescontext.can(action)for button display, and requires backend button permission validation.read_default: must not be written intomanifest.actions; UI controls remain visible by default and backend falls back to menu-level access only.
Action naming rules:
- Use lower snake/camel-free simple names unless a domain prefix is needed:
list,detail,create,update,delete,change_status. - For multi-entity apps, prefix by entity:
student_list,class_list,department_list.
Permission rules:
- Any action that changes business state must be
button_controlled. - Read actions such as
*_list,*_detail,*_query,*_search,*_page,*_statsmust beread_defaultunless the product doc explicitly says otherwise. frontend/api.js, backend dispatch action names, andmanifest.actionsmust use exactly the same action keys.manifest.actionsmust be documented and generated as a JSON string array only, for example["class_create", "class_update"]; do not place label/mode objects intomanifest.actions.- Use exactly the same string in frontend API wrappers and backend dispatch.
- Do not use Chinese action strings.
Response rules:
- List actions return
rowsandtotal. - Detail/create/update/status actions return
data. - Delete/archive actions return
{ "success": true }or updateddata. - Failures return
success: falseand a user-readableerror.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingdata/user-skills/_system/.claude/skills/technical-doc-builder/SKILL.md
Popularity
- Repository stars
- 78
- Repository forks
- 10
- 7-day trend score
- 22
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 24 Sep 2026, a month ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/gly-hub/ai-dandelion/technical-doc-builder)