baodan/.agents/skills/impeccable/reference/shape.md
wsb1224 e3479f0546 上线阻断问题全部修复
#	问题	修复	文件
1	前端构建失败(引号错误)	size="small type=" → size="small" type="	PosterHistoryPage.vue
2	migrate_014 ORM vs 缺失列	全部改为原始 SQL,不再引用 ORM 模型	migrate_014.py
3	cleanup 字段名错误	output_path → ppt_path	cleanup.py
4	文案生成 case 越权	添加 case.user_id != user_id 校验	poster/service.py
5	存储路径未接通持久化卷	全部改用 get_storage_root()(默认 /app/api/storage/insurance)	config.py, ppt/routes.py, poster/service.py, poster/tasks.py
高风险问题修复
#	问题	修复	文件
6	migrate_019 rollback 撤销成功字段	每个 ALTER 后立即 commit,失败只回滚当前语句	migrate_019.py
7	迁移锁 Windows 不兼容 + 句柄未持久化	全局变量保存锁句柄,支持 Windows msvcrt	api/insurance/db/__init__.py
8	PDF 校验异常时放行	异常返回 False(文件损坏)	security.py
9	健康检查始终返回成功	缺少关键资源时返回 503 + missing 列表	poster/routes.py
10	短密钥掩码泄露原值	≤4 字符返回 ****	ppt_admin_service.py
11	设置无键名白名单	添加 _ALLOWED_SETTING_KEYS 白名单	ppt_admin_service.py
12	容器重启任务永久 stuck	添加 recover_stale_tasks() 启动恢复函数	poster/tasks.py, ppt/parse_worker.py
2026-07-27 13:52:09 +08:00

3.5 KiB

Shape

Discover what should be made and how it should work, then return a confirmed design brief without code.

Phase 1: Discovery interview

Do not write code or choose visual direction yet.

Cadence

  • Use the structured question tool when available; otherwise ask and stop.
  • Ask two or three related questions per round, then wait. One round is the default; add a second only when the answers expose a material gap.
  • Do not dump a questionnaire, repeat settled facts, or turn obvious facts into menus. Assert the likely reading and invite correction.
  • A sparse prompt requires at least one answer round. A precise prompt may need only a compact confirmation.

Round 1: purpose, people, and outcome

Choose the two or three questions that most change the result:

  • What is this surface or feature for, and what problem must it solve?
  • Who specifically reaches it, in what situation and state of mind?
  • What is the primary thing they must understand or do? What would success look like?
  • What is uniquely true here that a neighboring product or generic template could not claim?

Round 2: material, behavior, and boundaries

Run only for material unresolved decisions:

  • What real content, evidence, data, and assets must the experience carry? What are realistic minimum, typical, and maximum ranges?
  • Which states and transitions matter: first-run, empty, loading, error, success, permissions, overflow, or expert use?
  • What is the intended fidelity, breadth, and interactivity: exploration, production-ready screen, full flow, or broader surface?
  • What must remain untouched? What would make the result feel wrong even if it looked polished?
  • Which platform, framework, performance, accessibility, localization, or delivery constraints are binding?

Never ask for CSS values or canned aesthetic lanes. New-work owns visual-world and concept choices.

Phase 2: Resolve the design direction

For new surfaces, brand expansion, or replacement, follow new-work.md through visual authority, any world workshop, and concept choice. Reuse discovery, then return before its contract, persistence, or implementation. Inside an established world, use its concept process only when composition or interaction remains materially open.

Phase 3: Write the brief

Write the smallest useful brief:

  1. Job and audience: who arrives, their context, need, and visitor mode.
  2. Outcome and proof: primary task/action, success, real evidence, and product-specific truth.
  3. Selected direction: visual authority, structural/interaction thesis, sequence, focal moment, and implementation consequence.
  4. Scope and boundaries: fidelity, breadth, interactivity, named target, what remains untouched, and explicit anti-goals.
  5. States and ranges: realistic content/data ranges and material states.
  6. Interaction and layout: hierarchy, topology, responsiveness, affordances, feedback, and transitions; intent, not CSS.
  7. Constraints and open decisions: platform, delivery, accessibility, localization, reusable components, and choices a builder must not invent.

Use three to five bullets when the task is settled; use the full structure only for ambiguous, multi-screen, or standalone planning. Do not restate the conversation.

Confirm and stop

Present the brief for explicit confirmation or one correction round, then stop: shape never writes code or a direction contract.

When no human or structured answer mechanism exists, mark assumptions plainly, return the brief, and stop.