Quick SQLite Database Operations

VerifiedCaution

Quickly perform operations on a SQLite database: schema inspection, add columns, seed test data, and run read-only queries.

Sby Skills Guide Bot
Data & AIIntermediate
7/24/2026
Claude Code
#sqlite#drizzle-orm#database-migrations#seed-data#schema-inspection

Recommended for

Automated summary

This skill performs small, single-step operations on the SQLite content database (`src/data/data.sqlite`): show the schema, add one column through a Drizzle migration, seed a handful of test rows, or run a read-only SELECT query.

Strengths

  • Covers the four most common content-database chores: schema view, column addition, seeding and querying
  • Enforces the Drizzle workflow (edit the table file, then `db:generate` and `db:migrate`) instead of a raw ALTER TABLE
  • States project conventions up front: foreign keys enforced, ISO 8601 dates as text, booleans as integers 0/1
  • Points explicitly to angora-schema, angora-import and angora-media when a task outgrows quick operations

Limitations

  • Scoped to one step at a time: no table design or relational modeling
  • Assumes an existing project layout with `src/data/db.ts` and table definitions under `src/data/schema/tables/`
  • Every schema change requires user approval, which slows down batches of edits
When to use it

Use it when you need to inspect the existing schema, add a column, insert a few sample rows, or check data with a read-only query.

When not to use it

Avoid it for designing new tables, reworking relationships, or bulk-importing CSV/JSON files from the inbox.

Security analysis

Caution
Quality score82/100

The skill is a legitimate local dev-tooling helper: it inspects Drizzle schema files, runs migrations via pnpm scripts, seeds sample rows, and runs SELECTs against src/data/data.sqlite. There is no network exfiltration, no curl|sh, no secret access, no obfuscation, and it explicitly requires user approval for schema changes. It lands in 'caution' because it drives bash/node and performs real database writes, and because template interpolation of user arguments into inline scripts plus hand-waved read-only enforcement creates modest injection/accidental-write risk.

Findings
  • •No allowed-tools declared, so the skill implicitly relies on unrestricted bash/node execution without an explicit capability boundary.
  • •Executes inline `node -e` scripts against a local SQLite database, including INSERT seeding — real write side effects on project data.
  • •Templates user-supplied table/column names directly into shell-embedded script strings, which is a mild command-injection surface if argument text is not validated.
  • •The 'query is read-only, refuse writes' rule is enforced only by instruction text, not by a technical guard (e.g., read-only DB connection or query parser).
How this analysis is made

Examples

Inspect the schema
Show me the schema of src/data/data.sqlite and tell me what columns the media table has.
Add a column
Add a company column to the testimonials table using a Drizzle migration, and confirm with me before applying it.
Seed and query
Seed 4 realistic rows into pricing_tiers, then count draft vs published posts grouped by author.

name: angora-data description: Quick operations on src/data/data.sqlite — inspect the current schema, add a single column to an existing table via Drizzle migration, seed 2-5 test rows, or run a read-only SELECT/COUNT query. Trigger whenever the user wants a small, single-step database operation. Phrases like 'add a company column to testimonials', 'seed 5 rows into pricing_tiers', 'show me the schema', 'count draft vs published posts grouped by author', 'what's in the media table', 'add a phone column to team_members' all trigger this. For designing new tables or rethinking relationships use angora-schema; for bulk imports from inbox files use angora-import. argument-hint: [command]

Data: $ARGUMENTS

Quick operations on the SQLite content layer (src/data/data.sqlite).

Commands

| Command | Action | |---------|--------| | schema (or no arguments) | Show full database schema (glob src/data/schema/tables/*.ts) | | add column <table> <column> | Add a column to the Drizzle schema, generate and apply migration (confirm first) | | seed <table> | Generate 2-5 realistic sample rows | | query <description> | Run a read-only query and display results |

Schema inspection

Glob src/data/schema/tables/*.ts to discover tables, then read individual files for column details. No need to query the database for structure.

Read-only queries

node -e "
  import db from './src/data/db.ts';
  import { media } from './src/data/schema/tables/media.ts';
  const rows = db.select().from(media).all();
  console.table(rows);
"

Use Drizzle's typed API. Import the relevant table from schema/tables/<table>.ts and use db.select(), .where(), etc.

Schema changes (ALTER TABLE, etc.)

All DDL goes through the Drizzle workflow:

  1. Edit the table's file in src/data/schema/tables/ — add the column to the table definition
  2. Generate migration — pnpm db:generate
  3. Apply migration — pnpm db:migrate

Each step requires user approval.

Seeding data

node -e "
  import db from './src/data/db.ts';
  import { <table> } from './src/data/schema/tables/<table>.ts';
  db.insert(<table>).values([
    { /* row 1 */ },
    { /* row 2 */ },
  ]).run();
  console.log('Seeded.');
"

Rules

  • All schema changes require user approval before executing.
  • Foreign keys are ON — respect referential integrity.
  • Use text() for dates (ISO 8601 format).
  • Use integer() for booleans (0/1).
  • query runs read-only — refuse writes via this command.

For heavier work

This skill is for quick operations. For more involved work, use /angora:

  • Schema design (new tables, relational modeling, SEO fields) → /angora-schema
  • Data import (CSV, JSON from inbox) → /angora-import
  • Media processing (images from inbox) → /angora-media

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/quick-sqlite-database-operations-mryiqiii/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/quick-sqlite-database-operations-mryiqiii' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/quick-sqlite-database-operations-mryiqiii/download' --output '.skill-downloads/quick-sqlite-database-operations-mryiqiii/SKILL.md.part' && mv '.skill-downloads/quick-sqlite-database-operations-mryiqiii/SKILL.md.part' '.skill-downloads/quick-sqlite-database-operations-mryiqiii/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/quick-sqlite-database-operations-mryiqiii/SKILL.md' && test -s '.skill-downloads/quick-sqlite-database-operations-mryiqiii/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/angora-data' && cp -R '.skill-downloads/quick-sqlite-database-operations-mryiqiii' '.claude/skills/angora-data'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/quick-sqlite-database-operations-mryiqiii'

openskills read 'quick-sqlite-database-operations-mryiqiii'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/quick-sqlite-database-operations-mryiqiii/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills