Agent skill

Variants

by romeerez in romeerez/orchid-orm

A skill your agent uses when the user prompts "make variants".

MITAuto-check passedDatabases

Install Variants

skills CLI
$ npx skills add romeerez/orchid-orm --skill variants -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install romeerez/orchid-orm variants --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/romeerez/orchid-orm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/variants .claude/skills/variants && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
variants
GitHub stars
543
Token cost
~3.1k tokens
SKILL.md length
1,315 words
Files
2
Skills in repo
13
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when the user prompts "make variants".

  • Works in 10 steps: Identify the target change folder → Resolve the target idea → Read existing research for idea-specific… → …
  • The user prompts make variants
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Tasks that involve ORMs and data access

What it does

Variants is an agent skill from romeerez/orchid-orm. Use when the user prompts "make variants".

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Databases, covering ORMs and data access. It works with PostgreSQL. The licence is MIT.

When your agent uses it

  • The user prompts make variants
  • Tasks that involve ORMs and data access

Example prompts

  • “make variants”
  • “/variants”

Workflow steps

10 steps, taken from the first numbered list in SKILL.md.

  1. Identify the target change folder
  2. Resolve the target idea
  3. Read existing research for idea-specific context
  4. Decide how much new research is needed
  5. Research solution variants
  6. Inspect relevant orchid-orm documentation
  7. Read relevant references from research.md
  8. Derive the solution variants
  9. Write or update variants.md
  10. Source handling

What it can do on your machine

Read from SKILL.md and the folder at commit f819fb5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Variants loads about 3.1k tokens when it runs. Until then it costs about 13 tokens; SKILL.md has 1,315 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~13
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from romeerez/orchid-orm at commit f819fb5, republished under its MIT licence (© romeerez). 1,315 words, ~3,069 tokens.

Download SKILL.mdSave it as .claude/skills/variants/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
variants
description
Use when the user prompts "make variants".

Read a specific idea from changes/<feature-name>/ideas.md, research solution variants for it, and write or update changes/<feature-name>/<NUMBER-idea-name>/variants.md.

Input: The argument after /variants should include both:

  • A feature or change folder name
  • An idea number or idea title from changes/<feature-name>/ideas.md

Examples:

  • /variants 712-composite-foreign-keys 2
  • /variants row-level-security-integration "Policy-aware query configuration"
  • /variants composite-foreign-keys-in-relations 3

Goal

Produce a document that explains the goal of one specific idea and proposes one or more genuinely different user-facing solutions for achieving it.

This command is about solution design, not implementation planning. The output should help a human compare approaches, and it should also be clear enough that a later AI can use it as a reliable basis for a more detailed proposal.

The existing research.md is background context, but it is usually not enough on its own. Unless the idea is trivial and the solution space is obvious, do fresh idea-specific research to:

  • Discover distinct viable ways the idea could be implemented
  • Understand the trade-offs of those approaches well enough to propose high-quality solutions
  • Ground the proposed solutions in Postgres behavior, existing ecosystem patterns, and orchid-orm's current user-facing design

