documentation by epicenterhq/epicenter
npx skills add https://github.com/epicenterhq/epicenter --skill documentation遵循 writing-voice 的语调。
文档解释的是为什么,而不是是什么。用户可以阅读代码来了解其功能。他们需要你解释背后的原因。
在以下情况下使用此模式:
README.md 文件,说明架构意图。主要职责:解释为什么存在这个文件夹以及其心智模型。
ls 命令的输出)# 转换器
将字段模式转换为特定格式的表示。
```
┌─────────────┐ ┌──────────────┐
│ 字段模式 │────▶│ to-arktype │────▶ 运行时验证
└─────────────┘ ├──────────────┤
│ to-drizzle │────▶ SQLite 列
└──────────────┘
```
字段模式是带有 `x-component` 提示的纯 JSON Schema 对象。每个转换器接收相同的输入,并为特定的消费者生成输出。
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
# 转换器
- `to-arktype.ts` - 转换为 ArkType
- `to-drizzle.ts` - 转换为 Drizzle
- `index.ts` - 导出
差的示例只是列出了文件,没有解释模式或何时添加新的转换器。
JSDoc 解释何时以及为什么使用某个东西,而不仅仅是它做什么。
/**
* 以数组形式获取所有表辅助工具。
*
* 适用于需要遍历所有表的提供程序和索引。
* 仅返回表辅助工具,排除像 `clearAll` 这样的实用方法。
*
* @example
* ```typescript
* for (const table of tables.defined()) {
* console.log(table.name, table.count());
* }
* ```
*/
defined() { ... }
/** 以数组形式返回所有表辅助工具。 */
defined() { ... }
@example 块注释解释为什么,而不是是什么。
// Y.Doc 的 clientID 是随机的 32 位整数,因此我们不能依赖其顺序。
// 使用条目本身的时间戳进行确定性排序。
const sorted = entries.sort((a, b) => a.timestamp - b.timestamp);
// 对条目进行排序
const sorted = entries.sort((a, b) => a.timestamp - b.timestamp);
每周安装量
129
仓库
GitHub 星标数
4.3K
首次出现
2026年1月20日
安全审计
安装于
opencode109
claude-code109
gemini-cli106
codex106
cursor98
github-copilot97
Follow writing-voice for tone.
Documentation explains why , not what. Users can read code to see what it does. They need you to explain the reasoning.
Use this pattern when you need to:
README.md files with architecture intent.Primary job: explain why this folder exists and the mental model.
ls# Converters
Transform field schemas into format-specific representations.
```
┌─────────────┐ ┌──────────────┐
│ Field Schema│────▶│ to-arktype │────▶ Runtime validation
└─────────────┘ ├──────────────┤
│ to-drizzle │────▶ SQLite columns
└──────────────┘
```
Field schemas are pure JSON Schema objects with `x-component` hints. Each converter takes the same input and produces output for a specific consumer.
# Converters
- `to-arktype.ts` - Converts to ArkType
- `to-drizzle.ts` - Converts to Drizzle
- `index.ts` - Exports
The bad example just lists files without explaining the pattern or when to add new converters.
JSDoc explains when and why to use something, not just what it does.
/**
* Get all table helpers as an array.
*
* Useful for providers and indexes that need to iterate over all tables.
* Returns only the table helpers, excluding utility methods like `clearAll`.
*
* @example
* ```typescript
* for (const table of tables.defined()) {
* console.log(table.name, table.count());
* }
* ```
*/
defined() { ... }
/** Returns all table helpers as an array. */
defined() { ... }
@example blocks with realistic usageComments explain why , not what.
// Y.Doc clientIDs are random 32-bit integers, so we can't rely on ordering.
// Use timestamps from the entries themselves for deterministic sorting.
const sorted = entries.sort((a, b) => a.timestamp - b.timestamp);
// Sort the entries
const sorted = entries.sort((a, b) => a.timestamp - b.timestamp);
Weekly Installs
129
Repository
GitHub Stars
4.3K
First Seen
Jan 20, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode109
claude-code109
gemini-cli106
codex106
cursor98
github-copilot97
Claude技能创建器指南:构建模块化AI技能包,优化工作流与工具集成
5,700 周安装
BFL FLUX API 集成指南:图像生成与编辑 API 密钥、端点、定价与最佳实践
218 周安装
Abund.ai:首个AI智能体社交网络 | 100%开源API平台
215 周安装
FPF重置循环:软重置、硬重置与决策重置操作指南,重启推理会话
235 周安装
FPF知识库实际化工具:自动检测代码变更与情境漂移,管理认知债务
228 周安装
OMC Setup:oh-my-claudecode 一键配置工具,自动化 Claude Code 开发环境设置
224 周安装
find-skills-ai - AI技能代理目录 | 一站式发现与集成MCP技能
221 周安装