CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

slackdump-sqlite3

Guidance for querying a Slackdump SQLite3 database directly via the sqlite3 CLI.

Quality

68%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./cmd/slackdump/internal/mcp/assets/skills/slackdump-sqlite3/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

68%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a dense, high-signal reference for querying a Slackdump SQLite database, with genuinely non-obvious semantics (thread flags, ID/TS, DATA JSON, latest-version dedup) and ready-to-run SQL. Its weaknesses are the reference-style organization without an explicit ordered workflow or result-validation steps, and a mislabeled pragmas section that explains CLI basics Claude already knows.

Suggestions

Fix the "Useful pragmas" section: `.tables` and `.schema` are sqlite3 dot-commands, not pragmas; either drop them or replace with actual useful pragmas (e.g., `PRAGMA table_info(MESSAGE);`) and skip basics Claude already knows.

Add a brief validation step to the query workflow, e.g. check which chunk types and sessions exist (`SELECT ID, TYPE_ID, SESSION_ID FROM CHUNK`) before applying the latest-version pattern.

Give a concrete command for locating the database (e.g., `find . -name 'slackdump*.sqlite'`) instead of the vague instruction to "look for" it.

DimensionReasoningScore

Conciseness

Nearly every section delivers non-obvious, Slackdump-specific knowledge (ID vs TS conversion, PARENT_ID/IS_PARENT semantics, DATA-column JSON access, latest-version deduplication) with no padding. Not a 5 because the "Useful pragmas" section mislabels basic sqlite3 dot-commands (`.tables`, `.schema`) that Claude already knows and adds little.

4 / 5

Actionability

Two complete, executable CTE queries with explicit `[CHANNEL_ID]`/`[PARENT_MESSAGE_ID]` placeholders, a runnable JSON_EXTRACT example, and a concrete table/type map make this mostly copy-paste ready. It misses a 5 due to gaps like the vague "Look for slackdump.sqlite in the current directory" (no actual command) and no example for the SEARCH_* tables.

4 / 5

Workflow Clarity

The sections imply a sensible order (locate database → enforce read-only → inspect schema → apply the latest-version query pattern) and the read-only guard is a real safety checkpoint, but the material is presented as a reference rather than a sequenced workflow with validation steps (e.g., verifying which chunk types/sessions exist before querying). This fits 'steps listed but validation gaps; checkpoints missing or implicit' better than 4's 'most checkpoints present'.

3 / 5

Progressive Disclosure

The single-file body is well organized with clear, scannable section headers and no nested or buried references, matching 'good structure; most content is appropriately placed'. It is not a 5 because the lookup-table material (key tables, chunk-type map) is inlined reference content that could live in a separate references file given the body exceeds the ~50-line simple-skill threshold.

4 / 5

Total

15

/

20

Passed

Description

53%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is concise and names a precise, distinctive niche (Slackdump SQLite3 via the sqlite3 CLI), but it states only a single generic action and completely lacks a 'use when' trigger clause. Adding natural trigger phrases and 2-3 concrete capabilities would raise it substantially.

Suggestions

Add an explicit trigger clause, e.g. "Use when the Slackdump MCP or SQLite MCP is unavailable and you need to query slackdump.sqlite directly."

Enumerate 2-3 concrete capabilities, e.g. "list channels and messages, read thread replies, extract reactions and other fields from the DATA JSON column."

Include natural synonyms and file extensions users would say, such as "slackdump.sqlite", "Slack export database", or ".sqlite file".

DimensionReasoningScore

Specificity

"Guidance for querying a Slackdump SQLite3 database directly via the sqlite3 CLI" names the domain precisely and one concrete action (querying), matching the anchor 'names domain and 1-2 concrete actions, but not comprehensive'. It is not a 4 because no further specific actions (e.g., extracting JSON fields, listing tables) are enumerated.

3 / 5

Completeness

The 'what' is clear (query a Slackdump SQLite3 database via the sqlite3 CLI) but there is no 'when' — no "Use when..." clause or equivalent trigger guidance, which per the guidelines caps completeness at 3. Not a 2 because the 'what' is concrete rather than vague.

3 / 5

Trigger Term Quality

Relevant keywords are present ("Slackdump", "SQLite3", "sqlite3 CLI", "database") but common variations users might say are missing — no ".sqlite" file extension, "Slack export", or "SQL query" phrasing. This fits 'some relevant keywords but missing common variations or synonyms', not 4's 'good keyword coverage'.

3 / 5

Distinctiveness Conflict Risk

"Slackdump SQLite3 database" carves out a clear niche with minimal conflict against generic SQLite or Slack skills, fitting 'mostly distinct; minor overlap risk'. It falls short of 5 only because the sparse trigger terms leave some overlap with a generic SQLite-querying skill.

4 / 5

Total

13

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository

rusq/slackdump

Path

cmd/slackdump/internal/mcp/assets/skills/slackdump-sqlite3/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.