Steps

  1. Identify the target change folder

    Search changes/ for the folder that best matches the user's feature input.

    Prefer:

    • An exact folder-name match
    • A folder whose name clearly matches the described feature
    • A folder that already contains both research.md and ideas.md

    If multiple folders are plausible, stop and ask the user which one to use. Do not guess when the match is ambiguous.

    If no relevant change folder exists, tell the user that no matching researched change was found. Do not create a new change folder here.

  2. Resolve the target idea

    Read the full changes/<feature-name>/ideas.md.

    Match the requested idea by:

    • Exact idea number from headings like ### 2. <Idea title>
    • Or exact / clearly intended idea title

    If the title match is ambiguous, stop and ask one focused clarifying question. Do not guess between similarly named ideas.

    Record:

    • The exact numbered idea heading
    • The idea title
    • Its Why, Adds, How, Depends on, and any use cases that help clarify the idea
  3. Read existing research for idea-specific context

    Read changes/<feature-name>/research.md after identifying the idea.

    Use it to understand:

    • The broader feature context
    • Requirements and edge cases that affect this idea
    • Existing orchid-orm support that may constrain or shape solutions
    • References already collected that may be relevant to this idea

    Ignore research sections that do not materially affect the selected idea. The purpose of this step is to narrow the problem before doing variant research.

  4. Decide how much new research is needed

    Make an explicit judgment:

    • If the idea is trivial and the solution space is obvious, proceed with only:
      • ideas.md
      • the idea-relevant parts of research.md
      • relevant orchid-orm docs
      • any obviously relevant references already listed in research.md
    • Otherwise, do fresh idea-specific research before drafting solutions

    Bias toward doing fresh research unless the idea is truly simple. This command should usually perform broader solution-oriented research than ideas.md already contains.

  5. Research solution variants

    When fresh research is needed, research specifically for this idea rather than the whole feature.

    Prioritize:

    • Official Postgres docs when the idea touches Postgres capabilities or limitations
    • Mature existing tools and libraries to learn how different user-facing approaches are exposed
    • Existing discussions or community references when they reveal user pain points, confusing trade-offs, or useful ergonomics

    Research goals:

    • Find distinct approaches, not just one preferred approach
    • Understand enough detail to explain each proposed solution clearly and accurately
    • Avoid proposing solutions that conflict with Postgres realities or well-established user expectations

    Do not do generic background research that does not affect the proposed variants. Keep the research focused on how the idea could be expressed to users.

  6. Inspect relevant orchid-orm documentation

    Read docs/src/.vitepress/dist/llms.txt, but only the sections that are relevant to the selected idea or its candidate solutions.

    Use the docs to understand:

    • How similar existing features are explained to users
    • Which naming or API patterns already exist
    • How this idea could integrate naturally into orchid-orm from a user's perspective
  7. Read relevant references from research.md

    At the end of research.md, review the reference list.

    Read only the references that appear relevant to:

    • The selected idea
    • A candidate solution
    • A trade-off that needs stronger grounding

    It is not necessary to read every reference. Prefer the sources that materially improve solution quality.

  8. Derive the solution variants

    Propose one or more solutions that are genuinely different ways to achieve the idea's goal.

    Good solution differences include:

    • Different public interfaces
    • Different user workflows
    • Different levels of explicitness vs automation
    • Different ways responsibility is split between user configuration and framework behavior

    Bad solution differences include:

    • Minor naming changes
    • Slightly different method signatures with the same overall workflow
    • Variants that are effectively the same approach with small ergonomic tweaks

    If the idea only supports one serious solution, that is acceptable. Do not invent weak alternatives just to produce multiple options.

  9. Write or update variants.md

    The output path must be:

    changes/<feature-name>/<NUMBER-idea-name>/variants.md

    Where:

    • NUMBER is the idea number from ideas.md
    • idea-name is a short kebab-case form of the idea title

    If the idea folder does not exist yet, create it.

    If variants.md already exists, read it now, preserve useful content, remove stale or unsupported claims, and reconcile it with the current idea and research.

    Use this structure:

    md
    # <Idea Title>
    
    ## Goal
    
    <Explain what this idea is trying to achieve for users and why it matters.>
    
    ## Context from existing research
    
    <Brief summary of the relevant context from `research.md`, orchid-orm docs, and any prior references that materially shape the solution space.>
    
    ## Solution 1: <Solution name>
    
    - Summary: <One paragraph describing the solution at a user-facing level.>
    - User-facing interface: <Describe the public API, configuration, methods, or other visible surface users would work with.>
    - How it works: <Explain the principles clearly enough that both a human reader and a later AI can understand the exact intended behavior without guessing. Stay out of implementation internals, but remove ambiguity about what the solution means.>
    - Workflow: <Describe the sequence of what a user does and what they get. Use a short list if it is clearer.>
    - Pros: <Benefits of this solution.>
    - Cons: <Limitations, awkwardness, or trade-offs of this solution.>
    
    #### Example use case
    
    - <Brief scenario showing when a user would choose this solution and what result they get.>
      <Optional minimal code example when it materially improves clarity.>
    
    ## Solution 2: <Solution name> <!-- optional -->
    
    - Summary: <One paragraph describing the solution at a user-facing level.>
    - User-facing interface: <Describe the public API, configuration, methods, or other visible surface users would work with.>
    - How it works: <Explain the principles clearly enough that both a human reader and a later AI can understand the exact intended behavior without guessing. Stay out of implementation internals, but remove ambiguity about what the solution means.>
    - Workflow: <Describe the sequence of what a user does and what they get. Use a short list if it is clearer.>
    - Pros: <Benefits of this solution.>
    - Cons: <Limitations, awkwardness, or trade-offs of this solution.>
    
    #### Example use case
    
    - <Brief scenario showing when a user would choose this solution and what result they get.>
      <Optional minimal code example when it materially improves clarity.>
    
    ## Comparison <!-- optional: only when there are multiple solutions -->
    
    - <How solution 1 is better than solution 2 for certain users or priorities.>
    - <How solution 2 is better than solution 1 for certain users or priorities.>
    - <Which solution seems most natural for orchid-orm users, if that conclusion is justified.>
    
    ## References
    
    - <Relevant source and why it matters to this idea or a proposed solution.>

    Document guidance:

    • Stay strictly at the user-facing or product-design level
    • Describe visible behavior, public interfaces, workflows, and trade-offs
    • Do not write implementation plans, internal architecture, or low-level mechanics
    • How it works must be concrete and unambiguous enough that a later AI can use it for a more detailed proposal without inventing missing behavior
    • Prefer short clear prose over dense shorthand
    • Add inline source references when a claim, constraint, or solution idea comes from a specific source
    • Include a Comparison section only when there is more than one real solution
    • If there is only one serious solution, explain it well instead of padding the document
  10. Source handling

