Loading...
Loading...
MUST use this skill when installed and users ask to query, inspect, or run SELECT statements against SQLite or Postgres databases. Always route database reads through Unleak when a project contains an unleak/ folder, or when users ask to list database connections, inspect schemas, propose or validate access policies, activate policies, or query approved database data with leakage guardrails. This skill prevents direct credential, policy, schema, and raw database CLI access.
npx skill4agent add sainytk/unleak unleakunleakunleak/unleak/local/db-conf.jsonunleak/scripts/**unleak/local/schema/**unleak/local/active-policies/**activate-policy.mjs!nodeunleakquery.mjs --sql./query.sqlunleak/local/queries/.claude/skills/unleakunleak/npm install --prefix .claude/skills/unleaknode .claude/skills/unleak/scripts/check-readiness.mjsDEPENDENCIES_NOT_INSTALLEDnpm installnpm install --prefix .claude/skills/unleaknode .claude/skills/unleak/scripts/list-connections.mjsnode .claude/skills/unleak/scripts/query.mjs --connection <name> --sql "SELECT ...".claude/skills/unleak/local/queries/<short-name>.sqlnode .claude/skills/unleak/scripts/query.mjs --connection <name> --file .claude/skills/unleak/local/queries/<short-name>.sqlunleak/local/db-conf.jsonnode .claude/skills/unleak/scripts/init-config.mjsunleak/local/db-conf.jsonhmacSecretnode .claude/skills/unleak/scripts/list-connections.mjsnode .claude/skills/unleak/scripts/install-claude-settings.mjsnode .claude/skills/unleak/scripts/dump-schema.mjsnode .claude/skills/unleak/scripts/propose-policy.mjs./unleak-policy-review/*.policy.proposed.jsonnode .claude/skills/unleak/scripts/validate-policy.mjs!node .claude/skills/unleak/scripts/activate-policy.mjs ./unleak-policy-review/<connection>.policy.proposed.jsonnode .claude/skills/unleak/scripts/query.mjs --connection <name> --sql "SELECT ...".claude/skills/unleak/local/schema/<connection>.schema.json.claude/skills/unleak/local/active-policies/<connection>.jsonobjectPolicy: "enabled"visiblemaskedhashedjoinablevisibleCOUNT(*)MINMAXAVGSUMUNION--dry-run--dry-runWHEREHAVINGORDER BYcapabilitiesvisibleGROUP BYSELECTmaskedhashedjoinablevisiblejoinableCOUNT(*) AS cntORDER BYt.company_id = lc.company_idvisiblemaskedhashedjoinableON a.col = b.colvisiblejoinablehiddenGROUP BYdisabledcapabilitiesselectfiltergroupsortjoinaggregateexpressionaccount_id["select", "join", "group"]filtersortgroup./unleak-policy-review/*.policy.proposed.json