From tdk-memory
SHA256 integrity check of .specify/memory/ files against memory.yaml manifest. Detects modified, untracked, and missing files. Read-only — never modifies files. Optional --fix flag delegates repairs to tdk-memory-update.
How this skill is triggered — by the user, by Claude, or both
Slash command
/tdk-memory:tdk-memory-checksumThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**If the validation script errors, you MUST:**
If the validation script errors, you MUST:
If memory.yaml missing → STOP: "Run /tdk-memory-init first. No memory.yaml found."
--fix delegates to tdk-memory-update; never auto-applies fixesRead-only SHA256 integrity check. Detects: files modified outside tdk-memory-*
skills, untracked files not in manifest, manifest entries missing on disk.
Also checks screen completeness and memory-index.md consistency.
Scope: Validation only. Does NOT modify, update, or write any files.
$ARGUMENTS
Optional: --fix flag to delegate repair guidance after report.
Read .specify/memory/memory.yaml. Parse files[] array. Fail fast if absent or unparseable.
VENV_PY="$(pwd)/.venv/Scripts/python.exe"
[ -f "$VENV_PY" ] || VENV_PY="$(pwd)/.venv/bin/python3"
$VENV_PY "$(pwd)/.specify/plugins/tdk-memory/skills/tdk-memory-checksum/scripts/validate-memory-checksums-against-manifest.py" \
"$(pwd)/.specify/memory/"
Parse JSON output: mismatches[], missing_from_manifest[], missing_from_disk[], verified_count.
For each .md in screens/ (recursive), verify all 5 required v2 section anchors exist:
<!-- section: overview -->
<!-- section: scenarios -->
<!-- section: api-calls -->
<!-- section: ux-flow -->
<!-- section: components -->
Collect screens with missing anchors.
Verify all status: active files appear in memory-index.md active tables:
data-model/ appear in ## Data Model tabledomains/{domain}/ appear in matching ### {Domain} subsection under ## Files by Domainscreens/ appear in ## Screens tablescreen-flows/ appear in ## Screen Flows tableshared-flows/ appear in ## Shared Flows tabledomains/ subdirectories on diskVerify no _deprecated/ files appear in any active table.
╔══════════════════════════════════════════════════════╗
║ Memory Validation Report ║
╚══════════════════════════════════════════════════════╝
SHA256 Integrity
✅ {N} files verified
⚠️ {N} MISMATCHES (changed outside tdk-memory):
- screens/auth/login.md
Untracked Files
⚠️ {N} not in manifest: [list]
Missing Files
❌ {N} in manifest but deleted from disk: [list]
Screen Completeness
⚠️ {N} screens missing required section anchors: [list]
Required: overview, scenarios, api-calls, ux-flow, components
Index Consistency
✅ memory-index.md consistent | ⚠️ N inconsistencies
- data-model/orders.md not listed in ## Data Model
- domains/auth/ not in Domain Map
Summary: {N} issues | Severity: CLEAN | WARNING | ERROR
Severity:
CLEAN — zero issuesWARNING — mismatches or incomplete screens (fixable)ERROR — files deleted from disk (data loss risk)If --fix present: AskUserQuestion which categories to address:
/tdk-memory-update)Do NOT auto-apply — user selects, then invoke /tdk-memory-update steps.
Reminder: "Run /tdk-memory-changelog before committing to record these changes."
scripts/validate-memory-checksums-against-manifest.py — SHA256 comparison + manifest scannpx claudepluginhub vinhltt/tdk --plugin tdk-memoryCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.