xsavikx/okf-skills

okf-postgresql

PostgreSQL connector that produces and ingests Open Knowledge Format (OKF) bundles from database schemas and table/column descriptions.

Vedi sorgente
Documento Skill originale

Contenuto dal repository con titoli, esempi, codice, tabelle, link e immagini preservati.

PostgreSQL OKF Connector

This skill provides a Go-based CLI tool to convert PostgreSQL database schemas and comments (table and column descriptions) into Open Knowledge Format (OKF) bundles, and synchronize comments back to a PostgreSQL database from an OKF bundle.

When to Use

Use this skill when you need to:

  1. Extract table structures, column definitions, keys, schemas, and native PostgreSQL comments (descriptions) from a schema into a portable OKF bundle.
  2. Synchronize business descriptions or documentation changes written in an OKF bundle back into native PostgreSQL table and column comments using native SQL comment mechanisms.

Setup

The connector requires Go 1.24+:

bash
# Install the published binary (Go 1.24+) — no clone needed:
go install github.com/xSAVIKx/okf-skills/skills/okf-postgresql@v0.1.0

# …or build from a clone of the repository:
cd skills/okf-postgresql
go build -o okf-postgresql .

How to Use

1. Produce an OKF Bundle

Extract database schema metadata and comments:

bash
./okf-postgresql produce --host <host> --port <port> --user <user> --password <password> --db <database-name> --schema <schema-name> --out <output-bundle-dir> [--tables <comma-separated-table-names>] [--sample <N>] [--profile]

2. Ingest / Synchronize an OKF Bundle

Synchronize table/column descriptions from the OKF bundle back into database comments:

bash
./okf-postgresql ingest --host <host> --port <port> --user <user> --password <password> --db <database-name> --schema <schema-name> --bundle <path-to-okf-bundle> [--sync]

Parameters:

  • --host (default localhost): PostgreSQL host.
  • --port (default 5432): PostgreSQL port.
  • --user (default postgres): PostgreSQL user.
  • --password (required): PostgreSQL password. May also be supplied via the PGPASSWORD environment variable to keep secrets out of the command line.
  • --db (required): Target database name.
  • --schema (default public): Target schema name.
  • --bundle (required for ingest): Path to the OKF bundle.
  • --out (required for produce): Path to output OKF bundle.
  • --tables (optional): Filter to extract only specific tables.
  • --sample <N> (optional): Embed up to N sample rows per table as a ## Sample section in each table doc (default 0 = none).
  • --profile (optional): Compute per-column statistics (non-null, null, distinct, min, max) and embed a ## Data Profile section.
  • --sync (optional for ingest): If provided, runs COMMENT ON TABLE ... and COMMENT ON COLUMN ... statements to synchronize descriptions.

3. Inspect the Schema (self-description)

Print a machine-readable JSON description of this skill's commands and flags (used by okf-mcp to expose the skill as an MCP tool):

bash
./okf-postgresql schema
dallo stesso repository

Altri Skills

Tutti gli Skills
xsavikx
Community

okf-csv

CSV connector that produces and ingests Open Knowledge Format (OKF) bundles from a directory of CSV files. Infers each file's column schema (integer/number/boolean/date/string) by sampling rows, optionally embeds a per-column data profile and sample rows, and syncs descriptions back to a .okf-metadata.yaml sidecar. Use when documenting or cataloging a folder of CSV/flat files, or capturing their inferred schema and stats as an OKF bundle. CGO-free, pure Go.

installazioni
1
GitHub Stars
34
Aggiornato
30 ago
xsavikx
Community

okf-enrich

Guidance for an AI agent to enrich an Open Knowledge Format (OKF) bundle with high-quality concept descriptions using its own LLM — grounded in the bundle's schema, data profile, and samples — then optionally sync them back to the source. Use when an OKF bundle has missing, weak, or low-quality descriptions that should be improved before publishing or ingestion. Instructions-only; no binary required.

installazioni
1
GitHub Stars
34
Aggiornato
30 ago
xsavikx
Community

okf-fs

Local filesystem connector that produces and ingests Open Knowledge Format (OKF) bundles documenting directory trees and file metadata, honoring .okfignore and .okf-metadata.yaml. Use when documenting or cataloging a local folder structure, or capturing filesystem metadata as an OKF bundle.

installazioni
1
GitHub Stars
34
Aggiornato
30 ago
xsavikx
Community

okf-graphql

GraphQL connector that produces and ingests Open Knowledge Format (OKF) bundles from a GraphQL SDL document. Parses the schema into one concept per user-defined type (object/input/interface/enum/union) and per root operation (query/mutation/subscription field), links fields and operations to the types they reference as native relationship edges, and syncs descriptions back to a .okf-metadata.yaml sidecar. Use when documenting or cataloging a GraphQL API from its schema, with no live server. Pure Go.

installazioni
1
GitHub Stars
34
Aggiornato
30 ago