index-freshness

Index Freshness Framework

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "index-freshness" with this command: npx skills add jamelna-apps/claude-dash/jamelna-apps-claude-dash-index-freshness

Index Freshness Framework

When This Activates

This skill activates when:

  • Search results don't match reality

  • User suspects indexes are stale

  • After significant code changes

  • Periodic maintenance checks

What Gets Indexed

Index Type File Contents

Summaries summaries.json

File descriptions, purposes

Functions functions.json

Function names, locations

Embeddings embeddings_v2.json

Semantic vectors for search

Schema schema.json

Database collections, fields

Health health.json

Code quality metrics

Staleness Detection

Indicators of Stale Indexes

  • Search misses - Can't find code you know exists

  • Wrong summaries - Descriptions don't match current code

  • Missing functions - New functions not in index

  • Old health data - Issues already fixed still showing

Automatic Detection

The system checks:

Files modified since last scan: 15 Last health scan: 3 days ago Last embedding update: 5 days ago Git commits since index: 12

Freshness Check Workflow

  1. Check Last Update Times

memory_health action=status project=gyst

Returns:

  • Last scan timestamp

  • Files changed since

  • Recommended action

  1. Identify Changed Files

The system tracks:

  • File modification times

  • Git commits since last index

  • Added/deleted/modified files

  1. Decide: Incremental or Full Reindex

Incremental (fast, <20 files changed):

  • Update only changed files

  • Preserve unchanged embeddings

Full Reindex (slower, but thorough):

  • When >20 files changed

  • After major refactors

  • If indexes seem corrupted

Reindex Triggers

Automatic (via Watcher)

  • File saved → summary updated

  • New file → added to index

  • File deleted → removed from index

Manual Triggers

Check freshness

python3 ~/.claude-dash/mlx-tools/freshness_checker.py /path/to/project project-id

Sync embeddings

python3 ~/.claude-dash/mlx-tools/embedding_sync.py project-id

Full reindex (via watcher)

~/.claude-dash/watcher/start-watcher.sh reindex project-id

When to Reindex

Scenario Action

Few files changed (<5) Auto-handled by watcher

Moderate changes (5-20) Incremental reindex

Major refactor (>20 files) Full reindex

Search results wrong Full reindex

After branch switch Check + incremental

New project setup Full index

Troubleshooting Stale Indexes

"Search can't find X"

  • Check if file exists

  • Check if file is in summaries.json

  • Check file modification time vs index time

  • Trigger reindex if needed

"Embeddings seem wrong"

  • Check embeddings_v2.json timestamp

  • Check if embedding provider changed

  • Consider full embedding regeneration

"Health shows fixed issues"

  • Check last scan timestamp

  • Run new health scan

  • Clear old health.json and rescan

MCP Tools

Check health status (includes freshness)

memory_health action=status project=gyst

Trigger scan

memory_health action=scan project=gyst

Workers for maintenance

workers_run worker=freshness project=gyst workers_run worker=consolidate

Best Practices

  • Let the watcher handle routine updates

  • Reindex after major refactors

  • Check freshness when search seems off

  • Don't reindex unnecessarily - it takes resources

Index File Sizes (Reference)

Typical sizes for a medium project:

summaries.json ~500KB functions.json ~200KB embeddings_v2.json ~5MB health.json ~50KB

If files seem too small, index may be incomplete.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

cost-tracking

No summary provided by upstream source.

Repository SourceNeeds Review
General

session-handoff

No summary provided by upstream source.

Repository SourceNeeds Review
General

smart-routing

No summary provided by upstream source.

Repository SourceNeeds Review
General

error-diagnosis

No summary provided by upstream source.

Repository SourceNeeds Review