원클릭으로
storage
// Disk audit and dedup-hint skill. Reports repo sizes, oversized files, worktree bloat, and surfaces candidates for archival/cleanup. Cross-cutting machine-layer skill, sibling to /pp and /heart.
// Disk audit and dedup-hint skill. Reports repo sizes, oversized files, worktree bloat, and surfaces candidates for archival/cleanup. Cross-cutting machine-layer skill, sibling to /pp and /heart.
Load when working at the Starlight substrate layer — authoring SIP, forging alliances, spawning verticals, or generating SIP-compliant attestations. Not for vertical-specific work (use the vertical's SKILL.md).
Vertical-tier skill auto-activates when working inside verticals/crypto-intelligence/ or invoking any /crypto-* command. Enforces R5 non-advisory clause, voice (architect), refusal patterns, composition-with-Wealth-IS rules, and sovereignty discipline.
Vertical-tier skill for Crypto Intelligence Domain Sub-Stack. Auto-activates inside verticals/crypto-intelligence/ or on /crypto-* commands. Enforces R5 non-advisory clause, voice (architect), refusal patterns, composition with Wealth IS umbrella per Board 2026-05-17. Loads verticals/crypto-intelligence/SKILL.md wrapper for full doctrine.
House of On-Chain skill. Auto-activates on /crypto-onchain-* commands or work within verticals/crypto-intelligence/onchain/. Enforces R5 non-advisory clause inline, chain-data source citation, mechanism-context grounding, named output artifact discipline.
Catalogs, scaffolds, and audits the per-repo tech stack across every brand (Arcanea, FrankX, Business, Starlight, verticals). Four verbs — audit (walk repos + emit constellation), scaffold (drop STACK.md template into a target repo), assign (bind tools to substrate/reasoning/coding/research/ops tiers), diff (surface drift between STACK.md intent and reality from .mcp.json + .claude/ + settings.json + installed CLIs). Use this skill whenever the user mentions stack architecture, repo inventory, "which AI assistant for which repo", custom GPTs, MCP routing across brands, browser workspaces per project, or asks "do we have a clean view of our tech stack". Default skill for the Starlight Architect when the question spans repos rather than a single one.
Ops health monitor for the machine substrate. Checks Memory Bus, brain_watchdog, Voice Operator, dashboard, audit-log freshness, and scheduled tasks. Cross-cutting skill that any repo can invoke when daemons feel off or before starting a heavy work session.
| name | storage |
| description | Disk audit and dedup-hint skill. Reports repo sizes, oversized files, worktree bloat, and surfaces candidates for archival/cleanup. Cross-cutting machine-layer skill, sibling to /pp and /heart. |
| type | skill |
| domain | machine |
| trigger | /storage, "disk usage", "what's eating my disk", "cleanup candidates", "dedup", "storage emergency" |
Cross-cutting machine-layer skill. Where /pp watches RAM/CPU and /heart watches daemons, /storage watches where the disk is going.
pp flags storage as a constraintgit clone of a large repoweekly-recap)| Signal | Why it matters |
|---|---|
| Top 10 repos by size | Identifies the heaviest costs |
| Repos > 5 GB | Often hide nested worktrees / vendored deps / build artifacts |
| Files > 100 MB tracked in git | Should be LFS or .gitignored |
Worktrees (git worktree list) | Each worktree is a full working copy |
| node_modules / .venv on disk | Cumulative drain across repos |
| Memory Bus mempalace size | Vector DB can grow large unchecked |
| Audit log accumulation | memory/_audit/*.jsonl files past 30 days |
# Resolve the latest portfolio audit JSON (daily cron writes a new one)
$auditDir = 'C:\Users\frank\Starlight-Intelligence-System\memory\_audit'
$auditPath = Get-ChildItem -Path $auditDir -Filter 'repo-portfolio-*.json' -File -ErrorAction SilentlyContinue |
Sort-Object Name -Descending | Select-Object -First 1 | ForEach-Object FullName
if (-not $auditPath) {
Write-Host 'No repo-portfolio audit found — run tools/audit-repo-portfolio.ps1 first' -ForegroundColor Yellow
return
}
$audit = Get-Content $auditPath -Raw | ConvertFrom-Json
$auditAge = (Get-Date) - [DateTime]::Parse($audit.generated_at)
"Audit age: $([int]$auditAge.TotalDays) days"
# Top 10 repos by size
"`n=== Top 10 repos by size ==="
$audit.repos | Sort-Object size_mb -Descending | Select-Object -First 10 |
Format-Table @{N='Repo';E={$_.name}}, @{N='Size GB';E={[math]::Round($_.size_mb/1024, 1)}}, class, days_since -AutoSize
# Free disk space on C:
"`n=== Free space ==="
$drive = Get-CimInstance Win32_LogicalDisk -Filter "DeviceID='C:'"
"C:\ Free: $([math]::Round($drive.FreeSpace/1GB, 1)) GB / $([math]::Round($drive.Size/1GB, 1)) GB"
# Oversized non-git files (>100MB) in top repo
"`n=== Files >100MB in top repo ==="
$top = ($audit.repos | Sort-Object size_mb -Descending | Select-Object -First 1).path
if (Test-Path $top) {
Get-ChildItem $top -Recurse -File -ErrorAction SilentlyContinue |
Where-Object { $_.Length -gt 100MB -and $_.FullName -notmatch '\.git\\' } |
Sort-Object Length -Descending |
Select-Object -First 5 |
Format-Table @{N='Size MB';E={[math]::Round($_.Length/1MB,0)}}, FullName -AutoSize
}
# Audit log accumulation
"`n=== Audit log files >30 days old ==="
$auditDir = 'C:\Users\frank\Starlight-Intelligence-System\memory\_audit'
Get-ChildItem $auditDir -Filter '*.jsonl' -ErrorAction SilentlyContinue |
Where-Object { (Get-Date) - $_.LastWriteTime -gt (New-TimeSpan -Days 30) } |
Select-Object Name, @{N='Age days';E={[int]((Get-Date) - $_.LastWriteTime).TotalDays}}, @{N='Size KB';E={[math]::Round($_.Length/1KB,1)}} |
Format-Table -AutoSize
The audit JSON is canonical for repo metadata. If it's >7 days old, refresh:
pwsh tools/audit-repo-portfolio.ps1
/storage — Disk audit
Audit age: 6 days (stale > 7d would auto-refresh)
C:\ Free: 187.4 GB / 953.9 GB
Top repos:
1. FrankX 19.2 GB active (suspect: worktrees + nested sibling)
2. Arcanea 9.7 GB active (suspect: path-duplicate cluster)
3. frankx-prod-* ~9.0 GB active (4 sibling repos, candidates for dedup)
4. ...
Recommended actions:
- Run /storage --deep on FrankX (memory has known worktree bloat)
- Archive frankx-prod-* siblings older than 30 days
- 3 audit log files >30 days old (47 KB) — consider archive
/pp = capacity (am I going to run out)/heart = process health (is the substrate alive)/storage = disk distribution (where did all my disk go)Invoke as a trio at start of a sprint: /pp && /heart && /storage.
Built on SIP — operational-tier · machine substrate skill