Show full SKILL.md (334 more words)Show less

The resulting solution descriptions should reference relevant sources when they are based on those sources.

Source expectations:

  • Cite official Postgres docs when they shape what is possible or desirable
  • Cite mature existing tools when they inspire a user-facing approach or reveal a trade-off
  • Cite orchid-orm docs when they influence naming, workflow, or integration expectations
  • Cite community sources only when they add meaningful insight into user needs or pain points

Do not add references that were not actually used. Do not dump a large bibliography just because it exists.

  1. Quality check

Before finishing, verify:

  • The file was written to the correct changes/<feature-name>/<NUMBER-idea-name>/variants.md path
  • The selected feature folder is the best match for the user's input
  • The selected idea is the correct numbered heading or title from ideas.md
  • The proposed solutions are genuinely different, unless only one serious solution exists
  • The command did enough fresh research to justify the proposed variants, unless the idea was clearly trivial
  • Relevant parts of research.md were used, and irrelevant parts were ignored
  • Relevant orchid-orm docs were consulted
  • Relevant references from research.md were read when they helped the idea
  • Each solution is described clearly enough for both a human reader and a later AI to understand the intended user-facing behavior without guessing
  • Pros and Cons reflect real trade-offs rather than filler
  • The document stays at the user-facing level and does not drift into implementation planning
  • Source references appear where they materially support a solution or claim

Guardrails

  • Do not create a new change folder
  • Do not skip reading ideas.md before reading research.md
  • Do not treat the old research.md as sufficient by default for solution quality
  • Do not propose shallow variants that are the same idea with small wording changes
  • Do not write implementation tasks, internal architecture, or code-generation guidance
  • Do not read all of docs/src/.vitepress/dist/llms.txt or all references blindly; stay selective and relevant
  • Do not guess when the feature folder or idea match is ambiguous
  • Ask one focused clarifying question if the target folder or idea cannot be identified confidently

© romeerez, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .agents/skills/variants of romeerez/orchid-orm.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit f819fb5

Compare with similar skills

Variants next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Variants compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Variants this skillromeerez/orchid-orm543—~3.1kAutomated safety check: PassMIT
Database DesignxenitV1/Antigravity-Workflows1308 repos~378Automated safety check: PassMIT
Database Postgreslatitude-dev/latitude-llm4.7k—~3.6kAutomated safety check: PassMIT
Stash Deploymentcipherstash/stack157—~6.5kAutomated safety check: PassMIT
Safe SQL Executionsupabase/supabase111k—~4.2kAutomated safety check: PassApache-2.0
Better Drizzlealmeidazs/better-drizzle348—~1.7kAutomated safety check: PassApache-2.0

