一键导入
writing-beautiful-code
当写代码前、给技术方案前,或讨论、审查、重构代码审美、代码是否干净、是否丑、是否优雅、是否简单优先、是否简单第一、代码/组件/函数/文件/模块该不该拆分、拆分价值与损失、是否过度防卫、是否过度抽象、是否像补丁堆叠,或用户明确要求提升代码审美、写出美丽代码时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
当写代码前、给技术方案前,或讨论、审查、重构代码审美、代码是否干净、是否丑、是否优雅、是否简单优先、是否简单第一、代码/组件/函数/文件/模块该不该拆分、拆分价值与损失、是否过度防卫、是否过度抽象、是否像补丁堆叠,或用户明确要求提升代码审美、写出美丽代码时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when implementing, refactoring, or designing source-level contracts in this repository, especially if a task touches frontend/backend i18n or user-facing copy, frontend base/display components, tool schemas, API/protocol parameters, shared contracts, compatibility paths, fallback-heavy logic, duplicate branches, weak abstractions, unclear file placement, ad-hoc helpers, or patch-style fixes that would turn into garbage code.
Create or update complete NextClaw lightweight apps, deciding whether the user needs a Panel App, a Service App, or a combined Panel + Service App. Use for NextClaw applets, small tools, dashboards, local file tools, AI-assisted UI tools, apps that may combine right-side UI with backend actions, or questions about what NextClaw/Panel apps can do and which app APIs/capabilities they can use.
当用户要求提交、收尾、统一 NPM 发布、GitHub release、changelog、release notes、版本更新说明、产品更新笔记、变更汇总,或担心并行会话导致发布内容靠记忆整理时使用。适用于需要进入用户可见发布说明的 NextClaw workspace 包变更、Changesets 聚合、AI 撰写版本更新笔记、可拉取结构化 release notes JSON,以及 update manifest releaseNotesUrl 闭环。
Use when building, verifying, or releasing NextClaw desktop installers, DMGs, update bundles, update manifests, or one-command desktop beta/stable release automation. Enforces the packaged update public key contract, the required verification commands, and the rule that raw electron-builder output is not enough.
当用户要求“发布 beta”“统一 beta 发版”“发一个新的 NPM beta 版本”“一键 beta release”或希望直接复用 NextClaw 的 beta 发布闭环时使用。适用于 nextclaw 及其相关 workspace 包的 beta 发布,也适用于需要同时闭合 npm registry 与 NPM runtime update channel 的场景。
Use when publishing NextClaw NPM packages or NPM runtime update channels, including beta/stable dist-tags, nextclaw@beta validation, runtime bundle manifests, packaged update public keys, and npm registry closure checks.
| name | writing-beautiful-code |
| description | 当写代码前、给技术方案前,或讨论、审查、重构代码审美、代码是否干净、是否丑、是否优雅、是否简单优先、是否简单第一、代码/组件/函数/文件/模块该不该拆分、拆分价值与损失、是否过度防卫、是否过度抽象、是否像补丁堆叠,或用户明确要求提升代码审美、写出美丽代码时使用。 |
universal-only:只沉淀任何项目都适用的通用代码审美原则;项目、框架、目录、工具链、命名体系或业务架构专属规则不进入这里。less-but-sharp:规则宁缺毋滥,必须简练,但要明确到能指导下一次判断。named-list-rules:规则用 Markdown 列表维护;每条规则必须有稳定英文 slug,不使用编号。visible-main-flow:美丽代码让真实业务流程直接可见,不靠一串小私有函数制造“做了很多事”的假象。boundary-only-defense:防御、兼容、解析和归一化只放在真实边界;内部协作者之间依赖明确 contract。catch-at-real-boundaries:只在真实错误边界捕获异常,例如请求入口、后台任务调度器、事件 listener 调用者或进程边界;不要给每个内部函数调用都补 try/catch 或 .catch(...)。脱离调用栈的异步任务也应由一个 owner 级错误归口承接,而不是在业务流程中散落 catch。no-alias-ladders:不要为一个新 contract 同时读取多套历史字段名、别名或猜测路径。兼容旧输入时,只能在真实迁移/适配边界做一次显式归一化,并写清删除条件;内部业务代码只读规范字段。types-tell-truth:类型应该表达事实,不用 as 把未知结构伪装成确定合同。semantic-responsibility-names:文件、class、函数和字段命名应语义化、无歧义、清晰简洁,并让读者能从名称识别其主要职责。defaults-have-owners:默认值必须属于拥有该策略的 owner,并在主流程或策略 owner 里显式出现。
Reader、parser、getter、helper 只能读取事实,不能把缺失值偷偷改成默认策略。single-fact-owner:一个事实只应有一个清晰 owner;不要用双写状态、重复缓存或多条并行链路表达同一件事。simplest-shape-first:先用能工作的最少概念、最少 owner、最少文件表达主流程;只有当局部逻辑已经出现真实重复、不变量、生命周期或稳定变化点时,才升级成新抽象。abstraction-necessity-check:新增任何抽象前,必须先问它是否必要,并同时写清它带来的好处和损失。好处不足以抵消新增名字、文件、跳转、参数合同和心智负担时,不新增。abstractions-pay-rent:抽象只有在减少真实复杂度、表达稳定语义或隔离真实变化点时才成立。split-pays-for-itself:拆分代码、组件、函数、文件或模块时,收益必须大于新增的名字、跳转、参数合同和心智负担。
split-by-change-reason:拆分依据是变化原因、生命周期、不变量和复用边界,不是行数、JSX 存在、函数数量或“看起来更分层”。
stable-object-shape:对象构造应直接呈现合同形状;不要用条件 spread 拼可选字段来隐藏对象形态变化。
undefined / null 或先建清晰局部值。undefined / null;问题是条件 spread 让对象形态变化藏进展开语法里。prefer-const:优先用 const 表达派生值;只有真实需要重新赋值的流程状态才用 let。若 let 只是为了跨分支拼结果,优先考虑用清晰表达式或有稳定语义的 helper 返回值。