Use Cliche Data in Documentation
When updating or writing documentation for a tool, never include real data that was provided in prompts, local configuration, scripts, task files, or any other implementation-specific source. Documentation must use only generic, commonly recognized placeholder data that cannot expose sensitive information.
When to Use This Skill
- - Writing or updating README.md files
- Creating documentation in docs/ folders
- Adding code examples to markdown files
- Writing CHANGELOG.md entries
- Adding code comments in committed source files
Why This Matters
A tool's source code and local configuration often contain real names, real email addresses, real organization details, and real domain names. These values are necessary for the tool to function, but they have no place in public-facing documentation. Leaking real data into docs can expose:
- - Internal business names and contacts
- Email addresses and domain names
- Client or customer identifiers
- Account names and credentials
- Organization-specific terminology that reveals private operations
Core Rule
If data came from a prompt, a local file, a script, a config, or a task — it does NOT go into documentation.
Documentation examples use only well-known, fictional, or obviously placeholder data.
What Counts as Real Data
Any value that originates from:
- - Local configuration files (e.g.,
config.json, .env, account modules) - Scripts and task files (e.g., batch scripts, shell scripts, task runners)
- Prompt context (e.g., data the user supplies when asking an agent to build or update the tool)
- Map or filter files (e.g., JSON mappings, data extraction rules)
- Git-ignored files (e.g., files excluded from version control that contain environment-specific values)
Approved Placeholder Data for Documentation
Use these generic, cliche substitutes in all documentation and examples:
| Category | Approved Placeholder Examples |
|---|
| People | Jane Doe, John Smith, Alice, Bob |
| Email addresses |
jane.doe@example.com,
admin@example.org |
|
Organizations | Acme Corp, Contoso, Northwind Traders |
|
Domains |
example.com,
example.org,
test.local |
|
Addresses | 123 Main Street, Suite 100, Springfield |
|
Phone numbers |
(555) 123-4567 |
|
Accounts / usernames |
demo-user,
test-account |
|
File paths |
accounts/acme.mjs,
config/reports.json |
|
Project names | My Project, Sample App, Demo Tool |
How to Apply This Rule
When Adding a Feature
If you add a feature using real account data (e.g., a script named after a real client), document the feature using a fictional account name instead.
Real implementation file: an account module configured for a specific business
Documentation example:
CODEBLOCK0
When Updating Configuration Docs
If a config file references real domains, real paths, or real credentials, replace every real value with a placeholder before including it in documentation.
Documentation example:
CODEBLOCK1
When Writing Script Examples
If a script automates a task for a specific organization, the documentation example must use a generic organization name and generic parameters.
Documentation example:
CODEBLOCK2
The Boundary Between Code and Docs
| Context | Real Data Allowed? |
|---|
| Local scripts and config files used at runtime | Yes |
| Git-ignored files with environment-specific values |
Yes |
| Prompt data provided to build or configure the tool | Yes (in code only) |
| README.md, docs/ folder, and example templates |
No — use placeholders only |
| CHANGELOG.md entries |
No — describe changes generically |
| Code comments in committed source files |
No — keep generic |
One Exception
A word from real data may appear in documentation only if it is a common English word used in its ordinary sense and not in the context of an example. For instance, the word "development" is acceptable in a sentence like "This tool is under active development" even if it also appears in a real organization name.
Summary
Documentation is public. Implementation data is private. Keep them separate. Every example in every doc file should pass a simple test: could a stranger read this and learn nothing about the real users, clients, or organizations behind this tool? If the answer is no, replace the data with cliche placeholders.
在文档中使用通用占位数据
在更新或编写工具的文档时,切勿包含提示词、本地配置、脚本、任务文件或任何其他实现特定来源中提供的真实数据。文档必须仅使用通用的、公认的占位数据,不得暴露敏感信息。
何时使用此技能
- - 编写或更新 README.md 文件时
- 在 docs/ 文件夹中创建文档时
- 在 markdown 文件中添加代码示例时
- 编写 CHANGELOG.md 条目时
- 在已提交的源代码文件中添加代码注释时
为何重要
工具的源代码和本地配置通常包含真实姓名、真实电子邮件地址、真实组织详情和真实域名。这些值对于工具运行是必要的,但它们不应出现在面向公众的文档中。将真实数据泄露到文档中可能会暴露:
- - 内部业务名称和联系人
- 电子邮件地址和域名
- 客户或用户标识符
- 账户名称和凭证
- 揭示私有操作的组织特定术语
核心规则
如果数据来自提示词、本地文件、脚本、配置或任务——则不应进入文档。
文档示例仅使用众所周知的、虚构的或明显是占位符的数据。
什么算作真实数据
任何源自以下内容的值:
- - 本地配置文件(例如 config.json、.env、账户模块)
- 脚本和任务文件(例如批处理脚本、shell 脚本、任务运行器)
- 提示词上下文(例如用户请求代理构建或更新工具时提供的数据)
- 映射或过滤文件(例如 JSON 映射、数据提取规则)
- Git 忽略的文件(例如从版本控制中排除的包含环境特定值的文件)
文档中认可的占位数据
在所有文档和示例中使用这些通用的、陈词滥调的替代品:
| 类别 | 认可的占位示例 |
|---|
| 人物 | 张三、李四、小明、小红 |
| 电子邮件地址 |
zhangsan@example.com、admin@example.org |
|
组织 | 某某公司、示例科技、北方贸易 |
|
域名 | example.com、example.org、test.local |
|
地址 | 北京市朝阳区某某路123号 |
|
电话号码 | (010) 1234-5678 |
|
账户/用户名 | demo-user、test-account |
|
文件路径 | accounts/acme.mjs、config/reports.json |
|
项目名称 | 我的项目、示例应用、演示工具 |
如何应用此规则
添加功能时
如果你使用真实账户数据添加功能(例如以真实客户命名的脚本),请使用虚构的账户名称来记录该功能。
真实实现文件: 为特定业务配置的账户模块
文档示例:
javascript
// accounts/acme.mjs — 示例账户配置
export default {
name: 某某公司,
email: reports@example.com,
folder: 收件箱,
};
更新配置文档时
如果配置文件引用了真实域名、真实路径或真实凭证,在将其包含到文档之前,请将每个真实值替换为占位符。
文档示例:
json
{
host: imap.example.com,
user: admin@example.com,
folder: 收件箱/报告,
outputDir: ./downloads
}
编写脚本示例时
如果脚本为特定组织自动化任务,文档示例必须使用通用的组织名称和通用参数。
文档示例:
batch
@echo off
REM 示例:为某某公司运行提取任务
node extractEmail.mjs --account acme --task download
代码与文档的界限
| 上下文 | 允许真实数据? |
|---|
| 运行时使用的本地脚本和配置文件 | 是 |
| 包含环境特定值的 Git 忽略文件 |
是 |
| 用于构建或配置工具的提示词数据 | 是(仅在代码中) |
| README.md、docs/ 文件夹和示例模板 |
否——仅使用占位符 |
| CHANGELOG.md 条目 |
否——通用描述更改 |
| 已提交源代码文件中的代码注释 |
否——保持通用 |
一个例外
真实数据中的某个词仅当它是一个在普通意义上使用的常见英语单词且不在示例上下文中时,才可能出现在文档中。例如,即使development一词也出现在真实组织名称中,但在此工具正在积极开发中这样的句子中使用它是可以接受的。
总结
文档是公开的。实现数据是私有的。保持它们分离。每个文档文件中的每个示例都应通过一个简单测试:一个陌生人阅读此内容后,能否对使用此工具的真实用户、客户或组织一无所知? 如果答案是否定的,请将数据替换为陈词滥调的占位符。