smithery/nextronsystems

thor-db

Analyze THOR's SQLite database (thor10.db/thor11.db) for performance tuning, scan timing, resume state, and delta comparisons. Use when investigating slow scans, debugging performance, or understanding what THOR tracked.

Installation

$ npx skills add smithery/nextronsystems --skill thor-db

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/nextronsystems.

npx skills add smithery/nextronsystems

Browse all from smithery/nextronsystems

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,142 B
  • docs SUMMARY.md 235 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

THOR DB Skill

THOR maintains an SQLite database for timing telemetry, scan resume state, and delta comparisons between scans.

What ThorDB Covers

  • Performance telemetry – Timing data for rules, modules, and scan elements
  • Scan resume state – Markers to continue interrupted scans
  • Delta comparison – Compare current vs previous module results for --diff mode

Quick Commands

Disable ThorDB:

# v11
thor64.exe --exclude-component ThorDB -p C:\

# v10
thor64.exe --nothordb -p C:\

Override location (v11):

thor64.exe --thordb-path /custom/path/ -p C:\

Find the database:

# Windows admin
dir C:\ProgramData\thor\thor*.db

# Linux root
ls -la /var/lib/thor/thor*.db

# Linux user
ls -la ~/.local/state/thor/thor*.db

Open with SQLite:

sqlite3 /var/lib/thor/thor10.db

Use Cases

Performance Analysis

When THOR is slow, check what's taking time:

-- Top time sinks overall
SELECT category, element, count, duration/1e9 AS seconds
FROM times ORDER BY duration DESC LIMIT 20;

Identifying Slow Rules

Find rules or elements with high average time:

SELECT category, element, count,
       (duration*1.0/count)/1e9 AS avg_seconds
FROM times WHERE count >= 5
ORDER BY (duration*1.0/count) DESC LIMIT 20;

Resume Investigation

Check resume markers and scan metadata:

SELECT key, value FROM tbl ORDER BY key;

Resume Behavior

Resume requires ThorDB to be enabled and command line arguments to match.

THOR v11 Resume Flags

# Resume if state exists, otherwise run full scan
thor64.exe --resume-scan -p C:\

# Resume only if state exists, fail otherwise
thor64.exe --resume-only -p C:\

To clear resume state: run THOR once without --resume-scan.

THOR v10 Resume Flags

# Enable resume tracking (required since v10.5)
thor64.exe --resume -p C:\

Since THOR 10.5, resume state is not tracked by default due to performance implications. Start scans with --resume to enable resume capability.

To clear resume state: run THOR once without --resume.

References

  • [Database Locations](reference/locations.md) - Where to find ThorDB
  • [Schema Reference](reference/schema.md) - Tables and columns
  • [Useful Queries](reference/queries.md) - Analysis queries

Scripts

  • [thordbtoptimes.py](scripts/thordbtoptimes.py) - Top time consumers
  • [thordbexportcsv.py](scripts/thordbexportcsv.py) - Export to CSV/JSON
  • [thordbslowruleshint.py](scripts/thordbslowruleshint.py) - Tuning hints

Detecting DB Name

THOR 10 uses thor10.db, THOR 11 uses thor11.db. Older deployments may show thor.db.

# Check binary strings
strings ./thor-linux-64 | grep -E 'thor[0-9]+\.db'

# Or trace file opens during scan
strace -f -e openat ./thor-linux-64 --quick -p /tmp 2>&1 | grep -E 'thor[0-9]+\.db'