official-hotkey-ingestion
Official Hotkey Ingestion
这个技能负责什么
- 将某个 App 的官方快捷键按当前项目数据库模型落库。
- 把整个流程固定成两段:先英文基线,再国际化。
- 始终先给计划与 SQL,再等用户确认执行。
进入任务后的第一步
先读取这些项目内信息,把它们当作当前仓库的真实约束:
CLAUDE.md:数据库表结构、字段语义、页面路由与构建约束src/i18n/config.ts:语言列表与id -> in的数据库映射references/source-discovery.md:如何定位官方来源references/output-template.md:计划输出骨架references/sql-rules.md:SQL 组织方式与执行前核对项
不可妥协的边界
- 只使用官方来源:官网、官方帮助中心、官方文档、官方发布说明、官方产品内帮助内容。
- 允许的输入只有三类:
- App 官网
- 一段产品介绍
- 只有 App 名称
- 如果用户只给 App 名称,先定位官方站点,再在官方域名内寻找快捷键资料。
- 如果官方文档存在
llms.txt,先读取它作为文档索引,再展开浏览。 - 绝不把第三方快捷键站、论坛帖子、社区回答当作快捷键事实来源。
- 绝不根据通用习惯、平台惯例、UI 猜测任何未被官方明确写出的按键。
- 若缺少官方快捷键依据,必须停止执行并明确说明“证据不足,不能安全入库”。
- 全程使用简体中文回复。
- 不改仓库业务代码;只有在用户确认后,才允许通过 PostgreSQL MCP 写数据库。
总流程
flowchart TD
A[收到 App 名称 / 官网 / 介绍] --> B[定位官方站点与官方文档]
B --> C{官方 docs 有 llms.txt?}
C -- 有 --> D[先读 llms.txt 建索引]
C -- 无 --> E[直接在官方域名内定位 shortcuts 页面]
D --> F[提取产品描述 图标 分类 快捷键 FAQ 素材]
E --> F
F --> G[阶段一:英文基线计划与 SQL]
G --> H{用户确认执行?}
H -- 否 --> I[继续修订英文计划]
H -- 是 --> J[PostgreSQL MCP 单事务写入英文基线]
J --> K{用户是否需要 i18n?}
K -- 否 --> L[输出英文阶段验收 SQL]
K -- 是 --> M[阶段二:i18n 计划与 SQL]
M --> N{用户确认执行?}
N -- 否 --> O[继续修订 i18n 计划]
N -- 是 --> P[PostgreSQL MCP 单事务写入 i18n]
P --> Q[输出最终手动验收 SQL]
阶段一:英文基线
- 确认权威来源,只保留官方页面。
- 识别应用主记录:
name、slug、website、author、description、icon_svg。 - 识别分类绑定,例如
Development、Terminal这类站内分类。 - 将严格快捷键写入
public.app_hotkey。 - 将方法说明、配置前提、输入模式等非严格快捷键写入
public.app_faq。 - 生成幂等 SQL。
- 按
references/output-template.md输出计划。 - 明确列出:
- 预期
app_hotkey行数 - FAQ 行数
- OS 分布
- 关键假设
- 官方依据链接
- 预期
- 等待用户确认后,再执行 SQL。
阶段二:国际化
- 只在英文基线已经存在后继续。
- 默认补齐数据库 locale:
zh、ja、ru、ar、de、fr、pt、in。 - 注意:当前项目里路由层
id对应数据库in。 - 默认策略:
app_i18n.name = NULL,保留英文品牌名回退app_i18n.description全量翻译app_hotkey_i18n.category/action全量翻译app_faq_i18n.question/answer全量翻译
- 翻译完成后:
- 若
humanizerskill 可用,用它润色description和 FAQ category与action保持短、稳、可扫描,不追求文学化
- 若
- 生成幂等 SQL,先给计划,等用户确认后再执行。
数据归类规则
- 写入
public.app_hotkey:- 官方明确给出的按键组合
- 官方明确当作输入触发符展示的单字符触发,例如
/、!、@、?
- 写入
public.app_faq:- 非严格键盘快捷键的方法说明
- 终端或编辑器前置设置
- 某快捷键为何可能无效的原因说明
- “直接粘贴”“进入某模式再输入”这类行为说明
- 分类优先沿用官方分节标题;如果必须归并,只做最小化归并。
- 只有在官方明确区分 OS 时才写平台差异;若官方明确说某绑定通用于多平台,才对适用平台展开,绝不脑补额外平台。
SQL 生成规则
- 所有写入必须放在单事务里:
BEGIN ... COMMIT。 - 优先用
WITHCTE 组织输入数据与 upsert 逻辑。 - 所有写入都必须幂等:
INSERT ... ON CONFLICT DO UPDATE- 或
ON CONFLICT DO NOTHING配合存在性判断
- 英文阶段至少覆盖:
public.apppublic.app_categorypublic.app_hotkeypublic.app_faq
- 国际化阶段至少覆盖:
public.app_i18npublic.app_hotkey_i18npublic.app_faq_i18n
- 大批量翻译映射优先使用
jsonb_each/jsonb_each_text展开。 slug、app.id、app_hotkey.id要尽量稳定、可读,方便重复执行和后续维护。- 如果 SQL 很长,计划里可以省略部分映射正文,但必须:
- 给出完整事务骨架
- 说明哪些长映射被省略
- 明确承诺“执行时使用完整 SQL,不遗漏任何映射”
- 真正调用 PostgreSQL MCP 时,必须发送完整无删节 SQL,不允许遗漏任何 locale、action、FAQ 或热键行。
图标与描述规则
description必须来自官方产品概述页或首页文案,必要时可做最小化摘写,但不要杜撰卖点。icon_svg优先使用官方站点里可直接复用的 SVG 标识。- 如果没有可安全复用的官方 SVG,不要私自重绘;应向用户说明并请求是否接受占位图标或稍后补充。
输出格式
- 信息不足时,只补最少的问题,优先确认官方站点与官方快捷键页面。
- 信息足够后,先输出“计划稿”,结构遵循
references/output-template.md。 - 规划超过 3 步时,计划里必须包含 Mermaid 流程图。
- 不要在未确认前直接写库。
- 执行完成后,只汇报:
- 是否成功
- 实际写入或覆盖的数量
- 手动验收 SQL
- 因证据不足而被排除的条目
典型触发
示例 1
用户:收录 Raycast 的快捷键,官网你自己找,只能用官方资料。
你应该:先定位 Raycast 官方站点和官方快捷键文档,输出英文基线计划与 SQL,确认后入库,再做 i18n。
示例 2
用户:这是官网 https://example.com ,把这个工具的 shortcuts 入库。
你应该:只在该官方域名及其官方 docs 域名内寻找权威页面,识别 hotkey 与 FAQ,先给计划再执行。
示例 3
用户:英文基线已经有了,补这个 app 的多语言快捷键翻译。
你应该:跳过英文阶段,直接生成 i18n 计划与 SQL,确认后用 PostgreSQL MCP 写入。
示例 4
用户:我只有应用名,叫 FooBar,帮我收录快捷键。
你应该:先定位 FooBar 的官方站点与官方文档;如果找不到官方快捷键页,就明确停止,不要猜。
More from story-has-you/skills
java-dev
Comprehensive Java development skill based on Alibaba Java Coding Guidelines (Songshan Edition). Use when writing, reviewing, or refactoring Java code to ensure compliance with industry best practices. Triggers on: (1) Writing new Java code (.java files), (2) Reviewing existing Java code, (3) Refactoring Java projects, (4) Database design with MySQL, (5) API design and implementation, (6) Unit testing, (7) Concurrent programming, (8) Security implementation, or any Java development tasks requiring adherence to coding standards.
39plan-mode
完整复刻 Claude Code Plan Mode 架构。增强版:强制代码落地 + 显式暂停询问机制。
23react-dev
MUST BE USED PROACTIVELY whenever writing React or TypeScript code. This agent provides authoritative guidance on architecture, component design, state management, and performance optimization, ensuring production-level scalability and maintainability. [Next.js stack specific]
18vue-dev
MUST BE USED PROACTIVELY whenever writing Vue 3 or TypeScript code. This agent provides authoritative guidance on Vue architecture, component design, state management, and performance optimization, ensuring production-level scalability and maintainability. [Vue 3 stack specific]
18code-simplifier
Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Focuses on recently modified code unless instructed otherwise.
17