# Decorators

One-line reference for every Ginkgo decorator, grouped by what it does, with the node...

- Repository: https://github.com/onsi/ginkgo (9071 stars)
- Category: Business
- License: MIT
- Last updated: 2026-10-09
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add onsi/ginkgo --skill decorators -g -a claude-code -y`
Codex: `npx skills add onsi/ginkgo --skill decorators -g -a codex -y`
Cursor: `npx skills add onsi/ginkgo --skill decorators -g -a cursor -y`
Gemini CLI: `npx skills add onsi/ginkgo --skill decorators -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add onsi/ginkgo`

## Description

One-line reference for every Ginkgo decorator, grouped by what it does, with the node types each can decorate, Serial, Ordered, ContinueOnFailure, OncePerOrdered, Label, Focus, Pending, FlakeAttempts, MustPassRepeatedly, NodeTimeout, SpecTimeout, GracePeriod, PollProgressAfter/Interval, SuppressProgressReporting, SpecPriority, SemVerConstraint, AroundNode, Offset/CodeLocation, EntryDescription. Use to look up a decorator's exact name, semantics, and where it's legal.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Ginkgo decorator reference

Terse lookup. Decorators are passed alongside a node's text/closure: `It("...", Serial, Label("slow"), func(){...})`. Most attach to **containers and/or subjects**; some are setup-only or interruptible-only. Decorators on a container apply to all nodes within it; the **innermost/most-specific wins** when they conflict. Full docs: <https://onsi.github.io/ginkgo/#decorator-reference>.

## Execution / ordering
- `Serial` (container, subject), never runs in parallel; Ginkgo runs serial specs last, on process #1. → `ginkgo:parallelism`.
- `Ordered` (container only), child specs run in definition order, never reordered; enables `BeforeAll`/`AfterAll`. → `ginkgo:ordering-and-flakes`.
- `ContinueOnFailure` (outermost `Ordered` container only), a failing spec doesn't skip the rest of the ordered group.
- `OncePerOrdered` (setup nodes), makes a `BeforeEach`/`AfterEach` run *once* around an `Ordered` container (like a `BeforeAll`) instead of per-spec.
- `SpecPriority(int)` (container, subject), hint to run higher-priority specs earlier; use sparingly, not to impose a total order.

## Selection / filtering  (→ `ginkgo:filtering`)
- `Label("a", "b")` (container, subject), tag specs for `--label-filter`; labels union down the hierarchy. No `&|!,()/"` chars.
- `Focus` (container, subject), run only focused specs; **don't commit it** (CI exits non-zero). Constructors: `FDescribe`, `FContext`, `FIt`, `FEntry`.
- `Pending` (container, subject), never run (and never compiled into the run set); no closure needed. Constructors: `PDescribe`, `XDescribe`, `PIt`, `XIt`, `PEntry`.
- `SemVerConstraint(">= 2.0.0", ...)` / `ComponentSemVerConstraint("redis", ">= 8.0.0")` (container, subject), run only when `--sem-ver-filter` satisfies the constraint; children may narrow, not widen.

The rest: https://github.com/onsi/ginkgo/blob/HEAD/plugins/ginkgo/skills/decorators/SKILL.md
