Agent skill

Spec

by romeerez in romeerez/orchid-orm

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

MITAuto-check passedDatabases

Install Spec

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

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

GitHub CLI
$ gh skill install romeerez/orchid-orm spec --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/spec .claude/skills/spec && 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
spec
GitHub stars
543
Token cost
~2k tokens
SKILL.md length
866 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 "write spec" or "make spec".

  • Works in 3 steps: changes///selected-variant.md, when it… → If the prompt says , the exact # section… → Otherwise, the user's prompt.
  • The user prompts write spec
  • SKILL.md covers Input, Baseline, Context To Read and Design Rules, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Spec is an agent skill from romeerez/orchid-orm. Use when the user prompts "write spec" or "make spec".

Its SKILL.md is about 2k 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. The licence is MIT.

When your agent uses it

  • The user prompts write spec
  • Tasks that involve ORMs and data access

Example prompts

  • “write spec”
  • “make spec”
  • “/spec”

Workflow steps

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

  1. changes///selected-variant.md, when it exists.
  2. If the prompt says , the exact # section in changes//ideas.md`.
  3. Otherwise, the user's prompt.

What it can do on your machine

Read from SKILL.md and the folder at commit de54a3b. 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

Spec loads about 2k tokens when it runs. Until then it costs about 15 tokens; SKILL.md has 866 words of instructions outside code blocks.

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

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 de54a3b, republished under its MIT licence (© romeerez). 866 words, ~2,035 tokens.

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

Ignore other spec-writing or brainstorming skills.

Create or update exactly:

  • changes/<feature-name>/<NUMBER-idea-name>/spec.md

This is a design-completion command, not research-only and not implementation.

Input

The prompt should identify:

  • a feature folder under changes/
  • an idea number or idea title inside that feature folder
  • optional extra details, especially when neither selected-variant.md nor an ideas.md section applies

Examples:

  • /spec 611-row-level-security-integration 2
  • /spec row-level-security-integration "Run work inside an explicit RLS context"

Baseline

Resolve one authoritative requirements baseline, in this order:

  1. changes/<feature-name>/<NUMBER-idea-name>/selected-variant.md, when it exists.
  2. If the prompt says <number>, the exact # <number> section in changes/<feature-name>/ideas.md.
  3. Otherwise, the user's prompt.

The baseline is the source of truth for goals, scope, examples, naming, constraints, trade-offs, and confirmed decisions. Fill gaps needed for a complete design, but do not contradict it. If selected-variant.md has ## Refinement, treat confirmed Q&A there as current intent; when it conflicts with the main body, the refinement wins.

If the winning baseline is missing or too thin to define user-visible requirements without inventing the feature, stop and ask one focused question.

Context To Read

  1. Resolve the matching feature folder in changes/.
    • Prefer exact folder match, then clear feature match, then folders with numbered idea subfolders.
    • If multiple folders are plausible, ask one focused question. Do not guess.
    • If none match, say no matching feature folder was found. Do not create one.
  2. Resolve the idea folder inside it by exact number, or exact/clear title suffix.
    • If multiple folders are plausible, ask one focused question.
    • The path must be changes/<feature-name>/<NUMBER-idea-name>.
  3. Read the full winning baseline.
    • If rule 2 wins, ideas.md must contain the exact # <number> section.
    • Do not create selected-variant.md or ideas.md.
  4. If changes/<feature-name>/research.md exists, read it after the baseline.
    • Use it only for broader context, terminology, external constraints, edge cases, and related capabilities.
    • Ignore every other parent-folder file.
  5. Read relevant parts of docs/src/.vitepress/dist/llms.txt for Orchid API naming, user-facing patterns, and natural extension points.
  6. Inspect only relevant code, tests, exports, docs, and guidelines.
    • Always include root guidelines/code.md or guidelines/test.md, plus nested guidelines/code.md or guidelines/test.md files for directories likely to change.
    • Check whether a similar capability already exists under another name or shape.
    • Respect package boundaries: public APIs export from src/index.ts; downstream internal pqb access goes through pqb/internal.

