6.8 KiB
6.8 KiB
Findings & Decisions
Requirements
- 把本次主题创作的经验、教训和方法写成一个本地 Skill。
- Skill 放在项目的
.codex/skills/下。 - 后续创建其他主题时能够直接触发和复用。
- 保留现有主题概念图、素材板、切片和研究产物,不做资产清理。
Research Findings
skill-creator要求从零创建 Skill 时必须使用init_skill.py,完成后运行quick_validate.py。- Skill frontmatter 只允许
name与description;触发条件必须完整写进 description。 agents/openai.yaml应包含display_name、25–64 字符的short_description,以及显式提到$create-cc-web-theme的default_prompt。- Skill 应采用渐进披露:SKILL.md 保留核心流程,案例教训与细节放进一层
references/,避免重复。 - 当前仓库存在大量主题相关未提交改动;本任务只能新增 Skill 和任务记录,不能覆盖其他改动。
- 现有主题资料已经形成完整证据链:归档源图、切片研究、提取脚本、输出 manifest、CSS 实现、专项回归和浏览器实测记录。未来主题应复用这条链,而不是只保留最终 PNG/CSS。
- 最初“源码和回归通过即完成”的判断导致视觉验收失败。主题任务的完成门槛必须包含与参考图逐项对照的真实浏览器截图/计算样式/几何测量。
- 参考图是构图契约,不只是配色灵感。背景主角安全区、侧栏宽度、内容中心、边框轻重、图标视觉主体和层级关系都需要先量化。
- 可伸缩输入框不能把固定比例完整边框图放在
::before上随容器拉伸;内容增高会导致框体偏移。最终有效方案是九宫格思路的border-image,让角、边和底部装饰分别承担职责。 - “CSS 数值已更透明”不代表视觉上真的透明。嵌套工具层、旧高优先级选择器与高 blur 都可能让气泡仍像实心块;必须检查 computed style、逐层背景和实际透景。
:is()使用最高参数 specificity,后追加的低特异性规则可能只覆盖backdrop-filter、覆盖不了背景色。遇到“改了没变化”时先查规则来源与 computed style,不要继续盲调数值。- 图标需要区分容器尺寸、源图规格、alpha 主体边界和光学中心。把所有 64px 原色 PNG 一刀切缩成 22px 会产生灰边、糊边和比例失衡;主交互控件更适合清理后的 mask,多色状态/头像保留原色切图。
- 欢迎页同时存在静态首屏与动态
buildWelcomeMarkup,任何结构或文案修改必须双路径同步,并用回归断言防止静态写死动态数据。 - 浏览器几何验收能快速识别“看着不正”:欢迎卡曾偏左约 147px,加入
margin: 0 auto后中心误差降至约 2px;图标也应以 alpha 重心而不是画布边界衡量。 - 主题资产必须保留源概念图、素材板、切片坐标和提取脚本;最终资产只是派生物,后续新增功能往往需要回到源板重新切片。
- 当前 cc-web 主题架构以
THEME_OPTIONS、html[data-theme]、首屏 bootstrap、语义变量、共享暗色 completion selector 和后置主题专属层组成;未来主题应沿用这条单源链路,不再造第二套设置列表或 body class。 - Wasteland 专项回归最终覆盖了主题注册、可见性、迁移策略、动态/静态 welcome、共享 selector、本地资产格式/尺寸/hash、manifest、响应式、reduced-motion、对比度、cache bust 和防远程 URL。Skill 的验收清单应保留这些类别,但不能硬编码 Wasteland 数值。
- 隔离前向测试使用完全不同的“海底生物机械”主题请求,子代理只依赖新 Skill 即识别出主题隔离、源资产归档、动态输入框、透明嵌套层、welcome 双路径和真实浏览器门禁,证明流程能够泛化。
- 当前提取脚本证明可复现资产流程应记录:源文件、裁剪框、源规格、检测框、输出画布和派生关系。阈值与坐标属于主题案例,不应固化为跨主题常量。
- 对非对称图标,按 alpha 加权重心校正比按画布中心更可靠;对可伸缩装饰框,应优先采用九宫格/border-image 或拆分稳定区域,禁止直接横纵拉伸整张构图。
Technical Decisions
| Decision | Rationale |
|---|---|
项目级 Skill 路径使用 .codex/skills/create-cc-web-theme/ |
用户明确指定,且便于随仓库复用 |
| 核心流程与案例参考分离 | 降低常驻上下文体积,同时保留本次主题的完整教训 |
| 将视觉验收作为强制门禁 | 本次多轮返工证明仅靠源码断言和回归通过无法保证与设计图一致 |
| 将“主题隔离、素材保留、动态内容、真实浏览器验证”写成硬约束 | 这些是本次最反复、代价最高的问题 |
| Skill references 至少拆分为“经验教训”和“验收清单” | 前者解释判断依据,后者为后续任务提供可执行门禁 |
| 复用现有提取脚本的方法,不把 Wasteland 坐标硬编码成通用脚本 | 不同主题素材板结构不同,错误自动化比手工确认成本更高 |
| Skill 不新增通用切片脚本 | 现有源板差异大;改为要求每个主题保存可重放的专用提取脚本和 manifest |
| Skill 使用 4 个单层 reference | 分别承载经验教训、资产方法、cc-web 架构和验收清单,避免 SKILL.md 膨胀 |
| Skill 结构验证已通过 | quick_validate、引用存在性、frontmatter 键和 openai.yaml mention 均符合规范 |
Issues Encountered
| Issue | Resolution |
|---|---|
初始把项目级 Skill 路径说成 .agents/skills |
用户纠正后立即切换到 .codex/skills,且未创建错误目录 |
| planning-with-files 检测到根级旧计划和其他活跃计划 | 使用 .planning/cc-web-theme-creation-skill/ 独立作用域,避免覆盖 |
Resources
.trellis/tasks/07-17-gilded-wasteland-theme/.trellis/tasks/07-17-gilded-wasteland-theme/research/extract_reference_chrome.pypublic/assets/themes/wasteland/public/style.csspublic/app.jspublic/index.htmlscripts/regression.js.codex/skills/planning-with-files//home/hdzx/.codex/skills/.system/skill-creator/
Visual/Browser Findings
- 视觉层的高频失败模式集中在:整体过暗、厚金边、全组件切角、图标缩放糊、边框重复、伪元素随内容错位、按钮光学不居中、气泡被嵌套层锁成实心、欢迎卡按参考构图左对齐而非画布居中。
- 有效验收至少覆盖桌面参考尺寸、常规桌面、窄屏三个视口,并记录横向溢出、主容器中心差、图标 alpha 重心、动态高度和 computed style。
- 参考图中的“磨砂”应通过真实背景细节是否可见判断;仅看
rgba()、blur()数值会误判。