sqlc
Working with sqlc and database queries
How do I install this agent skill?
npx skills add https://github.com/kalbasit/ncps --skill sqlcIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides standard instructions for generating Go code from SQL queries using the sqlc tool. It outlines a routine development workflow involving local command-line tools with no evidence of malicious behavior, external data exfiltration, or prompt injection.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- Runlayerpass
1/1 file flagged
What does this agent skill do?
SQLC Skill
This skill provides instructions for working with sqlc and database queries in the NCPS repository. NCPS supports multiple database engines (SQLite, PostgreSQL, MySQL), and sqlc is used to generate type-safe Go code from SQL queries for each engine.
Configuration
- SQLC Config:
sqlc.yml - Queries:
- SQLite:
db/query.sqlite.sql - PostgreSQL:
db/query.postgres.sql - MySQL:
db/query.mysql.sql
- SQLite:
- Output:
- SQLite:
pkg/database/sqlitedb - PostgreSQL:
pkg/database/postgresdb - MySQL:
pkg/database/mysqldb
- SQLite:
Workflow for Query Changes
Any time a query file (db/query.<engine>.sql) is updated, you MUST follow these steps:
1. Generate SQLC Code
Run the sqlc generate command to update the generated Go files for all engines.
sqlc generate
2. Regenerate Database Wrappers and Models
Run go generate for the pkg/database package. This command uses sqlc-multi-db (via go tool) to automatically:
- Extract the
Querierinterface from thepostgresdbbackend. - Generate the common
Querierinterface inpkg/database/querier.go. - Generate common domain models in
pkg/database/models.go. - Generate database wrappers (
wrapper_sqlite.go,wrapper_postgres.go,wrapper_mysql.go).
go generate ./pkg/database
[!IMPORTANT] Do NOT manually edit
pkg/database/querier.goorpkg/database/models.go. They are fully automated.
Best Practices
-
Consistency: Ensure that equivalent queries exist for all supported engines unless the feature is engine-specific.
-
Linting: Use
sqlfluffto lint and format SQL files before runningsqlc generate.sqlfluff lint db/query.*.sql sqlfluff format db/query.*.sql
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/kalbasit/ncps/sqlc">View sqlc on skillZs</a>