mcpField
V
vault-cleanup-auditor

vault-cleanup-auditor

github.com/brianrwagner生産性449366 回インストール32 週間前に更新
リポジトリ

vault-cleanup-auditor について

Vault Cleanup Auditorは、Claude Code向けのスキルです。Obsidianの保管庫を調べ、古い未投稿の草稿、不完全なファイル、重複したファイル名、空のフォルダーを確認し、日付付きの監査レポートを保管庫内に保存します。

主な機能

  1. 01保管庫に対する4項目のチェック
  2. 0230日以上未投稿の草稿を検出
  3. 03不完全なファイルと重複名を検出
  4. 04空のフォルダーを特定
  5. 05日付付き監査レポートを保存

活用シーン

  1. 01保管庫の月次クリーンアップ監査
  2. 02古い未投稿草稿の確認
  3. 03不完全または重複したMarkdownファイルの特定
  4. 04保管庫内の空フォルダーの確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/brianrwagner/ai-marketing-claude-code-skills --skill vault-cleanup-auditor

インストール後、Claude Code で/vault-cleanup-auditorを入力して読み込まれたか確認します。

同梱ファイルSKILL-OC.md

詳細

Vault Cleanup Auditor

Obsidian の保管庫に対して対象を絞った 4 つのチェックを実行し、優先度順の監査レポートを vault-audit/YYYY-MM-DD-audit.md に保存します。30 秒もかかりません。API や有料サービスは不要です。

毎月、または保管庫が散らかってきたと感じたときに実行してください。


使い方

Claude Code を開き、次のように指示します。

Run the Vault Cleanup Auditor skill against my vault at /path/to/vault.

スキルの手順(Claude Code 用)

このスキルが呼び出されたら、次のフェーズを正確に順番どおり実行してください。


PHASE 1: INTAKE

ユーザーから次の情報が提供されているか確認します。

  • vault_path — Obsidian の保管庫ルートの絶対パス

指定されていない場合は、次のように尋ねます。

What's the absolute path to your Obsidian vault? (e.g. /root/obsidian-vault)

確認が取れるまで先に進まないでください。


PHASE 2: ANALYZE

4 つのチェックをすべて実行します。レポートを作成する前に、各チェックの生の出力を取得してください。

チェック 1 — 古い下書き(30 日以上経過、未投稿):

VAULT="VAULT_PATH_HERE"
echo "=== CHECK 1: STALE DRAFTS ==="
find "$VAULT/content/ready-to-post" -name "*.md" -mtime +30 2>/dev/null | while read f; do
  if grep -q '\*\*Posted:\*\* ❌' "$f" 2>/dev/null; then
    days=$(( ($(date +%s) - $(stat -c %Y "$f")) / 86400 ))
    echo "${days}d|${f##$VAULT/}"
  fi
done
echo "=== END CHECK 1 ==="

チェック 2 — 未完成のファイル(見出しなし、5 行以上):

VAULT="VAULT_PATH_HERE"
echo "=== CHECK 2: INCOMPLETE FILES ==="
find "$VAULT" -name "*.md" \
  -not -path "*/.git/*" \
  -not -path "*/.obsidian/*" \
  -not -path "*/.openclaw/*" | while read f; do
  if ! grep -qE '^#{1,6} ' "$f" 2>/dev/null; then
    lines=$(wc -l < "$f")
    if [ "$lines" -gt 5 ]; then
      echo "${lines}lines|${f##$VAULT/}"
    fi
  fi
done
echo "=== END CHECK 2 ==="

チェック 3 — ファイル名の重複:

VAULT="VAULT_PATH_HERE"
echo "=== CHECK 3: DUPLICATE FILENAMES ==="
find "$VAULT" -name "*.md" \
  -not -path "*/.git/*" \
  -not -path "*/.obsidian/*" \
  -not -path "*/.openclaw/*" \
  -printf "%f\n" | sort | uniq -d | while read name; do
  echo "DUPE:$name"
  find "$VAULT" -name "$name" \
    -not -path "*/.git/*" \
    -not -path "*/.obsidian/*" | while read f; do
    echo "  PATH:${f##$VAULT/}"
  done
done
echo "=== END CHECK 3 ==="

チェック 4 — 空のフォルダー:

VAULT="VAULT_PATH_HERE"
echo "=== CHECK 4: EMPTY FOLDERS ==="
find "$VAULT" -type d -empty \
  -not -path "*/.git/*" \
  -not -path "*/.obsidian/*" \
  -not -path "*/.openclaw/*" | while read d; do
  echo "${d##$VAULT/}/"
