/q - Quick SQLite Search

SkillSearch

Fast SQLite-based vault search using FTS5 full-text search index

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the /q - Quick SQLite Search skill

What this skill tells your AI

The instructions your AI receives, as published by davidroliverba/architectkb in .claude/skills/q/SKILL.md and read by ahel’s review.

Fast vault search using the SQLite FTS5 index. Returns results in milliseconds instead of seconds.

Prerequisites

The SQLite index must be built first:

npm run vault:index

Usage Patterns

Full-text Search

/q architecture patterns
/q "event driven"        # Phrase search
/q kafka integration     # Multiple terms (AND)

Type Filter

/q type:Adr             # All ADRs
/q type:Project status:active
/q type:Task priority:high

Tag Search

/q tag:technology/aws
/q tag:project/your-project

Recent Notes

/q recent               # Modified in last 7 days
/q recent:30            # Modified in last 30 days

Backlinks

/q backlinks:"Project - Your Project"
/q backlinks:"System - Your System"

Orphans

/q orphans              # Notes with no backlinks

Implementation

Execute the appropriate SQLite query based on the search pattern.

Full-text Search Query

sqlite3 .data/vault.db -markdown "
SELECT n.path, snippet(fts_content,1,'→','←','...',40) as match
FROM fts_content
JOIN notes n ON fts_content.rowid = n.id
WHERE fts_content MATCH '<search_terms>'
ORDER BY rank
LIMIT 20
"

Type Filter Query

sqlite3 .data/vault.db -markdown "
SELECT path, title, status, priority
FROM notes
WHERE type = '<Type>'
ORDER BY modified DESC
LIMIT 20
"

Tag Search Query

sqlite3 .data/vault.db -markdown "
SELECT n.path, n.title, n.type
FROM notes n
JOIN tags t ON n.id = t.note_id
WHERE t.tag = '<tag>'
ORDER BY n.modified DESC
LIMIT 20
"

Recent Notes Query

sqlite3 .data/vault.db -markdown "
SELECT path, title, type, modified
FROM notes
WHERE modified >= date('now', '-<days> days')
ORDER BY modified DESC
LIMIT 30
"

Backlinks Query

sqlite3 .data/vault.db -markdown "
SELECT n.path, n.title, n.type
FROM notes n
JOIN links l ON n.id = l.source_id
WHERE l.target_path LIKE '%<note_name>%'
ORDER BY n.modified DESC
"

Orphans Query

sqlite3 .data/vault.db -markdown "
SELECT n.path, n.title, n.type
FROM notes n
LEFT JOIN links l ON n.id = l.target_id
WHERE l.target_id IS NULL
  AND n.type NOT IN ('DailyNote', 'MOC', 'Dashboard', 'Query')
ORDER BY n.modified DESC
"

Performance

Query TypeGrep/GlobSQLiteImprovement
Full-text5-15 sec0.01s~1000x
Type filter3-5 sec0.007s~500x
Tag search2-5 sec0.007s~500x
Backlinks10+ sec0.01s~1000x

Rebuilding the Index

The index should be rebuilt when vault content changes significantly:

npm run vault:index      # Full rebuild
npm run vault:stats      # View current statistics

Tips

  1. Combine filters: /q type:Adr status:proposed technology/aws
  2. Use phrases: /q "data platform" for exact matches
  3. Wildcards: SQLite FTS5 supports * wildcards: /q architect*
  4. Present results: Format output as markdown table for readability

Signals

GitHub stars
52
Forks
12
Last commit
Mar 2026
Advanced
Catalog kind
skill
Gateway key
q-davidroliverba
Source
github.com/davidroliverba/architectkb