LookupMark File Indexer

v1.1.0

Fast filesystem catalog for finding files by name, date, type, or size. Indexes metadata only (no content). Uses SQLite for instant lookups. Triggers on "fin...

0· 26·0 current·0 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Pending
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the code and SKILL.md: ALLOWED_ROOTS are ~/Documenti and ~/Scaricati, it indexes metadata (name, size, date, ext), and stores results in ~/.local/share/file-indexer/catalog.db. No unrelated credentials, binaries, or external services are requested.
Instruction Scope
Instructions and the script stay within the stated scope (rebuild, update, search, stats). One privacy-related caveat: filenames and paths can themselves contain sensitive information (e.g., 'passwords.txt' or token-like names). The SKILL.md claims 'No secrets' which is technically true for file contents but filenames and paths may still leak sensitive info and should be considered when enabling indexing.
Install Mechanism
No install spec; this is instruction+script only. The script is included in the package and runs locally with python3. There are no downloads or external installers.
Credentials
The skill requests no environment variables or credentials. It only reads the filesystem under the declared ALLOWED_ROOTS and writes a local SQLite DB. The requested scope is proportional to the described functionality.
Persistence & Privilege
always:false and normal agent invocation. The skill stores its DB under the user's home (~/.local/share/file-indexer/catalog.db) which is expected for this functionality and does not modify other skills or system-wide settings.
Assessment
This skill appears to do exactly what it claims: build a local metadata-only catalog of filenames, sizes, dates, and extensions under ~/Documenti and ~/Scaricati and store it in a local SQLite DB. Before installing or running it, consider: (1) Filenames and paths can reveal sensitive information even if file contents are not read — review ALLOWED_ROOTS and BLOCKED_DIRS and add any extra directories you want excluded. (2) The DB is created at ~/.local/share/file-indexer/catalog.db; check filesystem permissions and back up or delete the DB if you want to remove traces. (3) The script requires python3 and SQLite; if your system SQLite lacks FTS5, the script will fall back to a slower LIKE search (behavior is handled in code). (4) If you need different roots (non-Italian locale) update ALLOWED_ROOTS before running. If you want extra assurance, inspect or run the script in a safe environment (or run with a read-only mount) to verify it only reads metadata.

Like a lobster shell, security has layers — review code before you run it.

latestvk970fbzh3gcmz0h10a1vzvczad846v1k

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

File Indexer

Fast metadata-based file catalog. No content indexed — only filenames, sizes, dates, and extensions.

Usage

# Build/rebuild the index (run once, or periodically)
python3 scripts/indexer.py --rebuild

# Update incrementally (fast — adds new, removes deleted)
python3 scripts/indexer.py --update

# Search by filename
python3 scripts/indexer.py --search "budget"

# Filter by extension
python3 scripts/indexer.py --search "report" --ext .pdf

# Filter by size
python3 scripts/indexer.py --search "" --min-size 10485760   # > 10MB

# Filter by date
python3 scripts/indexer.py --search "" --after 2026-03-01

# Index statistics
python3 scripts/indexer.py --stats

Security

  • ALLOWED_ROOTS: Only ~/Documenti and ~/Scaricati — same as RAG
  • BLOCKED_DIRS: .ssh, .gnupg, .config, credentials, .local, .cache, .Trash
  • Zero content: Only metadata (name, size, date, extension) — never reads file contents
  • No secrets: Paths to sensitive dirs are never indexed
  • Local only: SQLite DB at ~/.local/share/file-indexer/catalog.db

What Gets Indexed

YesNo
FilenameFile contents
ExtensionFull text
SizeEmbeddings
Modified datePreview
Directory pathThumbnails

Automation

Add to cron or heartbeat for periodic updates:

python3 scripts/indexer.py --update

Works well alongside local-rag: use this for "where is that file?" and RAG for "what does that file say?"

Files

2 total
Select a file
Select a file to preview.

Comments

Loading comments…