
【免费下载链接】openpencilThe worlds first open-source AI-native vector design tool and the first to feature concurrent Agent Teams. Design-as-Code. Turn prompts into UI directly on the live canvas. A modern alternative to Pencil.项目地址https://gitcode.com/gh_mirrors/op/openpencil点击查看免费下载OpenPencil 的 AI 设计引擎内置了一套文案纪律——copywriting技能它用几条硬性字数约束把 AI 生成的界面文案压缩到可读、可信、可转化的密度。本文以 copywriting.md 为核心逐条拆解这些规则并深入 op-ai-skills 的 frontmatter 解析、意图匹配、预算裁剪管线说明这份知识包是如何被触发、被调度、被注入最终生成提示词的。读完你将掌握OpenPencil 中文案规则的确切边界、它们与 landing-page / anti-slop / text-rules 等技能的配合方式以及如何在get_design_prompt等工具中单独提取这套文案指南。一份 1000 token 的文案纪律知识包copywriting是 op-ai-skills 技能语料库crates/op-ai-skills/skills/中knowledge/子目录下的一份知识型技能。它的正文极短是典型的规则即技能设计——全部约束浓缩成几行COPYWRITING: - Headlines: 2-6 words. Subtitles: 1 sentence 15 words. - Feature titles: 2-4 words. Descriptions: 1 sentence 20 words. - Buttons: 1-3 words. Card text: 2 sentences. Stats: number 1-3 word label. - NEVER 3 sentence paragraphs. Distill to essence. Power words vague adjectives.这份正文由 YAML 风格的 frontmatter 元数据驱动先看它的完整头部--- name: copywriting description: Concise copywriting rules for design text content phase: [generation] trigger: keywords: [landing, marketing, hero, website, 官网, 首页, 产品页, copy, text, headline, content, 文案, 标题, 内容] priority: 40 budget: 1000 category: knowledge ---逐字段含义如下对应 frontmatter.rs 中parse_skill_frontmatter的解析逻辑见该文件 L189-L249字段取值工程含义namecopywriting技能唯一标识get_skill_by_name(copywriting)直接按此查找descriptionConcise copywriting rules for design text content技能语义说明phase[generation]仅在 generation生成阶段参与解析planning / validation / maintenance 不加载trigger13 个中英文关键词意图触发条件命中任一关键词即激活SkillTrigger::Keywordspriority40同类别技能内优先级排序数值越小越靠前budget1000单技能 token 上限超出会被裁剪Step 1 per-skill capcategoryknowledge预算填充中的最低优先级类别仅在预算有余量时加入注意 types.rs 中SkillCategory::from_str的解析knowledge映射为Knowledge未知或缺失则默认Domain。所以这份技能的类别是显式声明的——它在整个预算体系中属于锦上添花的一档。触发机制哪些设计意图会激活文案规则copywriting的触发词覆盖了营销向设计最常见的意图中英文各有一套英文landing、marketing、hero、website、copy、text、headline、content中文官网、首页、产品页、文案、标题、内容匹配语义由 resolver.rs 的match_keyword实现它复刻了 TS 版解析器的词边界语义ASCII 关键词按词边界匹配copy能命中 write the copy for this landing page但不会命中 copyright 这类包含子串的单词resolver.rs 有对应单测keyword_respects_word_boundaries。中文等非 ASCII 关键词退化为子串匹配文案命中 帮我写一段首页文案因为 CJK 没有空白词边界概念。触发是任一命中anymatch_trigger对Keywords使用.any()只要用户消息里出现 13 个词中的任何一个大小写不敏感技能就进入候选集resolver.rs。在 loader.rs 的测试中copywriting与role-definitions、cjk-typography一起被当作换行数组 / 块列表触发语法的回归用例——它的keywords数组把[放在下一行开头解析器必须正确处理这种续行格式否则技能会静默失效。从触发词的重合度可以看出copywriting与 landing-page.md触发词 landing/marketing/hero/homepage、anti-slop.md触发词 landing/website/marketing/homepage高度联动一份落地页生成请求往往会同时命中这三份技能分别贡献文案纪律、转化深度与反 AI 味。规则逐条拆解界面文案的六条硬约束copywriting的正文是给生成模型的指令用词精确、阈值明确。逐条拆解并给出实战含义1. Headlines: 2-6 words主标题 2-6 个单词主标题是页面第一屏的唯一焦点。2-6 词意味着要么是短促有力的价值主张要么是情感化的一句话。这与 landing-page.md 的标题强度层级Headline hierarchy直接呼应——该技能要求从强到弱排列transformationFinally feel in control of your inbox outcomeShip more content, grow your audience benefitWrite 10x faster featureAI-powered writing assistant并明确Lead the hero with transformation or outcome; benefit/feature only in supporting copy。两条规则叠加后的结论是主标题不仅要短还要落在强度层级的高位。2. Subtitles: 1 sentence 15 words副标题一句话、不超过 15 词副标题负责补全主标题的语境但只允许一句话。落地页的 hero 区在 landing-page.md 中定义为ONE headline (40-56) ONE subtitle (16-18) ONE CTA的结构即每个模块只有一个主标题、一个副标题、一个行动按钮——文案规则从字数上保证了这一点。3. Feature titles: 2-4 words. Descriptions: 1 sentence 20 words特性标题 2-4 词描述一句话不超过 20 词特性网格feature-grid里的每个卡片标题极短描述一句话封顶。20 词约等于一行半正文配合 text-rules.md 的排版约束Body 16-18px、正文行宽 50-75 字符正好能形成干净整齐的卡片网格。4. Buttons: 1-3 words按钮文案 1-3 词按钮是转化路径的终点文案必须是最小可行动的祈使短语如 Sign up、Get started、Book a demo。这与 role-definitions.md 的 button 角色默认值padding[12,24]、height44、cornerRadius8配合短文案能确保按钮在默认尺寸下不会溢出或换行。5. Card text: 2 sentences. Stats: number 1-3 word label卡片正文不超过两句统计数字 1-3 词标签卡片正文最多两句话统计数据必须是一个数字配一个极短标签如 12K users。后者与 landing-page.md 的stats-section原型3-4 个大数字 标签完全一致。6. NEVER 3 sentence paragraphs禁止三段以上长段落这是全篇唯一的绝对禁令NEVER。长段落会破坏界面节奏也与 landing-page 的节奏原则Alternate density: never stack two sections of similar weight互为表里——文案短视觉才能呼吸。7. Distill to essence. Power words vague adjectives提炼到本质力量词优先于含糊形容词Power words指具体、有画面感、能触发情绪反应的词vague adjectives指 great、nice、modern 这类空泛修饰。这条规则要求模型在措辞选择上做减法宁可 launch、grow、ship 这种动词也不用空洞的形容词堆砌。调度机制knowledge 类技能如何进入最终提示词copywriting的 category 是knowledge这决定了它在解析管线中的命运。整个解析由 resolve.rs 的resolve_skills入口驱动四步流水线与 lib.rs 的 crate 级文档描述一致phase filter只保留phase: [generation]的技能intent matchfilter_by_intent按触发词/标志过滤并按priority升序排序memory injection注入{{recentHistory}}等占位符generation 阶段自动填充近期生成历史budget trimtrim_by_budget_pinned按预算裁剪。关键的第四步在 budget.rs 中实现按类别分四段填充Step 1每个技能先按自己的budget封顶——copywriting的 1000 token 上限在这里生效内容超限会被截断到 1000 token 内Step 2Base类技能永远保留预算豁免Step 3Domain类技能按 (priority, relevance) 填充剩余预算Step 4Knowledge类技能只在预算还有余量时按相关性排序加入只跳过、永不截断。这意味着copywriting是有则加无则弃的尾段技能。在 generation 阶段默认 13500 token 预算见 types.rs 的default_budget与DEFAULT_BUDGETS下它通常能与landing-page、anti-slop、role-definitions一起进入最终提示词但若预算被高优先级技能占满它会是首批被BudgetExhausted标记丢弃的技能之一。另外budget.rs 有一条回归测试no_skill_silently_exceeds_its_own_budget遍历整个注册表断言每个技能的实际 token 数不超过自身budget——copywriting的正文约 150 字符估算约 40 token远低于 1000 上限因此永远走不到 Step 1 的截断分支。实际调用链从 MCP 工具到 orchestrator 编排copywriting的内容在两条路径上被消费路径一MCPget_design_prompt工具按需取段在 design_prompt.rs 中copywriting被列进PROMPT_SECTIONS的 30 个可查询分段之一。调用get_design_prompt工具并传sectioncopywriting时section_content直接返回skill_content(copywriting)见 design_prompt.rs即完整读取注册表中这份技能的全部正文——这也是外部 Agent 想单独获取OpenPencil 文案规范时的标准入口。路径二orchestrator 技能过滤按设备形态裁剪在 compact_skills.rs 的基础过滤中有一条针对移动屏的规则if is_mobile_screen (name landing-page || name copywriting || name anti-slop) { return false; }即移动端屏幕会整体丢弃copywriting——移动屏的文案天然更短、节奏更紧凑营销向的文案深度规则与移动端布局深度mobile-app 技能冲突因此被裁剪。对应的单测在 compact_skills.rsbase_filter_drops_landing_copy_antislop_on_mobile。此外该文件还提到copywriting不在 Basic 档模型的 ALLOWED 集合中compact_skills.rs 的测试注释。拼装层compose_system_prompt当需要把多个技能拼成一个系统提示词时compose.rs 的compose_system_prompt按名称顺序拼接内容超出字符预算时从尾部整体丢弃技能——因此调用方通常把copywriting放在列表靠前位置以保证其优先保留。拼装结果最终嵌入到设计 Agent 的工具循环提示词中成为get_guidelines之外另一条注入文案纪律的通道。实战把文案规则用进 AI 生成页面综合上述机制在 OpenPencil 里让 AI 产出有文案质量的页面可以遵循这套工作流先写文案再定布局这是 landing-page.md 明确要求的工作顺序Define the copy first, then design around it — words drive layout, not the reverse。在提示词中先给出主标题、副标题、CTA 的具体措辞再让模型围绕它们设计结构。让触发词自然命中在生成请求中使用landing、hero、文案、标题等词确保copywriting以及联动的 landing-page、anti-slop进入候选集。按模块核对六条规则生成结果可逐模块套用下表检查模块规则上限主标题 Headline2-6 words落在 transformation/outcome 层级6 词副标题 Subtitle一句话15 词特性标题 Feature title短语4 词特性描述 Description一句话20 词按钮 Button祈使短语3 词卡片正文 Card text短句2 句统计 Stats数字 短标签1-3 词标签任意段落禁止 3 句以上长段落—移动端注意裁剪若目标是手机屏375-812 等orchestrator 会主动丢弃copywriting文案约束改由移动端相关的设计原则兜底——不要期望移动屏提示词里出现这份技能。延伸阅读copywriting.md本文核心技能原文landing-page.md文案强度层级、hero 结构、转化节奏role-definitions.md语义角色系统与默认属性text-rules.md字号层级与换行规则anti-slop.md反 AI 味与跨生成多样性frontmatter.rsfrontmatter 解析实现resolver.rs关键词触发匹配语义budget.rs预算裁剪四步流程resolve.rs技能解析主入口design_prompt.rsMCP 按段取用文案技能compact_skills.rs移动屏/低档模型的技能裁剪赞分享【免费下载链接】openpencilThe worlds first open-source AI-native vector design tool and the first to feature concurrent Agent Teams. Design-as-Code. Turn prompts into UI directly on the live canvas. A modern alternative to Pencil.项目地址https://gitcode.com/gh_mirrors/op/openpencil点击查看免费下载相关推荐Lightdash AI Writeback 的跨仓库共享规则_shared.md 技能文件的机制、规则与实现拆解Lightdash AI Writeback 的跨仓库共享规则 _shared.md 技能文件的机制、规则与实现拆解 Lightdash 的 AI Write后端前端数据分析数据可视化人工智能AI AgentClawX 上下文压缩进度与边界规范keepRecentTokens0 下 OpenClaw 压缩行为的完整解析ClawX 上下文压缩进度与边界规范keepRecentTokens0 下 OpenClaw 压缩行为的完整解析 本篇文章围绕 ClawX 对 OpenCl人工智能AI 应用桌面应用交互助手caveman-shrink压缩 MCP/OpenAI 工具目录的 Token 工程——caveman 项目中 fail-open 与可逆压缩的设计拆解caveman shrink压缩 MCP/OpenAI 工具目录的 Token 工程——caveman 项目中 fail open 与可逆压缩的设计拆解 ca人工智能AI 应用AI 技能AI 插件LLMOps开发工具创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考