diff --git a/README.md b/README.md index 8767c58..0e01428 100644 --- a/README.md +++ b/README.md @@ -531,7 +531,8 @@ chek auth profile import dev-agent --file ./dev-agent.profile.json --activate ## 内置 Skills - [`skills/chek-setup/SKILL.md`](./skills/chek-setup/SKILL.md):帮助 OpenClaw 完成 CHEK CLI setup、浏览器授权、token 兜底和健康检查。 -- [`skills/chek-ai-product-sourcing/SKILL.md`](./skills/chek-ai-product-sourcing/SKILL.md):帮助 Agent 搜索、验证、分类、去重和整理 CHEK AI 产品候选,也能把用户录音、速记、截图和体验材料整理成评审房间内容。它只写本地文件或用户本轮指定的飞书/Lark 候选库,不硬编码默认候选库。 +- [`skills/formal-chinese-prd/SKILL.md`](./skills/formal-chinese-prd/SKILL.md):将零散材料、现有文档或实现证据整理为正式、可评审、可验收的中文产品需求说明书,并提供结构、视觉布局与自动检查规范。 +- [`skills/chek-ai-product-sourcing/SKILL.md`](./skills/chek-ai-product-sourcing/SKILL.md):帮助 Agent 搜索、验证、分类、去重和整理 CHEK AI 产品候选,也能把用户录音、速记、截图和体验材料整理成评审房间内容;用户明确指定 DEV 并授权执行时,还可按受控流程补充机器人、汽车、模型/方法、版本、封面和能力评测资料。它不硬编码默认候选库,也不会把候选整理静默升级成数据库写入。 - [`skills/chek-prod-ai-product-ops/SKILL.md`](./skills/chek-prod-ai-product-ops/SKILL.md):帮助 Agent 在生产环境执行正式 AI 产品评审房间提报、封面溯源、车型/机器人绑定、版本编辑提交、评测证据发布,以及长期智能汽车/机器人数据库维护;这个 skill 明确禁止 DEV/staging 操作。 ## 前端和证据辅助 @@ -611,7 +612,8 @@ CI 也会运行 `scripts/check_registry_drift.py --allow-missing-optional`。如 - `src/service.ts`:后台轮询、浏览器授权同步、mention task 处理、房间回复编排。 - `src/render.ts`:房间上下文压缩、intent 识别、直接回复和本地 prompt 构造。 - `skills/chek-setup/SKILL.md`:随仓库发布的 setup 和社区共建入口 skill。 -- `skills/chek-ai-product-sourcing/SKILL.md`:随仓库发布的 AI 产品候选 sourcing 和评测素材整理 skill。 +- `skills/formal-chinese-prd/SKILL.md`:随仓库发布的正式中文产品需求文档整理、评审与验收规范。 +- `skills/chek-ai-product-sourcing/SKILL.md`:随仓库发布的 AI 产品候选 sourcing、评测素材整理和显式授权 DEV 资料库增补 skill。 - `skills/chek-prod-ai-product-ops/SKILL.md`:随仓库发布的 prod-only AI 产品提报、评测证据发布和车型/机器人库维护 skill。 - `docs/bootstrap-message.md`:面向用户的一段式引导文案。 - `docs/device-code-auth.md`:浏览器授权链路和 fallback 规则。 diff --git a/skills/chek-ai-product-sourcing/SKILL.md b/skills/chek-ai-product-sourcing/SKILL.md index cfd54ba..dfd6a7d 100644 --- a/skills/chek-ai-product-sourcing/SKILL.md +++ b/skills/chek-ai-product-sourcing/SKILL.md @@ -1,6 +1,6 @@ --- name: chek-ai-product-sourcing -description: Source, verify, classify, and package CHEK AI product candidates for either local output or a user-specified Feishu/Lark candidate base, including optional Zhihu Developer on-site search evidence and user review-material processing. Use when the user asks to search for AI products, fill or update a CHEK candidate pool, apply monthly or quarterly release windows, assess domestic availability/borrowability, prepare fields for AI product submission, check duplicate product candidates, use developer.zhihu.com/Zhihu site search, turn recordings/transcripts/notes into user-friendly AI product reviews, or decide which candidates/reviews should be submitted later through the CHEK CLI. +description: Source, verify, classify, and package CHEK AI product candidates for local output, a user-specified Feishu/Lark candidate base, or an explicitly authorized CHEK DEV robot/vehicle/model enrichment run. Includes optional Zhihu Developer evidence and user review-material processing. Use when the user asks to search for AI products, maintain a candidate pool, enrich CHEK DEV robot/vehicle/model entries and versions, fill covers, deduplicate candidates, apply release windows, prepare formal submission fields, process review materials, or decide which candidates/reviews should be submitted later through the CHEK CLI. --- # CHEK AI Product Sourcing @@ -13,6 +13,8 @@ Read [references/candidate-base.md](references/candidate-base.md) before writing Read [references/zhihu-developer-search.md](references/zhihu-developer-search.md) before using `developer.zhihu.com`, the Zhihu search API, or Zhihu on-site search results as evidence. +Read [references/dev-library-enrichment.md](references/dev-library-enrichment.md) before reading or mutating the CHEK DEV robot, vehicle, benchmark-method, version, cover, or capability-evaluation library. + ## Operating Rules - Browse the web for current product facts, release dates, versions, prices, official pages, App Store listings, and availability. Prefer official product pages, App Store pages, manufacturer pages, store pages, and reputable media. @@ -24,6 +26,8 @@ Read [references/zhihu-developer-search.md](references/zhihu-developer-search.md - Do not publish user review material to a CHEK room unless the user explicitly confirms the target room or exact product tuple and authorizes posting. - Keep the Base simple. Do not add columns unless the user explicitly asks. - Deduplicate before writing. Check existing product names and, for final submission, also check product name + hardware model + software version. +- Treat a new main entity, a new hardware/config version, and an update to an existing entity as three different actions. Do not create a new main entity when the evidence only describes a version, SDK, delivery milestone, or configuration change. +- A newly created DEV robot, vehicle, or benchmark-method entry is incomplete until it has a verified CHEK-hosted cover or an explicit blocked reason. Keep the original cover source URL in the audit trail. - Be honest about domestic access. Do not say a product can be borrowed or tested unless a source supports that. Use `待渠道确认` or `待实测材料` when access is plausible but unproven. - For pure software products, hardware model may be empty, but software version must be specific. For hardware, cars, robots, and glasses, capture both hardware model and software/firmware/app/vehicle version whenever possible. - For user recordings, transcripts, or rough notes, preserve the user's actual experience while removing private information, license plates, phone numbers, exact addresses, account identifiers, and unrelated personal details. @@ -68,6 +72,12 @@ Read [references/zhihu-developer-search.md](references/zhihu-developer-search.md - For Feishu output, use `+data-query` for counts by `状态`, `类别`, and `统计时间窗口口径`. - State explicitly that CLI product submission has not been performed unless it actually has. +## Explicit DEV Library Enrichment + +Candidate sourcing and DEV library enrichment are separate modes. Enter DEV library enrichment only when the user explicitly names DEV and asks to create, update, enrich, approve, or backfill library records. Follow [references/dev-library-enrichment.md](references/dev-library-enrichment.md) for environment checks, duplicate resolution, entity/version decisions, cover upload, governed edits, capability-benchmark admission, and readback. + +Do not silently turn a candidate-pool request into a DEV mutation. Do not use this DEV mode for production. + ## Review Material To Room Workflow Use this workflow when the user wants Agent help turning a product test, voice memo, transcript, shorthand notes, screenshots, videos, or links into a CHEK review-room contribution. @@ -144,7 +154,7 @@ Use this checklist when the user asks whether anything is missing: - AI 健康应用: search independent apps plus platform entrances and mini-programs: 百度健康, 支付宝健康, 微信生态, AI+真人, 家庭医生, 报告解读, 症状自查, 免责声明. - 其他消费级 AI 产品: search AI glasses, AI recorder cards, AI recorder pens, wearable assistants, cameras, creator tools, video/image apps, phone-vendor ecosystem hardware. -## Final Submission Boundary +## Production Formal Submission Boundary Candidate sourcing and formal product submission are separate phases. diff --git a/skills/chek-ai-product-sourcing/agents/openai.yaml b/skills/chek-ai-product-sourcing/agents/openai.yaml index 0a5e946..a9ca6fc 100644 --- a/skills/chek-ai-product-sourcing/agents/openai.yaml +++ b/skills/chek-ai-product-sourcing/agents/openai.yaml @@ -1,4 +1,4 @@ interface: display_name: "CHEK AI Product Sourcing" - short_description: "维护 AI 产品候选、知乎证据、评测素材整理与本地/飞书输出" - default_prompt: "Use $chek-ai-product-sourcing to source AI product candidates, enrich them with official and Zhihu Developer evidence, process user recordings/transcripts into review-room drafts, and mark P0/P1 evidence-collection tasks in local or user-specified Feishu output." + short_description: "维护 AI 产品候选,并按授权丰富 CHEK DEV 机器人、汽车和模型资料库" + default_prompt: "Use $chek-ai-product-sourcing to source and deduplicate AI product candidates, enrich them with official evidence and verified covers, and, only when explicitly authorized for DEV, create or update CHEK robot, vehicle, model/method, version, and capability-evaluation records with governed readback." diff --git a/skills/chek-ai-product-sourcing/references/dev-library-enrichment.md b/skills/chek-ai-product-sourcing/references/dev-library-enrichment.md new file mode 100644 index 0000000..0b09af0 --- /dev/null +++ b/skills/chek-ai-product-sourcing/references/dev-library-enrichment.md @@ -0,0 +1,94 @@ +# CHEK DEV Library Enrichment + +## Scope And Environment + +Use this workflow only when the user explicitly asks to enrich the CHEK DEV robot, vehicle, model/method, version, cover, or capability-evaluation database. + +Before any read or write: + +```bash +chek --json config show +chek auth status --check +``` + +Require `env=dev` and `api_origin=https://api-dev.chekkk.com`. Stop if the target is production or ambiguous. Never print access tokens, cookies, Authorization headers, or used SMS codes. + +## Evidence Package + +For every proposed create or update, capture: + +- canonical name, brand/owner, category, entry type, and aliases; +- event and date, with the change classified as main entity, hardware/config version, SDK/model/firmware version, delivery/production fact, or onsite showcase; +- exact source-backed facts and precise missing evidence; +- official product, release, paper, repository, or conference URLs; +- domestic access status and confidence; +- official cover page/image candidates; +- suggested action: `create`, `update`, `create_version`, `link_method`, `pending`, or `skip`. + +Use discovery sites only to find leads. Resolve final fields and cover provenance to official pages, papers, conference organizers, regulatory sources, or reputable original reporting. Do not expose an intermediary discovery site as the factual source when primary evidence is available. + +## Mandatory Duplicate Resolution + +Before creating anything, query DEV by canonical name, normalized punctuation/case, brand, model code, and every known alias. Inspect the detail and version list of plausible matches. + +Use this decision order: + +1. Same real product and same generation: update the existing main entity. +2. Same product family but a distinct SKU, hardware generation, or experimental configuration: create or update a version/variant under the existing main entity when the schema supports it. +3. Same string but a different owner, embodiment, or method: keep separate entities and record disambiguating aliases/owner. +4. SDK, firmware, foundation model, delivery milestone, or showcase only: update the related entity/version/fact; do not create a physical robot. +5. Benchmark model/method with independent evaluation identity: use `entryType=benchmark_method`. It may appear as a robot-like leaderboard subject in the product UI, but must not be mislabeled as physical hardware. + +Record the matched entity ID for every update and the negative search evidence for every create. Re-run the duplicate lookup immediately before submission. + +## Main Entry And Version Completeness + +For a physical robot or vehicle, separate stable identity from versioned configuration: + +- Main entry: canonical name, aliases, brand, category, description, market status, official URL, cover. +- Version/config: hardware SKU, dimensions/specs, controller/compute, firmware, SDK, model version, release date, source snapshot. +- Market changes: production, delivery, preorder, or sales facts with exact scope; never assign company-wide totals to one model without evidence. +- Onsite appearance: store as an event/evidence fact unless the event is the actual first public release. + +Enrich an existing record when new evidence fills previously empty parameters. Do not limit a run to creating missing entries. + +## Cover Completion Gate + +Every newly created main entry must finish with a verified cover. Existing entries with external-only or dead covers should be migrated when they are in scope. + +1. Prefer an official product hero, official announcement image, official conference exhibit image, paper/project visual for a benchmark method, or reputable original reporting when no official usable image exists. +2. Visually confirm the exact model. Reject wrong-generation images, generic brand photos, group shots where the subject is unclear, unrelated robots, logos alone, watermarks, and synthetic replacements for a real product. +3. Upload the local image with `chek media +upload-cover`, preserving the original source URL and a readable asset title. +4. Store the returned `https://img.chekkk.com/...` URL through a governed edit. Keep the original source URL in the media metadata and edit description/evidence. +5. Approve only when the user authorized approval. Read back the entity and verify the saved cover uses the CHEK media domain. +6. Poll the media URL until it returns HTTP 200. Object storage may briefly return 404 after a successful upload; do not declare failure or success from the first request alone. If it never becomes available, re-upload and replace the edit. + +## Capability Evaluation Admission + +Do not put every discovered standard into the public capability leaderboard. Keep three states: candidate registry, governed definition, and formally published leaderboard. + +A definition may enter the governed library when it has a public protocol, stable version, task/dataset description, metric and ranking direction, environment/embodiment scope, aggregation rule, required trials, and evidence requirements. + +A definition may enter the formal capability leaderboard only when all of these gates pass: + +- at least 10 distinct comparable subjects from at least 5 independent organizations under the same protocol partition; +- every ranked result identifies the exact method/robot configuration, protocol version, environment, metric, and source; +- trial count or the protocol's required sample basis is present; do not infer counts from percentages; +- one common primary metric with an explicit ascending/descending direction; no cross-project total score; +- reproducible official, paper, or independently verifiable evidence, with fixtures and illustrative demos excluded; +- no mixture of simulation and real-world results, seen and unseen settings, or materially different hardware scopes in one rank partition. + +Definitions below this threshold remain visible only in the evaluation library or candidate queue. Paper-specific real-robot protocols may be stored and shown on entity details as evidence without becoming a public cross-subject leaderboard. + +## Governed Write And Readback + +Prefer edit submissions over direct writes. Use CLI schema/route discovery and `--dry-run` before unfamiliar mutations. For each batch: + +1. submit the smallest entity/version/fact/cover diff; +2. record submission IDs and status; +3. approve only with explicit authority and after reading before/after snapshots; +4. read back entity detail and versions; +5. verify source URLs, cover HTTP status, entry type, identity, and changed fields; +6. re-run duplicate search and report zero unintended duplicates. + +Final reporting must distinguish created main entries, created versions, enriched existing entries, pending evidence, skipped duplicates, covers completed, approvals performed, and failed readbacks. diff --git a/skills/chek-prod-ai-product-ops/SKILL.md b/skills/chek-prod-ai-product-ops/SKILL.md index 640140f..f79e2d0 100644 --- a/skills/chek-prod-ai-product-ops/SKILL.md +++ b/skills/chek-prod-ai-product-ops/SKILL.md @@ -57,6 +57,8 @@ Read [references/vehicle-database-maintenance.md](references/vehicle-database-ma - Maintain vehicle profile, model/trim identity, hardware/software version lists, raw parameters, intelligent-driving capability facts, and evidence quality. - Prefer edit submissions over direct writes unless the CLI command is explicitly a governed admin action. - Keep leaderboard support explainable: sales or delivery facts for sales ranking, community rooms for heat ranking, open-source resources plus room activity for open-source ranking, and source-backed vehicle metrics for car rankings. + - Treat duplicate resolution and cover completion as release gates for a new main entity. Preserve the original cover source and verify the CHEK-hosted asset after writeback. + - Do not publish every discovered evaluation standard as a capability leaderboard. Apply the formal admission gates in the robot maintenance reference; keep sub-threshold standards in the evaluation library or evidence queue. 7. **User material extraction** - Accept user-supplied PDFs, screenshots, photos, spreadsheets, release notes, spec sheets, test notes, transcripts, or links. @@ -115,6 +117,7 @@ Avoid titles like `资料整理`, `榜单支撑`, `开源材料`, `2026-xx-xx - Use official pages, product pages, release notes, app stores, manufacturer media, store pages, GitHub repos, papers, trusted media, and first-hand test evidence. - Use Zhihu Developer search as Chinese discussion/evaluation evidence, not as the sole source for release date, version, availability, or sales facts. - For cover images, record both the CHEK media URL and the original web source URL. +- Reject a cover if it shows the wrong model/generation, an unclear group scene, an unrelated robot/vehicle, a logo-only placeholder, or a method-to-hardware mismatch. Poll the CHEK media URL to HTTP 200 before closing the operation. - For sales facts, record month, units, confidence, source title, source URL, and whether the source is official, channel estimate, or media/reporting. - For open-source resources, record resource type, platform, URL, repo name if applicable, stars/forks if available, version linkage, confidence, and source date. diff --git a/skills/chek-prod-ai-product-ops/references/prod-cli-runbook.md b/skills/chek-prod-ai-product-ops/references/prod-cli-runbook.md index b757433..d76d86f 100644 --- a/skills/chek-prod-ai-product-ops/references/prod-cli-runbook.md +++ b/skills/chek-prod-ai-product-ops/references/prod-cli-runbook.md @@ -86,6 +86,10 @@ Upload to CHEK prod media. If the generated `backend-app media images` command c - local downloaded file path until upload verification; - CHEK media URL returned by prod. +After upload, poll the returned URL until it serves HTTP 200. Object storage/CDN propagation may briefly return 404. Do not approve or publish a record with a URL that has not passed readback, and do not mistake one early 404 for a permanent failure. + +For robot, vehicle, and benchmark-method covers, visually verify the exact identity. A paper/project figure is appropriate for a method; it must not be presented as a physical robot cover. Reject wrong generations, ambiguous group shots, logo-only placeholders, and unrelated product imagery. + Do not use DEV media URLs for prod room covers. ## Robot And Vehicle Version Sync diff --git a/skills/chek-prod-ai-product-ops/references/robot-database-maintenance.md b/skills/chek-prod-ai-product-ops/references/robot-database-maintenance.md index 5321220..a26baa1 100644 --- a/skills/chek-prod-ai-product-ops/references/robot-database-maintenance.md +++ b/skills/chek-prod-ai-product-ops/references/robot-database-maintenance.md @@ -67,6 +67,40 @@ Create a config version when a review room targets a new real hardware/software Do not overwrite an old version when the product has materially changed. Add a new version or a dated re-review package. +## Duplicate And Entity-Type Gate + +Search canonical name, owner/brand, normalized model code, and aliases before a create and again immediately before approval. Read plausible matches and their version lists. + +- Update the existing main entity for the same real product and generation. +- Use a config version/variant for a distinct SKU, generation, SDK, firmware, or experimental hardware scope when the schema supports it. +- Keep same-name products from different owners separate. +- Store an independently evaluated model/method as `benchmark_method`, not as physical hardware. It may be presented as a leaderboard subject but must retain its method identity. +- Do not create a new physical robot for a delivery milestone, showcase, SDK, foundation-model release, or component unless it is independently modeled by the schema. + +## Cover Completion Gate + +A new main entry is not complete without a verified cover or an explicit blocked reason. + +- Prefer official product heroes, official release images, official conference exhibit images, or reputable original reporting. For `benchmark_method`, use the paper/project visual rather than an unrelated robot photo. +- Visually verify the exact model and generation. Reject ambiguous group shots, wrong variants, logo-only placeholders, watermarks, and generated substitutes for real products. +- Upload through CHEK media, preserve the original source URL, and store the returned CHEK media URL through governed edits. +- Read back the robot and poll the media URL until it returns HTTP 200. A successful upload response alone is not completion because object storage may propagate asynchronously. + +## Capability Leaderboard Admission + +Do not expose every stored evaluation definition as a formal capability leaderboard. Maintain candidate, governed-definition, and formal-published states. + +Formal publication requires all of the following: + +- at least 10 distinct comparable subjects from at least 5 independent organizations in the same protocol partition; +- a public stable protocol/version, task or dataset definition, environment and embodiment scope, aggregation rule, required trials, and evidence requirements; +- exact subject/config identity, metric, unit, ranking direction, source, and trial/sample basis for every ranked result; +- a common primary metric and no cross-benchmark aggregate score; +- independently checkable official or paper evidence; fixtures and illustrative demos are excluded; +- separate partitions for simulation versus real world, seen versus unseen, and materially different hardware scopes. + +Sub-threshold or paper-specific real-robot evaluations may remain in the evaluation library and appear as evidence on an entity detail page, but must not be promoted as a public cross-subject rank. Never infer trial counts from percentages. + ## Sales Facts Sales leaderboard support should come from `salesFacts` and `leaderboardMetrics.sales`, not from vague popularity claims. @@ -143,6 +177,7 @@ Before submitting an edit: - Confirm the fact belongs to the robot and version, not just the brand. - Use source-backed uncertainty instead of overclaiming. - Keep notes concise and audit-friendly. +- Confirm a new entry has a verified cover plan and no unresolved duplicate match. Before approving an edit: @@ -150,6 +185,7 @@ Before approving an edit: - Confirm no product/version identity mismatch. - Confirm no DEV room/media/source URL is referenced. - Confirm the submitted evidence is production-safe and user-readable. +- Confirm the saved cover uses a production CHEK media URL, the original source is retained, and the asset returns HTTP 200. ## Reporting Format diff --git a/skills/chek-prod-ai-product-ops/references/vehicle-database-maintenance.md b/skills/chek-prod-ai-product-ops/references/vehicle-database-maintenance.md index abeef2a..98b8f23 100644 --- a/skills/chek-prod-ai-product-ops/references/vehicle-database-maintenance.md +++ b/skills/chek-prod-ai-product-ops/references/vehicle-database-maintenance.md @@ -68,6 +68,17 @@ Create or update a version record when a room or ranking refers to a new real ha If the main vehicle entity is missing, do not publish an unbound formal AI product room. Create a missing-main-entry task with source evidence and ask for the governed creation path. +## Duplicate And Cover Gate + +Before creating a vehicle main entry, search canonical model, brand/series, model year, trim, aliases, and known supplier naming. A new trim, model year, intelligent-driving package, OTA, SDK, or delivery event normally updates the existing vehicle/version structure rather than creating another main entry. + +Every new main entry must have a verified cover or an explicit blocked reason: + +- prefer the exact official model/trim hero or official launch image; +- reject wrong model years, concept cars presented as production cars, group scenes with unclear subject, logos, watermarks, and unrelated supplier imagery; +- upload to CHEK media, preserve the original cover source, read back the vehicle, and poll the asset to HTTP 200 before closing; +- migrate in-scope external-only or dead covers to CHEK-hosted assets. + ## Evidence Standards Use official and high-confidence sources first: @@ -109,6 +120,7 @@ Before submitting an edit: - Confirm the source is current and reachable. - Preserve uncertainty with confidence notes instead of guessing. - Redact personal data, license plates, VINs, phone numbers, exact home/work locations, and private account information from user materials. +- Confirm the exact vehicle/trim has no unresolved duplicate and has a verified cover plan when creating a main entry. Before approving an edit: diff --git a/skills/formal-chinese-prd/SKILL.md b/skills/formal-chinese-prd/SKILL.md new file mode 100644 index 0000000..a86dcb5 --- /dev/null +++ b/skills/formal-chinese-prd/SKILL.md @@ -0,0 +1,85 @@ +--- +name: formal-chinese-prd +description: Create or thoroughly rewrite Chinese product requirement documents for formal review and reporting. Use when source material is verbose, AI-sounding, implementation-centric, or needs a clear product structure, testable requirements, business diagrams, interface prototypes, and acceptance criteria. Do not use for technical design specifications or repository documentation unless the user explicitly asks to translate them into product behavior. +--- + +# 正式中文产品需求文档 + +将零散材料、现有文档或实现证据整理为可供产品、业务、设计、测试和管理人员直接评审的中文产品需求说明书。 + +## 交付标准 + +- 先说明产品对象、业务边界、流程和验收依据,再展开功能细节。 +- 使用正式、简洁、可核验的中文;删除宣传语、过渡废话、写作过程说明和模板化 AI 表达。 +- 只写用户可感知的产品行为、业务规则、状态、责任和验收结果。 +- 不在产品文档中暴露代码仓库、文件路径、技术栈、内部接口、数据库结构或当前实现方式。 +- 区分已确认事实、目标需求和待决策事项。缺少依据时不得补造精确阈值或产品承诺。 +- 功能需求以“编号|优先级|需求|验收要点”表达,一条需求只承载一个主要能力。 +- 图表必须承担明确的信息任务,并与正文中的范围、状态和流程保持一致。 + +## 工作流程 + +1. 阅读用户提供的文档、材料和必要证据,建立术语、角色、业务对象、流程、范围和约束清单。 +2. 将实现证据转译为产品行为。仓库或代码可以用于核实事实,不得直接进入正文。 +3. 标记信息性质: + - 已确认事实:直接陈述; + - 目标需求:使用“应、须、必须、不得、支持、可以”; + - 待决策事项:单独列出,说明影响和需要确认的主体。 +4. 选择合适的章节,不机械保留空章节。材料较少时至少覆盖产品概述、目标与范围、角色、核心流程、功能需求、必要的数据或状态规则、验收和待决策事项;证据不足的章节直接省略。完整文档优先采用 [document-structure.md](references/document-structure.md);新建文档可复制 [prd-template.md](assets/prd-template.md) 后填充。 +5. 按 [formal-prd-style.md](references/formal-prd-style.md) 重写。段首先给结论,同一术语全文保持一致。 +6. 编写需求表。需求列描述产品行为,验收列描述可观察结果、阻断条件、输出或规范依据,禁止互相复述。 +7. 需要图示时按 [visual-and-layout.md](references/visual-and-layout.md) 制作产品全景图、PlantUML 核心流程图和必要的界面原型。 +8. 交付前运行自动检查,并按 [review-checklist.md](references/review-checklist.md) 完成人工复核。 + +## 表达约束 + +避免下列写法: + +- “一句话说明”“一句话概述”等不正式标题; +- “不是……而是……”“不等于……”“而非……”等模板化对比句; +- “下面将介绍”“综上所述”“值得注意的是”等写作过程或过渡套话; +- “一站式、赋能、打通、闭环、抓手、领先、强大、无缝”等宣传词和项目黑话; +- “根据仓库分析”“当前代码已经实现”等面向作者或研发过程的说明。 + +将对比句改为直接定义,将抽象价值改为可观察结果。例如: + +- 将“打通全链路形成高效闭环”改为“每个样本的状态、责任人和交付凭证均可查询”。 +- 将“系统支持失败重试”改为“网络恢复后继续未完成的上传;平台已确认接收的内容不得重复提交”。 +- 将“后台采用任务队列执行处理”改为“处理任务在统一列表中管理,并显示等待、运行、暂停、失败和完成状态”。 + +## 需求强度 + +| 用词 | 使用场景 | +| --- | --- | +| 必须、须、不得、仅在……后方可 | 安全、权限、质量门槛、数据一致性和交付准入 | +| 应 | 正常情况下必须满足、但可能由适用范围限定的产品行为 | +| 支持、可以、允许 | 用户能力或可配置能力,必须补充适用条件和验收结果 | +| 建议、可选 | 非承诺性指导,不得混入 P0 验收条件 | + +明确区分“处理完成、自动检查通过、审批通过、已冻结、已上传、平台验收通过、已完成”。状态不得合并,也不得只凭页面文案判定完成。 + +## 图表与原型 + +- 产品全景图回答产品覆盖范围、主要阶段、产品形态和核心价值。 +- 核心业务流程默认使用 PlantUML,保留 `.puml` 源文件并转换为同名 `.png` 后插入文档。 +- 流程图必须显示正常路径、判断条件、失败回退、重新审批、版本冻结和最终凭证;回退箭头落到实际需要重做的步骤。 +- 界面原型用于说明信息层级和关键交互,不得宣称为现有界面或已经交付的能力。 +- 界面采用浅色、克制、信息优先的工业软件风格。参考 CVAT 时只借鉴媒体工作台的信息结构,不复制品牌、截图、CSS、图标组合或产品术语。 +- 文档包含本地处理等独立工作区时,应为其提供对应原型,避免只描述而无界面证据。 +- 图中导航高亮、任务状态、进度、按钮和检查结论必须一致;进行中的检查不得同时显示最终通过报告。 + +## 自动检查 + +在技能目录下运行: + +```bash +python scripts/check_prd.py /absolute/or/relative/path/to/document.md +``` + +`ERROR` 必须修正;`WARN` 必须人工确认。正式交付前使用 `--strict` 将警告也作为失败处理: + +```bash +python scripts/check_prd.py document.md --strict +``` + +脚本只负责可确定的结构、链接和表达检查,不能替代事实核验、范围决策、流程判断或视觉审查。 diff --git a/skills/formal-chinese-prd/agents/openai.yaml b/skills/formal-chinese-prd/agents/openai.yaml new file mode 100644 index 0000000..a81486d --- /dev/null +++ b/skills/formal-chinese-prd/agents/openai.yaml @@ -0,0 +1,4 @@ +interface: + display_name: "正式中文产品需求文档" + short_description: "编写和重构适合正式评审的中文产品需求说明书,并完成图表与质量校验" + default_prompt: "使用 $formal-chinese-prd 将这份材料整理为简洁、正式、可评审的中文产品需求说明书。" diff --git a/skills/formal-chinese-prd/assets/prd-template.md b/skills/formal-chinese-prd/assets/prd-template.md new file mode 100644 index 0000000..ef2d5dd --- /dev/null +++ b/skills/formal-chinese-prd/assets/prd-template.md @@ -0,0 +1,174 @@ +# {{产品名称}}产品需求说明书 + +> 文档版本:{{版本}} +> 文档状态:{{状态}} +> 更新日期:{{日期}} +> 适用范围:{{产品形态与业务范围}} + +{{用一段话说明文档目的及不包含的管理内容}} + +## 1. 产品概述 + +### 1.1 产品定义 + +{{说明目标用户、核心作业对象、业务环节和最终结果}} + + + +