Design Rules

Use the baseline, optional research, docs, and code reality together.

The design must:

  • satisfy the baseline precisely
  • define the public contract clearly enough to constrain implementation
  • fill missing public API and high-level behavior
  • fit existing Orchid naming, type-safety, package boundaries, and user expectations
  • prefer TypeScript guarantees over runtime validation when possible
  • decide whether the idea adds zero, one, or multiple standalone capabilities
  • include important writer-made behavioral decisions in ## Assumptions only when the baseline leaves a real gap

The design must not:

  • merely restate the baseline
  • leave essential behavior ambiguous
  • overfit to one implementation strategy
  • invent a new public API when an existing Orchid surface extends cleanly
  • drift into low-level algorithms, helper extraction, control flow, or file-by-file edits
Show full SKILL.md (377 more words)Show less

spec.md

Output path: changes/<feature-name>/<NUMBER-idea-name>/spec.md

If it exists, read it first, preserve still-correct content, remove stale content, and reconcile it with the current baseline and codebase. Do not append duplicates.

Use this shape. No top-level title.

md
## Summary

<Short, concrete description of what to implement.>

```ts
<Code example for the new public API or workflow.>
```

## What Changes

- <Concise proposed change.>
- <Another proposed change.>

## Assumptions

- <Important behavioral or scope decision needed because the baseline left a real gap.>

## Capabilities

- `capability-id`: <Standalone responsibility this code addition provides.>
- `another-capability`: <Another standalone responsibility, only when needed.>

<If the idea only extends existing surfaces and adds no standalone capability, say so explicitly.>

## Detailed Design

### Public API

<Define the public surface and semantics, not implementation.>

```ts
<Optional short type or interface snippet.>
```

- <Rule, guarantee, or invariant.>

### Shared State or Data Shape

<Only if shared state, normalized options, or a cross-cutting data shape matters.>

### Integration and Lifecycle

<Where behavior plugs into existing Orchid flows.>

### <Package-Specific or Responsibility-Specific Behavior>

<Only when one package, adapter, or subsystem needs materially different behavior.>

### Error Handling and Limits

- <Contract-level failure mode, guarantee, or limit.>

### Documentation

<Only gotchas or unobvious user-facing edge cases. Do not state that public API must be documented.>

spec.md requirements:

  • Summary says what to build and includes enough examples to make every new public API/workflow unambiguous.
  • What Changes is short, targeted, and complete.
  • Assumptions appears before Capabilities and only when materially important; omit it otherwise. Do not list naming choices or minor API-shape preferences.
  • Capabilities appears before Detailed Design. Do not mirror the idea name mechanically, invent placeholders, or hide separate responsibilities inside one umbrella capability.
  • Split capabilities by standalone responsibility. Include generic enabling capabilities when they are substantial and reusable.
  • Name capability ids with sharp code-facing kebab-case, such as role, set-config, or dynamic-query-session.
  • Name generic enabling capabilities by their shared responsibility, not by the first feature that needs them.
  • Detailed Design is responsibility-centered, concrete, and complete, but not an implementation plan. Use only needed sections.
  • Do not add a Guidelines section.

Capability examples:

  • If RLS needs independent role switching and set-config support, prefer separate role and set-config capabilities unless one real responsibility covers both.
  • If both need a generic AsyncLocalStorage-backed session state mechanism that runs SQL before each query, list that generic mechanism separately, e.g. dynamic-query-session.

Task List Delegation

After spec.md is written and checked, launch a sub-agent to execute the task-list skill.

Pass the exact spec.md path to the sub-agent. The sub-agent is responsible for creating or updating tasks.md in the same folder. Do not write tasks.md directly in this skill unless the sub-agent mechanism is unavailable; if unavailable, say so and follow .agents/skills/task-list/SKILL.md yourself.

Final Check

