ワークフロー&基本ツール · dontbesilent2025/dbskill

dbs-save

現在の診断の重要状態をローカルに保存し、アーカイブ場所の確認や設定を行います。結論の保存、セッションをまたぐ再開、または保存先の変更をユーザーが要求した際に使用します。

L2 ローカル · 作業ディレクトリ限定V1 コミット固定ファイル書き込みDual-pass Audit
Author dontbesilent2025GitHub dontbesilent2025/dbskill ↗Stars 10121License CC BY-NC 4.0(仓库根 LICENSE:Attribution-NonCommercial 4.0 International (CC BY-NC 4.0);署名 + 禁止商业使用;Copyright (c) 2026 dontbesilent)Commit 8b8e33f1ec
管理レベルは Skill の能力と推奨統制措置を示すものであり、品質や安全性の認証、利用可否の判定ではありません。使用の可否はユーザーおよび管理者が決定します。Agent 環境によって制約が異なるため、自動保護を仮定しないでください。第三者製 Skill の著作権は原著作者に帰属し、利用リスクは利用者が負います。

1仕組みと動作原理

プロンプト完結型の「書き込み端」として、固定フォーマットと固定パスルールに基づき会話状態を復元可能なMarkdownとして永続化。診断は行わず記録に専念するよう責務を明確に分離。

skills/dbs-save/SKILL.md
**你不做诊断。** 诊断是别的 skill 的事,你只做记录。
成果物 = YAML frontmatter(slug/timestamp/title/source_skill/status/next_skill)+ 固定6セクションの本文。

アーカイブのルートディレクトリはプロジェクト内の .dbs/config.json によって決定される3モード制(default: ~/.dbs/、project: カレントディレクトリの .dbs/、custom: 指定ディレクトリ)。本サブシステムの信頼できる唯一の情報源(SSOT)として機能(dbs-restore/dbs-report も同一ルールで解決)。

skills/dbs-save/SKILL.md
没有配置文件时,继续使用默认位置,不创建配置文件。
custom モードはクラウド同期ディレクトリ(例:iCloud Drive のパス)に対応し、先頭の ~ の展開を規定。

設定異常時は一律停止:解析不能 / 未対応の mode / root が空 / パスが /、ホームディレクトリ、プロジェクトルートを指している場合は停止して理由を説明。デフォルト位置への暗黙的なフォールバックを禁止。

skills/dbs-save/SKILL.md
配置无法解析、`mode` 不受支持、`root` 为空,或路径指向 `/`、用户家目录、当前项目根目录时,停止操作并说明配置问题。不要静默退回默认位置。
「~/.dbs に保存されたと思い込んで実際は別の場所に書き込まれる」または「ホームディレクトリを保存ルートにしてしまう」などのサイレントインシデントを防止。

設定書き込みには二次確認が必須:ユーザーが明示的に location サブコマンドを使用したときのみ書き込みを実行し、書き込み前に解決された絶対パスを提示して確認を取得。

skills/dbs-save/SKILL.md
写入前说明最终解析出的绝对路径,并要求用户确认;用户确认后再创建或更新 `.dbs/config.json`。
対照的に、`/dbs-save location` は読み取り専用で表示し、ファイル書き込みは行いません。

書き込み前に「保存する価値のある内容が存在するか」を判定:診断プロセスがない場合は空ファイルの保存を拒否し、正しい入力パスの案内を表示。

skills/dbs-save/SKILL.md
- 切换位置不会自动搬动旧存档。需要迁移时,先展示来源与目标,得到用户确认后复制;保留原文件。 `/dbs-save location` 只显示当前模式、配置文件位置和解析后的存档根目录,不写文件。 --- ## 工作流程 ### Step 1:判断现在能不能存 存之前先看对话里有没有真正可记的东西。如果用户刚说了一句「保存」但前面没做过任何诊断,你应该说: > 现在没有可存的结论。输入 `/dbs` 开始处理一个真实任务;形成结论后,再明确告诉我需要保存。 不要存空文件。 ### Step 2:自动提取或确认标题 从对话里提取一句话作为标题(不超过 20 字,名词性短语)。例如: - 「卖什么没想清楚」 - 「找到了对标但学不来」 - 「定价偏低,需要拉到 10 倍价差」 如果用户用 `/dbs-save <title>` 显式指定了,用用户的。 ### Step
Step 1 の固定文言に対応:「現在保存可能な結論はありません… /dbs と入力して実際のタスクを開始してください。」

