CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

postgres-adopt

Detect which gbrain engine is in use (PGLite vs Postgres), prefer Postgres for agent-harness installs, install/provision Postgres (Supabase discovery via SUPABASE_ACCESS_TOKEN, local Postgres, opt-in Docker), and move an existing PGLite brain to Postgres with its history (plan, ask, run). Detection is one engine-free command; the install ladder is one flag.

Quality

87%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

96%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

An exemplary command-first skill body: concrete executable commands with explicit output fields to branch on, a sequenced workflow with real validation and consent checkpoints for a destructive data migration, and lean prose that only contains tool-specific knowledge. The only structural note is that all content lives inline in one file with no reference split, which is defensible at this length but leaves minor room for a Step 3 reference file.

DimensionReasoningScore

Conciseness

Lean and efficient throughout: every section carries gbrain-specific facts Claude could not know ("effective_engine: null (no brain) → Step 2", "the docker rung needs --allow-docker", "graduation_source_writer_held names the process to stop"), with zero padding and no explanation of concepts Claude already knows. Matches anchor 5; it is not 4 because there is no identifiable over-explanation to trim.

5 / 5

Actionability

Fully executable, copy-paste-ready commands cover every common case: "gbrain engine status --json", "gbrain init --prefer-postgres", "gbrain migrate --to postgres --url-env GBRAIN_TARGET_URL --yes --expect <plan_hash>", "gbrain migrate --status --json", plus the exact JSON fields to branch on (effective_engine, db_url_source, graduation.state). Matches anchor 5; not 4 because no key step lacks its concrete command.

5 / 5

Workflow Clarity

A clearly sequenced 4-step workflow with explicit validation checkpoints and feedback loops for the destructive migration: plan first ("exits 3 with the confirmation_required document"), run only after user consent with "--yes --expect <plan_hash>", "preview_changed means the plan changed: go back to step 2", and post-run doctor verification. The destructive-operation cap at 3 does not apply because validation is thoroughly present; this matches anchor 5, not 4, since every checkpoint is explicit and every failure path names its fix.

5 / 5

Progressive Disclosure

No bundle files exist; the skill is a single ~155-line file with well-organized sections, and the deep migration detail is correctly deferred to a clearly signaled external guide ("Full reference: [Move a PGLite brain to Postgres](...move-to-postgres.md)") plus sibling-skill links. Matches anchor 4 (good structure, references clear, minor organization gaps) rather than 5 because nothing is split across bundle files and the Step 3 sub-procedure is detailed enough that it could live in a reference file; not 3 because structure and signaling are genuinely good, not merely present.

4 / 5

Total

19

/

20

Passed

Description

75%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A specific, well-scoped description that clearly states what the skill does at a level of detail few descriptions reach. Its main weakness is that the 'when to use' guidance is split out of the description into other frontmatter fields, leaving the description text itself without an explicit 'Use when...' clause, and the natural verb 'migrate' is missing from its trigger phrasing.

Suggestions

Append an explicit 'Use when...' clause to the description field itself (e.g., 'Use when the user asks which gbrain engine is in use, wants to upgrade/migrate PGLite to Postgres, or asks to move their brain to Supabase') so the description is self-contained for skill selection.

Add the verb 'migrate' to the description and trigger phrases — it is the command's own word and the most likely user phrasing ('migrate my brain to postgres', 'migrate gbrain to postgres').

Consider folding one or two of the most distinctive trigger phrases (e.g., 'pglite or postgres', 'move my brain to supabase') into the description sentence so they surface in contexts where only the description text is visible.

DimensionReasoningScore

Specificity

Lists multiple concrete actions with comprehensive coverage: "Detect which gbrain engine is in use (PGLite vs Postgres)", "install/provision Postgres (Supabase discovery via SUPABASE_ACCESS_TOKEN, local Postgres, opt-in Docker)", and "move an existing PGLite brain to Postgres with its history (plan, ask, run)". Every action is specific down to env-var names, matching the anchor for comprehensive concrete actions rather than the score-4 anchor, which expects minor coverage gaps.

5 / 5

Completeness

The "what" is explicit and detailed (detect, install/provision, move with history), but the description field itself contains no "Use when..." clause or equivalent trigger guidance — the when-guidance lives in separate frontmatter fields ("triggers", "when_to_use") rather than in the description. Per the guideline that a missing 'Use when...' clause caps completeness at 3, this matches anchor 3 (clear 'what', 'when' missing); it is not 4 because the 'when' is not explicit within the description text itself.

3 / 5

Trigger Term Quality

Good natural-phrase coverage: "pglite or postgres", "upgrade to postgres", "switch gbrain to postgres", "move my brain to supabase", "install postgres for gbrain". Not 5 because the verb "migrate" — the command's own word and a likely user phrasing ("migrate my brain to postgres") — is absent from the description's keywords; not 3 because many natural user phrasings are present, not just technical jargon.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear niche with distinct triggers: "gbrain engine", "PGLite", "Supabase discovery via SUPABASE_ACCESS_TOKEN" are highly specific to this one tool and workflow, so it would not trigger for unrelated skills. Matches anchor 5 (clear niche, minimal conflict risk) rather than 4, which expects some overlap with closely related skills.

5 / 5

Total

17

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

relative_links

Relative link issues: 2 suspicious

Warning

Total

14

/

16

Passed

Repository

garrytan/gbrain

Path

plugin-variants/gbrain-coding/skills/postgres-adopt/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.