Before finishing, verify:

  • the correct feature and idea folder were chosen
  • the baseline was resolved by the ordered rule and read fully before writing
  • only optional research.md was used from the parent feature folder
  • relevant Orchid docs and code were inspected
  • spec.md preserves the baseline, has no top-level title, and has no Guidelines section
  • Summary, What Changes, optional Assumptions, Capabilities, and Detailed Design satisfy the rules above
  • Detailed Design is complete, coherent, and not implementation-prescriptive
  • the task-list sub-agent was launched with the exact spec.md path

Ask one focused question only when folder/idea resolution is ambiguous or the baseline is missing/too thin.

© 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/spec of romeerez/orchid-orm.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit de54a3b

Compare with similar skills

Spec 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.

Spec compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Spec this skillromeerez/orchid-orm543—~2kAutomated safety check: PassMIT
Content Create Hero Imageprisma/web1.1k—~6.9kAutomated safety check: PassNone
Sea Orm 2FlyinPancake/yoink112—~2.9kAutomated safety check: PassApache-2.0
Prisma Client APIcurvenote/curvenote1692 repos~1.6kAutomated safety check: PassMIT
DB Migratesimstudioai/sim30k—~2kAutomated safety check: PassApache-2.0
DB Migrationskurealnum/dotfiles290—~820Automated safety check: PassNone

Similar skills

  • Official

    A skill your agent uses when the operator wants a hero or meta image for a Prisma blog post; asks to create or generate a blog hero, cover, social card, Open Graph, or YouTube image; mentions cover…

    1.1k GitHub stars~6.9k tokensUpdated today
    DatabasesAuto-check passed
  • Sea Orm 2

    FlyinPancake/yoink

    Expert guidance for SeaORM 2.0, Rust's async ORM with strongly-typed columns, nested ActiveModels, Entity Loader API, and entity-first workflow.

    112 GitHub stars~2.9k tokensUpdated 4 days ago
    DatabasesAuto-check passed
  • Prisma Client API

    curvenote/curvenote

    Prisma Client API reference covering model queries, filters, operators, and client methods.

    169 GitHub starsUsed in 2 repos~1.6k tokens
    DatabasesAuto-check passed
  • DB Migrate

    simstudioai/sim

    Author or review a Drizzle DB migration for zero-downtime safety — expand/contract phasing, backward-compatibility with the deployed app version, and writing the -- migration-safe acknowledgment the…

    30k GitHub stars~2k tokensUpdated today
    DatabasesAuto-check passed
  • DB Migrations

    kurealnum/dotfiles

    A skill your agent uses when generating or regenerating Drizzle migration files, changing database schema tables or columns, resolving migration sequence conflicts after rebase, reviewing migration…

    290 GitHub stars~820 tokensUpdated 5 mo ago
    DatabasesAuto-check passed
  • Change Database Schema

    martin-ueding/geo-activity-playground

    How to change the SQLAlchemy data model and generate the matching Alembic migration.

    100 GitHub stars~225 tokensUpdated 11 days ago
    DatabasesAuto-check passed

More from romeerez/orchid-orm

All 13 skills in this repo
  • 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
  • Refine

    romeerez/orchid-orm

    A skill your agent uses when the user prompts "refine design".

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

Categories

Questions about Spec

What does Spec do?

A skill your agent uses when the user prompts "write spec" or "make spec". Spec is an agent skill from romeerez/orchid-orm. Use when the user prompts "write spec" or "make spec".

When should I use Spec?

Spec fits situations like: the user prompts write spec; tasks that involve ORMs and data access.

How do I install Spec in Claude Code?

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

How do I install Spec in Codex?

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

Can I use Spec 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 spec -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/spec, .gemini/skills/spec, .github/skills/spec and .opencode/skills/spec in your project.

What does Spec need to run?

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

Does Spec 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 Spec 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 Spec use?

Spec 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 Spec use?

About 2k tokens (SKILL.md is roughly 8.1k 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 Spec?

Skills that share tags, products or a category with Spec: Content Create Hero Image (prisma/web, 1.1k stars), Sea Orm 2 (FlyinPancake/yoink, 112 stars), Prisma Client API (curvenote/curvenote, 169 stars) and DB Migrate (simstudioai/sim, 30k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Spec?

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 7, 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.