sqlite-map-parser
Converts SQLite database content into JSON format to aid in schema exploration and data analysis.
Install
mkdir -p .claude/skills/sqlite-map-parser && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/5149" && unzip -o skill.zip -d .claude/skills/sqlite-map-parser && rm skill.zipInstalls to .claude/skills/sqlite-map-parser
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Parse SQLite databases into structured JSON data. Use when exploring unknown database schemas, understanding table relationships, and extracting map data as JSON.Key capabilities
- →Explore database schemas by listing tables
- →Inspect table column names and types
- →Identify primary and foreign key relationships
- →Extract data into structured JSON objects
- →Handle missing tables gracefully during queries
How it works
The skill explores the database schema using PRAGMA commands and sqlite_master, then extracts and transforms the data into JSON.
Inputs & outputs
When to use sqlite-map-parser
- →Parsing unknown database schemas
- →Extracting SQLite data to JSON
- →Mapping table relationships
About this skill
SQLite to Structured JSON
Parse SQLite databases by exploring schemas first, then extracting data into structured JSON.
Step 1: Explore the Schema
Always start by understanding what tables exist and their structure.
List All Tables
SELECT name FROM sqlite_master WHERE type='table';
Inspect Table Schema
-- Get column names and types
PRAGMA table_info(TableName);
-- See CREATE statement
SELECT sql FROM sqlite_master WHERE name='TableName';
Find Primary/Unique Keys
-- Primary key info
PRAGMA table_info(TableName); -- 'pk' column shows primary key order
-- All indexes (includes unique constraints)
PRAGMA index_list(TableName);
-- Columns in an index
PRAGMA index_info(index_name);
Step 2: Understand Relationships
Identify Foreign Keys
PRAGMA foreign_key_list(TableName);
Common Patterns
ID-based joins: Tables often share an ID column
-- Main table has ID as primary key
-- Related tables reference it
SELECT m.*, r.ExtraData
FROM MainTable m
LEFT JOIN RelatedTable r ON m.ID = r.ID;
Coordinate-based keys: Spatial data often uses computed coordinates
# If ID represents a linear index into a grid:
x = id % width
y = id // width
Step 3: Extract and Transform
Basic Pattern
import sqlite3
import json
def parse_sqlite_to_json(db_path):
conn = sqlite3.connect(db_path)
conn.row_factory = sqlite3.Row # Access columns by name
cursor = conn.cursor()
# 1. Explore schema
cursor.execute("SELECT name FROM sqlite_master WHERE type='table'")
tables = [row[0] for row in cursor.fetchall()]
# 2. Get dimensions/metadata from config table
cursor.execute("SELECT * FROM MetadataTable LIMIT 1")
metadata = dict(cursor.fetchone())
# 3. Build indexed data structure
data = {}
cursor.execute("SELECT * FROM MainTable")
for row in cursor.fetchall():
key = row["ID"] # or compute: (row["X"], row["Y"])
data[key] = dict(row)
# 4. Join related data
cursor.execute("SELECT * FROM RelatedTable")
for row in cursor.fetchall():
key = row["ID"]
if key in data:
data[key]["extra_field"] = row["Value"]
conn.close()
return {"metadata": metadata, "items": list(data.values())}
Handle Missing Tables Gracefully
def safe_query(cursor, query):
try:
cursor.execute(query)
return cursor.fetchall()
except sqlite3.OperationalError:
return [] # Table doesn't exist
Step 4: Output as Structured JSON
Map/Dictionary Output
Use when items have natural unique keys:
{
"metadata": {"width": 44, "height": 26},
"tiles": {
"0,0": {"terrain": "GRASS", "feature": null},
"1,0": {"terrain": "PLAINS", "feature": "FOREST"},
"2,0": {"terrain": "COAST", "resource": "FISH"}
}
}
Array Output
Use when order matters or keys are simple integers:
{
"metadata": {"width": 44, "height": 26},
"tiles": [
{"x": 0, "y": 0, "terrain": "GRASS"},
{"x": 1, "y": 0, "terrain": "PLAINS", "feature": "FOREST"},
{"x": 2, "y": 0, "terrain": "COAST", "resource": "FISH"}
]
}
Common Schema Patterns
Grid/Map Data
- Main table: positions with base properties
- Feature tables: join on position ID for overlays
- Compute (x, y) from linear ID:
x = id % width, y = id // width
Hierarchical Data
- Parent table with primary key
- Child tables with foreign key reference
- Use LEFT JOIN to preserve all parents
Enum/Lookup Tables
- Type tables map codes to descriptions
- Join to get human-readable values
Debugging Tips
-- Sample data from any table
SELECT * FROM TableName LIMIT 5;
-- Count rows
SELECT COUNT(*) FROM TableName;
-- Find distinct values in a column
SELECT DISTINCT ColumnName FROM TableName;
-- Check for nulls
SELECT COUNT(*) FROM TableName WHERE ColumnName IS NULL;
When not to use it
- →When the database is not in SQLite format
Limitations
- →Requires knowledge of the database structure for complex joins
- →Limited to SQLite databases
How it compares
It automates the schema exploration and data transformation process compared to manually writing individual SQL queries for every table.
Compared to similar skills
sqlite-map-parser side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| sqlite-map-parser (this skill) | 1 | 6mo | No flags | Intermediate |
| sql-queries | 18 | 5mo | No flags | Intermediate |
| senior-data-engineer | 21 | 7mo | Review | Advanced |
| powerbi-modeling | 11 | 6mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by benchflow-ai
View all by benchflow-ai →You might also like
sql-queries
anthropics
Write correct, performant SQL across all major data warehouse dialects (Snowflake, BigQuery, Databricks, PostgreSQL, etc.). Use when writing queries, optimizing slow SQL, translating between dialects, or building complex analytical queries with CTEs, window functions, or aggregations.
senior-data-engineer
davila7
World-class data engineering skill for building scalable data pipelines, ETL/ELT systems, and data infrastructure. Expertise in Python, SQL, Spark, Airflow, dbt, Kafka, and modern data stack. Includes data modeling, pipeline orchestration, data quality, and DataOps. Use when designing data architectures, building data pipelines, optimizing data workflows, or implementing data governance.
powerbi-modeling
github
Power BI semantic modeling assistant for building optimized data models. Use when working with Power BI semantic models, creating measures, designing star schemas, configuring relationships, implementing RLS, or optimizing model performance. Triggers on queries about DAX calculations, table relationships, dimension/fact table design, naming conventions, model documentation, cardinality, cross-filter direction, calculation groups, and data model best practices. Always connects to the active model first using power-bi-modeling MCP tools to understand the data structure before providing guidance.
data-quality-frameworks
wshobson
Implement data quality validation with Great Expectations, dbt tests, and data contracts. Use when building data quality pipelines, implementing validation rules, or establishing data contracts.
fuzzy-matching
dadbodgeoff
Multi-stage fuzzy matching pipeline for entity reconciliation. PostgreSQL trigram pre-filter, salient overlap check, and multi-factor similarity scoring.
query-writing
langchain-ai
For writing and executing SQL queries - from simple single-table queries to complex multi-table JOINs and aggregations