Similar skills

  • Database Design

    xenitV1/Antigravity-Workflows

    Database design principles and decision-making. An agent skill from xenitV1/Antigravity-Workflows.

    130 GitHub starsUsed in 8 repos~378 tokens
    DatabasesAuto-check passed
  • Database Postgres

    latitude-dev/latitude-llm

    Drizzle schema, repositories, RLS, SqlClient wiring, Postgres migrations, psql / reset, or platform mappers (toDomain / toInsertRow).

    4.7k GitHub stars~3.6k tokensUpdated today
    DatabasesAuto-check passed
  • Stash Deployment

    cipherstash/stack

    Deploy a CipherStash encryption rollout to a live environment without losing data — the multi-deploy ladder (schema-add + dual-write → backfill → read cutover → stop dual-writes → drop plaintext)…

    157 GitHub stars~6.5k tokensUpdated today
    DatabasesAuto-check passed
  • Safe SQL Execution

    supabase/supabase

    Official

    A skill your agent uses whenever code will build, return, fetch, or execute SQL that runs against a user's real Postgres database — even when the request reads like an ordinary feature or bug fix…

    111k GitHub stars~4.2k tokensUpdated today
    DatabasesAuto-check passed
  • Better Drizzle

    almeidazs/better-drizzle

    Write, review, and debug code that uses better-drizzle, the typed repository layer over Drizzle ORM 1.x (better(db), client.users.findMany, paginate, cursor, upsertMany, relation include/connect…

    348 GitHub stars~1.7k tokensUpdated today
    DatabasesAuto-check passed
  • Prisma Database Setup

    curvenote/curvenote

    Guides for configuring Prisma with different database providers (PostgreSQL, MySQL, SQLite, MongoDB, etc.).

    170 GitHub starsUsed in 3 repos~1.4k tokens
    DatabasesAuto-check passed

More from romeerez/orchid-orm

All 13 skills in this repo
  • Spec

    romeerez/orchid-orm

    A skill your agent uses when the user prompts "write spec" or "make spec".

    543 GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Task List

    romeerez/orchid-orm

    A skill your agent uses when user asks to write a task list, not to do a task

    543 GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed
  • Type Optimizer

    romeerez/orchid-orm

    A skill your agent uses when need to optimize TypeScript types.

    543 GitHub stars~798 tokensUpdated yesterday
    Auto-check passed
  • Code Doc

    romeerez/orchid-orm

    A skill your agent uses when the user prompts "code doc" to create or update internal Orchid ORM code documentation from changes/ specs, short-code feature folders, or existing implementation code.

    543 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Ideas

    romeerez/orchid-orm

    A skill your agent uses when the user prompts "write ideas" or "make ideas".

    543 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Implemenation Note

    romeerez/orchid-orm

    A skill your agent uses when the user prompts "implementation note" for an existing change idea.

    543 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Variants

What does Variants do?

A skill your agent uses when the user prompts "make variants". Variants is an agent skill from romeerez/orchid-orm. Use when the user prompts "make variants".

When should I use Variants?

Variants fits situations like: the user prompts make variants; tasks that involve ORMs and data access.

How do I install Variants in Claude Code?

Run `npx skills add romeerez/orchid-orm --skill variants -a claude-code`. Or copy the skill folder (.agents/skills/variants in romeerez/orchid-orm) into .claude/skills/variants in your project. Claude Code loads it when a task matches its description.

How do I install Variants in Codex?

Run `npx skills add romeerez/orchid-orm --skill variants -a codex`. Or copy the skill folder (.agents/skills/variants in romeerez/orchid-orm) into .agents/skills/variants in your project. Codex loads it when a task matches its description.

Can I use Variants in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add romeerez/orchid-orm --skill variants -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/variants, .gemini/skills/variants, .github/skills/variants and .opencode/skills/variants in your project.

What does Variants need to run?

SKILL.md names no scripts, command-line tools or credentials: Variants is instructions for the agent only.

Does Variants access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Variants safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Variants use?

Variants is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Variants use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Variants?

Skills that share tags, products or a category with Variants: Database Design (xenitV1/Antigravity-Workflows, 130 stars), Database Postgres (latitude-dev/latitude-llm, 4.7k stars), Stash Deployment (cipherstash/stack, 157 stars) and Safe SQL Execution (supabase/supabase, 111k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Variants?

romeerez (a GitHub user) maintains it in romeerez/orchid-orm, which has 543 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 8, 2026.

Source: romeerez/orchid-orm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.