1仕組みと動作原理
単一ディレクトリの重量級スキル:成果物は単なる要約ではなく、継続運用可能なローカルコンテンツエンジニアリング体系です。SKILL.md は自己完結性を要求します。
**你交付的不是一份总结,而是一套能继续运转的系统。**
ディレクトリ自体が全アセットを保持:スキャフォールド、テンプレート、スクリプト、ドキュメントはすべてスキルディレクトリ内に保持され、インストール時に同梱配布されます(Nodeスクリプト10個 + テンプレート7点 + ルート級スキャフォールド4点 + ルール6点 + ドキュメント2点)。
**本 skill 不是轻量 prompt,而是单目录重型 skill。`SKILL.md`、脚手架、模板、脚本、文档都固定留在 `skills/dbs-content-system/` 目录内部,不依赖共享目录。**
構築前にまず監査:コンテンツ量と境界の2つのハードルがあり、基準未達の場合は監査結果とダウングレードパスのみを提示します。
### 原则 1:先审计,再建工程
元素材は複製のみで改変しない:ソースディレクトリ内の元ファイルには一切手を加えず、コピーを `01-原始素材区/完整副本/` に配置してトレーサビリティの根拠としてのみ使用します。
原目录里的原文件不碰。
処理対象はファイルではなくコンテンツユニット:初期フェーズでは5種類(QST/CON/OPI/CAS/SOL)に固定され、各ユニットは独立したMarkdownファイル(YAML frontmatter付き)となります。
首期只保留 5 类内容单元:
関係性と重複排除の基準を事前に固定:関係性は4種類(応答/説明/証明/対立)のみ、重複排除も4種類のみに限定し、完全重複と同義重複のみをデフォルトで統合します。
第一期只允许 4 类关系:
4段階の順次昇格モード(監査→サンプル→バッチ→全量):各段階に厳格なゲートが設けられ、1つでも条件が欠けると昇格できません。
只有前一档闸门全部通过,才允许进入下一档。少一条都不升档。
納品ツール層はスキルに同梱:初期化スクリプトがディレクトリの骨格を作成し、テンプレートとスキャフォールドをコピーし、9個のツールスクリプトをプロジェクトの `07-脚本与工具/` に配置します。
- `tools/init-content-system.js`:初始化工程骨架
初期サンプルの抽出は「固定プロトコル+スクリプト補助」であり、ブラックボックスな完全自動意味論抽出ではありません。
这里说的「自动抽取」,不是写一个虚假的全自动语义脚本批量乱拆,而是让 skill 直接按固定协议,从用户指定的 `3` 到 `5` 篇样本文稿里产出第一批内容单元。
規模よりも構造を優先:まずサンプルを用いてフィールド/関係性/重複排除の基準の安定性を検証してからバッチ処理へ進みます。バッチから全量への移行には別途7つのゲート(30ユニットのサンプリング監査で誤判定≤3など)があります。
#### `批量模式 → 全量模式` 升档闸门
「利用可能」の受入基準が明確:骨格、ルール、素材の複製、初期ユニット、トピックマップ、構成案、関係性および重複インデックス、ステータス概要が揃えば納品可能とし、全量完了までは確約しません。
- `03-处理状态/处理状态总览.md` 已明确当前范围、未处理量与下一步入口
実践的な実行規律:提言レベルにとどまらず、素材が不足していれば率直に指摘し、境界が曖昧なら縮小します。他のスキルへの引き継ぎ口も明確に定義されています。
- 不要停留在建议层
2コア機能
3外部依存関係
| Kind | Dependency / Endpoint |
|---|---|
| cli | node |
| cli | npx skills(skills.sh CLI,安装途径) |
4推奨統制措置と判定根拠
- scripts/: ローカルスクリプトまたはコマンドの実行: node tools/init-content-system.js <target_project_dir>(ディレクトリ骨格の作成、ステータスファイルの書き込み、templates/scaffolds のコピー)
- 本地工作目录: ファイルの読み書きと成果物出力: 対象プロジェクト内:`00-规则与索引/` `01-原始素材区/` `02-内容单元库/` `03-处理状态/` `04-模板/` `05-主题地图/` `0
5二重目の独立検証
- [ok] 自包含声明与资产面一致 — SKILL.md 列出的 templates/(7)、scaffold/root/(4)、scaffold/rules/(6)、docs/(2)、tools/(10)与 find 清点结果逐项吻合,无缺失文件。
- [ok] 脚本仅本地读写、无网络无凭证 — 10 个脚本全部 `const fs = require("fs");` + `const path = require("path");`;grep https?://|fetch(|child_process|execSync|spawn|process.env|API_KEY 零命中。
- [ok] 写盘范围限定在目标工程 — init 脚本所有目标路径均由 skillRoot/targetRoot 派生;extract 脚本的清理用 `fs.renameSync(filePath, target)` 移入 `<root>/.trash/{日期}_{原因}/`(不删除)。
- [discrepancy] 抽取器非通用语义引擎(能力边界) — SKILL.md 声明「不是写一个虚假的全自动语义脚本批量乱拆」,但 extract-sample-units.js 内含大量作者语料特化正则(如 `if (/生产型兴趣/.test(context.conceptText) && /兴趣/.test(context.normalizedTitle) && /赚钱|变现/.test(context.normalizedTitle)) {`),换语料会退化到通用兜底分支;这不是「虚假」,但确属「对自有语料特化」,已在 risks 写明。
- [ok] 四档闸门与数量门槛 — 审计/样本/批量/全量四模式与各自闸门标题均在原文;50 文件/80000 字、≥15 单元、≥3 地图/≥2 装配稿、抽查 30 误判≤3 逐字命中。
- [ok] 源文件只读与副本制 — 「原目录里的原文件不碰。」+ 原则 3 标题「### 原则 3:原始素材不改写,只复制副本」逐字命中。
- [ok] description 与内容相符 — description(把本地文稿/推文/选题/案例/课程稿整理成可持续生长、可重组复用的内容工程)对应五类单元 + 主题地图 + 装配稿 + 四模式推进,无夸大;但「可重组复用」的可验证证据是 assemble-topic-from-units.js 的 --auto 跨主题推荐,属启发式实现。
- [ok] commit / license / 元数据 — HEAD = 8b8e33f1ecaed8cee606fe950c4426b525ead314;LICENSE = CC BY-NC 4.0(含 NonCommercial,非商业授权);stars 10121、pushed_at 2026-09-07T03:48:59Z。
6結論
b0d6fde8b85e94cf…