プロジェクトの分離は slug に依存:デフォルトで basename $(pwd) を取得して文字をサニタイズ。ホームディレクトリや非プロジェクト環境では default にフォールバックし、--slug による明示的な指定も可能。

skills/dbs-save/SKILL.md
**默认项目名**:取自 `basename $(pwd)`,把所有非 `[a-z0-9-]` 字符替换成 `-`。
対外的には「プロジェクト」と統一呼称し、slug などの技術識別子はユーザーとの対話に露出させない。

プライバシー通知は project/custom モードへの初回移行時に1回のみ表示。「ローカル平文で暗号化なし」「.dbs/ を .gitignore に追加することを推奨(変更前に確認が必要)」「場所を変更しても既存アーカイブは自動移動されない」を含む。

skills/dbs-save/SKILL.md
如果当前项目使用 Git,建议把 `.dbs/` 加入 `.gitignore`。修改 `.gitignore` 前必须得到用户确认。
付随する原文:「`.dbs/` およびアーカイブディレクトリには売上、顧客、営業秘密が含まれる可能性があります。ファイルはローカルのプレーンテキストであり、暗号化されていません。」

next_skill フィールドは「推測するくらいなら空にする」規律を徹底し、dbs-restore の自動再開に誤った方向を与えないよう保護。

skills/dbs-save/SKILL.md
不要瞎猜——这个字段是给 dbs-restore 自动接续用的,错了比空更糟。
同様に、status が不確定な場合はデフォルトで in-progress を設定。

2コア機能

01アーカイブ書き込み:{アーカイブルート}/sessions/{slug}/{YYYYMMDD-HHMMSS}-{title-slug}.md に永続化。ディレクトリが存在しない場合は事前に mkdir -p を実行
02固定6セクション構成:ユーザーの主訴 / 導き出された結論 / ユーザーが却下した方向性 / 検証待ちの仮説 / 確認済みのネクストステップ / 備考
03タイトルの自動抽出(20文字以下の名詞句)または /dbs-save <title> によるユーザーの明示的指定
04list モード:現在の設定位置に基づきプロジェクト内のアーカイブを一覧表示し、ステータスを日本語化。他の保存先と混同しない
05location の3状態確認/切り替え(default/project/custom <パス>)およびパス解決ルールの説明
06競合の自己解決:同一秒・同名の場合は4桁のランダムサフィックスを付与。同一状態の連続2回保存も許容(タイムスタンプが異なれば競合とみなさない)
07status フィールドの3値を厳格に固定し、表示時に日本語化
08極限まで簡素化された完了通知:1行のパス + 件数 + 次回の利用方法のみを返し、アーカイブ内容の復唱は禁止

4推奨統制措置と判定根拠

安全運用のための推奨統制措置
Agent 向け
作業ディレクトリを限定
管理者向け
操作ログを保持
判定根拠(ファイルパスと抜粋)
  • 本地工作目录: ファイルの読み書きおよび成果物の出力: {アーカイブルート}/sessions/{slug}/{YYYYMMDD-HHMMSS}-{title-slug}.md(診断アーカイブ:主訴、結論、却下方針などを含む)
監査ノート: 判定対象は本スキル自身のディレクトリです。スクリプトなし、ネットワークエンドポイントなし、認証情報の読み取りなしですが、SKILL.md はエージェントに対し診断状態をローカルアーカイブ({アーカイブルート}/sessions/…md、デフォルトは ~/.dbs/、クラウド同期ディレクトリも指定可)へ継続的に書き込み、ユーザー確認後に .dbs/config.json を書き込むことを明確に要求しているため、「ローカルの読み書きのみ・外部送信なし」に分類されます。リスクはコードではなくデータに集中しています。アーカイブには売上、顧客、営業秘密が含まれる可能性があり、かつ暗号化されていない平文です。本スキルは警告、gitignore の推奨、パス確認、「デフォルト位置への暗黙フォールバック禁止」をプロセスに組み込んでいますが、暗号化やデータマスキング自体はスキルの能力範囲外です。

