
Dbs Content System
Stand up a traceable content library from raw drafts with units, theme maps, dedup, and Obsidian-ready exports before scaling batch ingestion.
Overview
dbs-content-system is an agent skill most often used in Build (also Operate, Grow) that defines acceptance criteria and verification steps for a structured solo-builder content library with traceable units and dedup inde
Install
npx skills add https://github.com/dontbesilent2025/dbskill --skill dbs-content-systemWhat is this skill?
- First-delivery acceptance gate: skeleton, root AGENTS/CLAUDE/README/SOURCE_OF_TRUTH, and 01-原始素材区 full copies
- Sample mode minimums: 15 content units, 1 theme map, 2+ assembly drafts before batch mode
- Unit quality rules for QST, OPI, CON, CAS, and SOL with random spot-checks on 3 high-value units
- Auditable graph: generate-link-map.js and generate-duplicate-candidates.js produce CSV/MD status and conflict indexes
- Source-first routing: classify origins before normalize/extract/skip; skip and manual-review rows land in 已处理清单.csv
- 15 content units minimum in sample mode
- 1 theme map and 2+ assembly drafts before batch mode
- Random audit of at least 3 high-value units and 2 main-question units
Adoption & trust: 1.4k installs on skills.sh; 6.3k GitHub stars.
What problem does it solve?
You have piles of raw posts and drafts but no auditable content units, theme map, or dedup story your agent can trust for assembly.
Who is it for?
Indie creators productizing newsletters, courses, or short-video scripts into a reusable unit library with Obsidian and CSV audit trails.
Skip if: Teams that only need a one-off blog post or lack willingness to maintain SOURCE_OF_TRUTH rules and per-source classification.
When should I use this skill?
Setting up or accepting a dbs-style content system with scripted indexes and non-placeholder units.
What do I get? / Deliverables
You get a passing first delivery—minimum units, maps, indexes, and non-placeholder extractions—so batch ingestion and topic assembly can start safely.
- Passing acceptance report against unit, source, classification, and relationship checks
- 关系索引.csv, 关系总览.md, and dedup audit markdown/CSV outputs
- Theme map and at least two topic assembly drafts
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Canonical shelf is Build because the skill defines engineering skeleton, rules, templates, and first-pass extraction pipelines—not one-off copy edits. Docs fits structured knowledge bases, SOURCE_OF_TRUTH roots, and reusable content units rather than app runtime code.
Where it fits
Agent lays down AGENTS.md, templates, and first 15 units with a theme map before enabling batch extraction.
You re-run duplicate-candidate and link-map scripts after merging new tweet compilations into the intake zone.
You assemble选题装配稿 from verified units without rereading every original manuscript.
How it compares
Use instead of ad-hoc folder sorting when you need acceptance thresholds and script-generated relationship/dedup artifacts, not a generic writing assistant.
Common Questions / FAQ
Who is dbs-content-system for?
Solo and indie builders running a Chinese or mixed-language content repurposing repo who want agent-driven intake, extraction, and quality gates before scaling batch runs.
When should I use dbs-content-system?
During Build when scaffolding the content factory; during Operate when re-running link-map and dedup scripts; during Grow when assembling topics from verified units—especially before leaving sample mode (15 units, 1 map, 2 drafts).
Is dbs-content-system safe to install?
Review the Security Audits panel on this Prism page for install risk and file integrity; the skill expects local filesystem writes and Node script execution in your repo.
SKILL.md
READMESKILL.md - Dbs Content System
# dbs-content-system Acceptance ## 什么叫「系统能用了」 首次交付不要求全量结构化完成。 首次交付的最低标准是: - 工程骨架已建立 - 根级 `AGENTS.md / CLAUDE.md / README.md / SOURCE_OF_TRUTH.md` 已存在 - 规则文件、模板文件、脚本文件已写入 - 原始素材已复制到 `01-原始素材区/完整副本/` - 来源候选、原始索引、待处理清单已生成 - 首批样本已经抽成内容单元 - 已出现主题地图 - 已出现选题装配稿 - 已生成关系索引 - 已生成去重候选 - 已生成处理状态总览 - 已能先分类来源,再按来源类型决定是否归一化、抽取或跳过 ## 最低数量门槛 样本模式下,默认至少看到: - `15` 个内容单元 - `1` 张主题地图 - `2` 份以上装配稿 如果不足,继续补样本,不进入批量模式。 ## 关键核验点 ### 单元可复用 抽取后的内容单元不能只是标题、关键词或占位符回填。 至少要满足: - `QST.question_text` 不能等于原文标题 - `OPI.core_claim` 不能只是关键词列表或数据标签 - `CON.concept_definition` 必须对准真实核心概念,不能抽到无关段落 - `CAS.case_summary / case_process / case_result` 不能同时停留在占位状态 - `SOL.action_steps` 不能继续是 `待人工补全步骤 1` - 主问题、主观点、主方案的 `title` 不能继续停留在「某篇文稿的核心问题 / 三步方案」这类文件名兜底 - 编号短稿不能再批量生成 `001 的核心问题`、`002 的三步方案` 这类编号占位节点 验收方式: - 随机抽查至少 `3` 份高价值单元 - 确认单元本身在不回看原文的情况下,已经能支撑后续装配 - 抽查至少 `2` 份主问题单元,确认 `question_type`、`核心内容` 和 `拆解边界` 与文稿类型匹配,不是旧规则串台 ### 来源追溯 抽取后的内容单元,`source_documents` 不能继续停留在 `SRC-*` 占位符,必须写入真实来源 ID。 ### 分类有效 - `README`、`CSV`、`JSON`、批处理 `cleaned / analysis report / content library` 这类中间产物不能再直接进入内容单元库 - 推文合集必须先切块,再进入抽取 - 短视频编号文稿不能继续直接用文件名当主题名和主问题名 - 跳过项、待人工复核项必须写入 `03-处理状态/已处理清单.csv` ### 关系有效 运行: ```bash node 07-脚本与工具/generate-link-map.js ``` 之后: - `03-处理状态/关系索引.csv` 必须存在 - `03-处理状态/关系总览.md` 必须存在 - 目标缺失数必须可见 ### 去重可审计 运行: ```bash node 07-脚本与工具/generate-duplicate-candidates.js ``` 之后: - `03-处理状态/去重候选索引.csv` 必须存在 - `03-处理状态/去重与冲突总览.md` 必须存在 - `03-处理状态/去重与冲突审计.csv` 必须存在 ### Obsidian 可见 运行: ```bash node 07-脚本与工具/fill-obsidian-links.js ``` 之后: - 内容单元正文 `## 关联单元` 里应补入 `[[文件名]]` - 主题地图与装配稿可以在 `Obsidian` 里直接点开 ### 装配不是空壳 - 主题地图 `主题定义` 不能继续停留在 `待人工补全` - 选题装配稿 `目标受众 / 装配理由 / 建议结构 / 表达骨架` 不能全部为空 - 装配稿应能说明这篇内容为什么值得这样组,而不是只列 5 个单元文件名 - 同一主题下应能看到补充问题、补充观点、补充案例、补充方案,证明它不是一次性装配 ### 自动推荐可以重组 - 运行 `assemble-topic-from-units.js --auto` 后,不能只回到原主题内部的同类单元 - 对宽题,自动推荐出的主问题、主观点、主方案至少有一项应体现跨主题重组 - 例如「年轻人怎么赚钱」这类题,允许主问题来自「兴趣变现」,但主观点应能切到「需求倒推 / 老板思维」主轴,而不是永远停在兴趣变现的原始判断里 - 自动推荐产出的装配稿,至少要让人看出:系统不是按文件名抓 5 个点,而是在按主题关系重新组织表达 ### 样本覆盖面 首批正式验收,不能只验证单一文稿类型。 至少覆盖: - 「兴趣变现 / 生产型兴趣」类 - 「找生意 / 反赛道思维」类 - 「稳定收入 / 反脆弱」类 - 「系统赚钱 / 被动收入」类 - 「需求倒推 / 老板思维」类 如果某一类仍然只能生成通用兜底标题、空泛摘要或待补字段,则不能宣布通过。 ## 验收命令 ```bash node 07-脚本与工具/generate-source-registry.js node 07-脚本与工具/rebuild-processing-ledger.js node 07-脚本与工具/extract-sample-units.js --help node 07-脚本与工具/generate-link-map.js node 07-脚本与工具/generate-duplicate-candidates.js node 07-脚本与工具/fill-obsidian-links.js node 07-脚本与工具/summarize-system.js node 07-脚本与工具/assemble-topic-from-units.js --title '年轻人怎么赚钱' --auto --top 3 ``` ## 当前正式版证据 仓库内已有一份从空目录跑通的验收样本: `测试 dbs-content-system/正式版验收` # dbs-content-system Quickstart ## 定位 `dbs-content-system` 是 `dbskill` 里的进阶内容工程模块。 它适合这类用户: - 本地已经积累了大量文稿、推文、课程稿、案例素材 - 不只是想改一篇内容,而是想把旧内容变成可复用资产 - 愿意先做样本验证,再逐步推进批量结构化 它不适合这类用户: - 只有零散素材 - 只想优化单篇内容 - 还没有明确边界就想一口气全量处理 ## 安装 整套安装: ```bash npx -y skills add dontbesilent2025/dbskill -g --all ``` 单独安装本模块: ```bash npx -y skills add dontbesilent2025/dbskill --skill dbs-content-system ``` ## 最短启动链路 ### 1. 初始化新工程 ```bash node tools/init-content-system.js /你的/新工程目录 ``` ### 2. 复制首批样本文稿 把 `3` 到 `5` 篇代表性文稿复制到: `01-原始素材区/完整副本/` 优先级: - 已经有清晰标题、分段、小标题的 `Markdown` - 已经带有「核心观点提炼」「概念定义」「适用场景」之类区块的主稿 - 不要先拿导出版 `HTML` 做首批验证 ### 3. 生成来源候选与原始索引 ```bash cd /你的/新工程目录 node 07-脚本与工具/generate-source-registry.js node 07-脚本与工具/rebuild-processing-ledger.js ``` ### 4. 自动抽取首批样本 ```bash node 07-脚本与工具/extract-sample-units.js --files '完整副本/路径1.md,完整副本/路径2.md,完整副本/路径3.md' ``` 首批验证不要只挑同一种稿子。 至少覆盖: - 1 篇「兴趣变现 / 生产型兴趣」类文稿 - 1 篇「找生意 / 反赛道思维」类文稿 - 1 篇「稳定收入 / 反脆弱」类文稿 - 1 篇「系统赚钱 / 被动收入」类文稿 - 1 篇「需求倒推 / 老板思维」类文稿 这样才能看出抽取器是不是只对单一题材成立。 ### 5. 跑校验链路 ```bash node 07-脚本与工具/generate-link-map.js node 07-脚本与工具/generate-duplicate-candidates.js node 07-脚本与工具/fill-obsidian-links.js node 07-脚本与工具/summarize-system.js ``` ### 6. 用真实单元重组一个新选题 手工指定单元: ```bash node 07-脚本与工具/assemble-topic-from-units.js \ --title '年轻人怎么赚钱(结构化重组版)' \ --question 'QST-20260602-192,QST-20260602-199' \ --