done
echo "=== END CHECK 4 ==="

PHASE 3: OUTPUT

3a. レポートのディレクトリとファイルを作成します。

VAULT="VAULT_PATH_HERE"
DATE=$(date +%Y-%m-%d)
mkdir -p "$VAULT/vault-audit"
REPORT="$VAULT/vault-audit/${DATE}-audit.md"
echo "Report path: $REPORT"

3b. 次の正確な構成でレポートを作成します。

# Vault Cleanup Audit — YYYY-MM-DD

Generated: YYYY-MM-DD HH:MM

**Summary:** 🔴 [N] stale | 🟡 [N] incomplete | 🟡 [N] dupes | 🟢 [N] empty

---

## 🔴 Stale Drafts (30+ days, unposted)

- [Nd old] path/to/file.md
[cap at 15 items — add "...and N more" if over]

## 🟡 Incomplete Files (no headings, 5+ lines)

- path/to/file.md (N lines)
[cap at 15]

## 🟡 Duplicate Filenames

- **filename.md**
  - path/one/filename.md
  - path/two/filename.md
[cap at 15 duplicate names]

## 🟢 Empty Folders

- path/to/folder/
[cap at 15]

---

**What to do:**
- 🔴 Stale drafts: post them, delete them, or archive to `content/posted/`
- 🟡 Incomplete files: finish or trash
- 🟡 Duplicates: merge or rename the less important one
- 🟢 Empty folders: safe to delete (or keep if you're about to use them)

3c. 概要をターミナルに出力します。

✅ Audit saved to: vault-audit/YYYY-MM-DD-audit.md

Summary:
🔴 [N] stale drafts
🟡 [N] incomplete files
🟡 [N] duplicate filenames
🟢 [N] empty folders

PHASE 4: SELF-CRITIQUE

最終確定する前に、次の点を確認してください。

  1. 4 つのチェックがすべて実行されている — 各 === CHECK N === / === END CHECK N === マーカーの間に出力があることを確認します。チェックで何も出力されなかった場合は、そのセクションを省略せず、レポートに「問題は 0 件です」と記載してください。
  2. 件数が正確である — 概要の件数が、各セクションに記載された実際の項目数と一致している必要があります。不確かな場合は数え直してください。
  3. レポートが正しく保存されている — vault-audit/YYYY-MM-DD-audit.md にファイルが存在することを確認します。書き込みに失敗した場合は、エラーを報告し、レポートの内容を本文に記載してください。
  4. 空のセクションがない — 各セクションには、項目を列挙するか、「問題はありません」と記載してください。セクション見出しの下を空欄のままにしないでください。

最終結果を提示する前に、失敗した項目を修正してください。


レポート例

# Vault Cleanup Audit — 2026-03-01

Generated: 2026-03-01 08:14

**Summary:** 🔴 3 stale | 🟡 2 incomplete | 🟡 1 dupe | 🟢 2 empty

---

## 🔴 Stale Drafts (30+ days, unposted)

- [47d old] content/ready-to-post/linkedin/2026-01-12-ai-systems-post.md
- [38d old] content/ready-to-post/twitter/2026-01-21-founder-ops.md
- [31d old] content/ready-to-post/newsletter/2026-01-28-tools-roundup.md

## 🟡 Incomplete Files (no headings, 5+ lines)

- bambf/research/untitled-notes.md (23 lines)
- thinking/random-thoughts.md (11 lines)

## 🟡 Duplicate Filenames

- **README.md**
  - bambf/brand/README.md
  - bambf/tracking/README.md

## 🟢 Empty Folders

- content/queue/rejected/
- bambf/clients/archived/

---

**What to do:**
- 🔴 Stale drafts: post them, delete them, or archive to `content/posted/`
- 🟡 Incomplete files: finish or trash
- 🟡 Duplicates: merge or rename the less important one
- 🟢 Empty folders: safe to delete (or keep if you're about to use them)

要件

  • bash ツールにアクセスできる Claude Code
  • Bash と標準 Unix ツール:find、grep、wc、stat、date、awk
  • 保管庫ディレクトリへの読み取りアクセス
  • 保管庫内の vault-audit/ への書き込みアクセス(自動作成)
  • API、有料サービス、外部依存関係は不要

コメント