5二重目の独立検証

  • [ok] 外部资源/工具:是否存在未声明的依赖 — 无 URL、无包、无 CLI;目录内仅 SKILL.md + agents/openai.yaml。external_deps 空数组成立(文中出现的 python3 datetime 命令只是 timestamp 生成建议,不构成依赖)。
  • [ok] 安全结论:写入是否可能落到危险位置 — 配置解析显式拒绝 path 指向 /、家目录、项目根的场景并停机(「不要静默退回默认位置」);config 写入有绝对路径确认;存档写入固定在 {存档根目录}/sessions/ 下,无删除操作。除用户自定义 root 外,默认落点为 ~/.dbs/。
  • [ok] 实现原理是否成立:跨会话可恢复是否真由本 skill 保证 — 四要素齐备:确定路径规则、含时间戳文件名(供 dbs-restore 排序)、固定 frontmatter 字段(供解析)、固定 body 六段(供报告搬运),并规定 source_skill/next_skill 的填写纪律。恢复端(dbs-restore)的读取假设与本端写入格式逐条对应。
  • [ok] 功能声明 vs 实际能力:description 声称的「查看或设置存档位置」 — 对应 location 子命令三态(查看 / default / project / custom <路径>)与「只读显示不写文件」的区分,实现与声明相符。
  • [unlocatable] 证据定位:仓库级元数据(stars/last_push)与 installs — stars=10121、last_push=2026-09-07 来自站点池 data/pool.json(GitHub API 采集),pin 源码内无法逐字定位;installs 未采集记 null。license 可在仓库根 LICENSE 逐字命中。

6結論

  • 「セッションをまたぐ記憶」を検証可能なエンジニアリング規約へ昇華:固定パス + タイムスタンプファイル名 + 固定 frontmatter/本文により、復元や集計側がモデルの記憶ではなく形式のみに依存可能
  • 抑制された設定サブシステム設計:デフォルトでは設定ファイルを作成せず、異常時は一律停止して報告、設定書き込み時はパス確認を要求。「保存されたつもりが保存されていない」「暗黙的な保存先の変更」という2大潜在リスクを排除
  • 具体的かつ事前のプライバシー警告(ローカル平文・暗号化なし、.gitignore 推奨、場所変更時の非自動移行)という、診断系スキルにおいて極めて誠実な情報開示
  • ダウンストリームへの責任:next_skill は推測せず空を優先、status はデフォルトで in-progress にし、「誤りを与えるくらいなら空のほうがマシ」を徹底して dbs-restore の自動再開を保護
  • 厳格な出力規律:1行の完了通知、内容の復唱なし、アーカイブ内での感嘆符や励まし文句の禁止により、感情的な日記ではなく中立的な状態ファイルとしての品質を維持
  • 最適な用途: 同一のビジネス課題に長期的に向き合い、セッションをまたいで判断を蓄積する必要があるユーザー(コンサルティング型のセルフ診断、複数事業/プロジェクトの並行管理)に最適。dbskill を「単発の診察」から「専属医」へと引き上げる書き込み端であり、dbs-restore(読み戻し)や dbs-report(集計)と連携して利用。また、AIとの対話結論をローカルで検索可能なファイルとして蓄積したいユーザーにも適しています。
    不向きな用途: ローカルに痕跡を残したくないユースケース(本スキルの全価値はローカル永続化にあるため不適)。暗号化や権限分離を要する機密データ(平文プレーンテキストのため不適)。汎用的なメモや日記ツールとしての利用(診断は行わず、空ファイルを拒否し、6セクション構造と frontmatter を要求するため不適)。同期機構なしで複数マシン間で同一アーカイブプールを共有する環境(保存先が固定され、自動移行を行わないため不適)。
    Install Agent-Ready
    ① Verified Mirror 2026-09-15
    Option A · Direct DownloadDownload dbs-save.tar.gz
    sha256: b6062f2bb252be4a…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 8b8e33f1ec.