Agent skill

Saleor GraphQL API Change Checklist

by saleor in saleor/saleor

Checklist for adding, changing, deprecating or removing Saleor GraphQL fields, mutations, enums and webhook event types so the change passes review first time.

BSD-3-ClauseAuto-check passedBackend & APIs

Install Saleor GraphQL API Change Checklist

skills CLI
$ npx skills add saleor/saleor --skill saleor-graphql-api-change -a claude-code

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

GitHub CLI
$ gh skill install saleor/saleor saleor-graphql-api-change --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/saleor/saleor.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/saleor-graphql-api-change .claude/skills/saleor-graphql-api-change && 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
saleor-graphql-api-change
GitHub stars
23k
Token cost
~1.2k tokens
SKILL.md length
604 words
Files
1
Skills in repo
8
Repo updated
First seen
Licence
BSD-3-Clause

At a glance

Checklist for adding, changing, deprecating or removing Saleor GraphQL fields, mutations, enums and webhook event types so the change passes review first time.

  • Adding a new field or mutation to the Saleor GraphQL schema
  • SKILL.md covers Versioning, Deprecating a field / enum value, Removing a field (breaking… and Descriptions, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Deprecating a field or enum value correctly

What it does

This is a review checklist for any change to the public Saleor GraphQL schema: fields, mutations, inputs, enums or webhook event types. It exists because human reviewers keep sending back the same schema mistakes. For versioning, every new field, mutation or argument carries an ADDED_IN version tag for the release it actually ships in, taken from the latest git tag of the branch rather than from main, and schema.graphql must be regenerated and committed after any change, since a stale file fails CI.

Deprecation must use the real mechanism so the schema emits an @deprecated directive, not text in a description, and the wording must be precise. A field can be removed only after it was deprecated in a released version, with an off-ramp for users, a CHANGELOG entry and a tracked follow-up for the eventual database column drop. Descriptions state concrete values, match the field's real type and nullability and avoid internal jargon. Design guidance prefers a generic enum value plus a distinguishing flag over an integration-specific enum member, and breaking behavior changes are staged across releases.

When your agent uses it

  • Adding a new field or mutation to the Saleor GraphQL schema
  • Deprecating a field or enum value correctly
  • Removing a public field after its deprecation has shipped
  • Writing schema descriptions that match type and nullability

Example prompts

  • “Add a new field to the Order type and make sure the versioning annotation and schema file are right.”
  • “Deprecate the old webhook event type and point the descriptions at its replacement.”
  • “Check my GraphQL change for the schema mistakes reviewers keep flagging.”

Requirements

  • A checkout of the Saleor repository

What it can do on your machine

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

    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

Saleor GraphQL API Change Checklist loads about 1.2k tokens when it runs. Until then it costs about 67 tokens; SKILL.md has 604 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~67
When it runs · the whole SKILL.md, loaded when a task matches
~1.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 saleor/saleor at commit 782a751, republished under its BSD-3-Clause licence (© saleor). 604 words, ~1,232 tokens.

Download SKILL.mdSave it as .claude/skills/saleor-graphql-api-change/SKILL.md (or your agent's skills folder).
name
saleor-graphql-api-change
description
Checklist for adding, changing, deprecating, or removing anything in the Saleor GraphQL schema — fields, mutations, inputs, enums, or webhook event types. Use whenever a change touches the public GraphQL API so it passes review the first time.

Changing the Saleor GraphQL API

Human reviewers repeatedly send changes back for the same schema mistakes. Work through this checklist for any change to a GraphQL field, mutation, input, enum, or webhook event type.

Versioning

  • Find the version this branch is cut from: check the latest git tag (e.g. 3.22). Annotate every new field/mutation/argument with ADDED_IN_{VERSION} for the release it actually ships in — not the current main version. If the change is backported, use the backport's version.
  • After any schema change, regenerate schema.graphql and commit it. A stale schema file fails CI and review.

Deprecating a field / enum value

  • Deprecate through the real mechanism so the schema emits an @deprecated directive — never by writing "DEPRECATED" text into the description:
    • Fields/arguments: deprecation_reason=DEPRECATED_IN_3X_FIELD (or the input variant).
    • Enum values: from_enum(SomeEnum, deprecation_reason=<callback>).
  • Deprecation wording must be precise ("This event type will be removed", not "This event").
  • When you deprecate/remove a mutation, update related field descriptions to point users at the replacement.

Removing a field (breaking change)

  • Never remove a field that wasn't deprecated in a prior released version. The order is: deprecate → ship a release → remove in a later version. Confirm the deprecation actually shipped.
  • Provide an off-ramp before removing a field users depend on (a replacement field, metadata, etc.).
  • Removing a public field requires a CHANGELOG entry and a tracked follow-up issue for the eventual DB column drop (see saleor-migrations for staged destructive changes).
  • For breaking behavior (not just schema) changes, stage enforcement across releases — warn/silently-ignore first, crash later — so upgraders aren't broken instantly.

Descriptions

  • State concrete values (the actual configured limit, not "the number is limited").
  • Keep descriptions in sync with the field's real type and nullability.
  • Describe what the field is, not how a specific client should interpret it, and omit internal jargon ("atomically", "signed delta").
Show full SKILL.md (308 more words)Show less

Design & consistency

  • Prefer a generic enum value plus a distinguishing flag over an app/integration-specific enum member (GIFT_CARD + a brand field, not SALEOR_GIFT_CARD). Don't shape the shared API around one integration, and don't bake provider-specific length assumptions into shared field limits.
  • Mutation return types should be implicitly required=False, consistent with existing mutations (OrderSettingsUpdate, ShopAddressUpdate), to avoid non-nullable-field crashes.
  • Pass the type class to get_node_or_error(only_type=PageType), not the string "PageType" (gives real typing, drops a cast).
  • Name new sort/filter enum fields to match the type's existing field names (createdAt/modifiedAt).
  • Don't use default_value=[] on Graphene inputs (graphene treats it as a shared literal) — leave it optional and default inside the mutation body.
  • Don't put any mutable values inside default_value Graphene input fields, nor in any other defaults (such as function signatures) where this memory pointer or value could get mutated (thus potentially leading to unexpected behaviors).
  • Guard restricted fields with PermissionsField, and add a separate authorization test per permission-gated field.
  • Ensure class Meta always defines the permissions property unless you are explicitly told that you shouldn't.

Webhook event types

  • Add the new event to WEBHOOK_EVENT_DESCRIPTION with a description and an ADDED_IN_{VERSION} clause.
  • Introduce a specific error code for a distinct, actionable failure mode instead of overloading a generic INVALID.
  • Mark high-fan-out events (can reach thousands of objects) with is_deferred_payload so payload building stays short in the scheduling task; reuse CustomJsonEncoder and existing dataloaders.
  • Provide a minimal static fallback payload (e.g. {"id": "Variant:<ID>"}).

Before requesting review

  • Have you regenerated schema.graphql, and are the ADDED_IN/DEPRECATED_IN annotations correct for the release this change actually ships in?
  • Do the deprecations show up as @deprecated directives in the generated schema, rather than only as prose in a description?
  • Is every new or changed input/output contract covered by a unit test, including any nullability changes?
  • Follow the saleor-pr-checklist skill for the general PR gate before opening the PR.

© saleor, BSD-3-Clause. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/saleor-graphql-api-change of saleor/saleor.

Open the folder on GitHubat commit 782a751

Compare with similar skills

Saleor GraphQL API Change Checklist 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.

Saleor GraphQL API Change Checklist compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Saleor GraphQL API Change Checklist this skillsaleor/saleor23k—~1.2kAutomated safety check: PassBSD-3-Clause
API Connector Builderericrisco/rsc-harness180—~3.6kAutomated safety check: PassMIT
API ForgeEliasOulkadi/shokunin114—~2.9kAutomated safety check: PassMIT
System Design CommunicationHoangNguyen0403/agent-skills-standard572—~894Automated safety check: PassMIT
Nodejs Backend Patternsever-works/ever-works16218 repos~4kAutomated safety check: PassAGPL-3.0
API DesignerJeffallan/claude-skills12k1 repos~2kAutomated safety check: PassMIT

Similar skills

  • API Connector Builder

    ericrisco/rsc-harness

    A skill your agent uses when writing a client for someone else's REST or GraphQL API: auth flow choice and token refresh, pagination to exhaustion, retry-with-jitter on transient failures only…

    180 GitHub stars~3.6k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • API Forge

    EliasOulkadi/shokunin

    Design REST/GraphQL APIs with OpenAPI 3.1, error handling, pagination, rate limiting, webhooks, and idempotency.

    114 GitHub stars~2.9k tokensUpdated 6 days ago
    Backend & APIsAuto-check passed
  • System Design Communication

    HoangNguyen0403/agent-skills-standard

    Select how services talk: REST, gRPC, GraphQL, WebSocket, SSE, or webhook per hop, sync versus async per flow, service discovery mode, and DNS/edge routing.

    572 GitHub stars~894 tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Nodejs Backend Patterns

    ever-works/ever-works

    Build production-ready Node.js backend services with Express/Fastify, implementing middleware patterns, error handling, authentication, database integration, and API design best practices.

    162 GitHub starsUsed in 18 repos~4k tokens
    Backend & APIsAuto-check passed
  • API Designer

    Jeffallan/claude-skills

    Designs REST and GraphQL APIs from resource modeling to an OpenAPI 3.1 contract, with versioning, pagination and RFC 7807 error handling.

    12k GitHub starsUsed in 1 repo~2k tokens
    Backend & APIsAuto-check passed
  • API Design Principles

    jh941213/my-cc-harness

    REST 및 GraphQL API 설계 원칙 가이드. An agent skill from jh941213/my-cc-harness.

    125 GitHub starsUsed in 18 repos~3.4k tokens
    Backend & APIsAuto-check passed

More from saleor/saleor

All 8 skills in this repo
  • Benchmarks Django ORM filters in Saleor by generating bulk data, extracting the SQL and running EXPLAIN ANALYZE to check index usage.

    23k GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed
  • Commits changes in the Saleor codebase and works through pre-commit hook failures from ruff, mypy, the GraphQL schema check and the migrations check.

    23k GitHub stars~575 tokensUpdated yesterday
    Auto-check passed
  • Generates and splits Django schema migrations for Saleor with manage.py makemigrations, enforcing one new model or one field change per migration file.

    23k GitHub stars~1k tokensUpdated yesterday
    Auto-check passed
  • Rules for writing Django migrations in Saleor that avoid long table locks and stay compatible with zero-downtime rolling deploys.

    23k GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Pytest Runner

    saleor/saleor

    Run pytest tests with automatic virtual environment activation. Use this skill whenever running tests, executing pytest, or when asked to "run tests", "test…

    23k GitHub stars~251 tokensUpdated yesterday
    Auto-check passed
  • Saleor Port Changes

    saleor/saleor

    Forward-ports or backports a single PR or branch onto the currently checked-out Saleor branch, handling GraphQL version markers and migration numbering along the way.

    23k GitHub stars~969 tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Saleor GraphQL API Change Checklist

What does Saleor GraphQL API Change Checklist do?

Checklist for adding, changing, deprecating or removing Saleor GraphQL fields, mutations, enums and webhook event types so the change passes review first time. This is a review checklist for any change to the public Saleor GraphQL schema: fields, mutations, inputs, enums or webhook event types. It exists because human reviewers keep sending back the same schema mistakes.

When should I use Saleor GraphQL API Change Checklist?

Saleor GraphQL API Change Checklist fits situations like: adding a new field or mutation to the Saleor GraphQL schema; deprecating a field or enum value correctly; removing a public field after its deprecation has shipped; writing schema descriptions that match type and nullability.

How do I install Saleor GraphQL API Change Checklist in Claude Code?

Run `npx skills add saleor/saleor --skill saleor-graphql-api-change -a claude-code`. Or copy the skill folder (.claude/skills/saleor-graphql-api-change in saleor/saleor) into .claude/skills/saleor-graphql-api-change in your project. Claude Code loads it when a task matches its description.

How do I install Saleor GraphQL API Change Checklist in Codex?

Run `npx skills add saleor/saleor --skill saleor-graphql-api-change -a codex`. Or copy the skill folder (.claude/skills/saleor-graphql-api-change in saleor/saleor) into .agents/skills/saleor-graphql-api-change in your project. Codex loads it when a task matches its description.

Can I use Saleor GraphQL API Change Checklist 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 saleor/saleor --skill saleor-graphql-api-change -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/saleor-graphql-api-change, .gemini/skills/saleor-graphql-api-change, .github/skills/saleor-graphql-api-change and .opencode/skills/saleor-graphql-api-change in your project.

What does Saleor GraphQL API Change Checklist need to run?

SKILL.md names no scripts, command-line tools or credentials: Saleor GraphQL API Change Checklist is instructions for the agent only. Our summary lists: A checkout of the Saleor repository.

Does Saleor GraphQL API Change Checklist 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 Saleor GraphQL API Change Checklist 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 Saleor GraphQL API Change Checklist use?

Saleor GraphQL API Change Checklist is published under the BSD-3-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Saleor GraphQL API Change Checklist use?

About 1.2k tokens (SKILL.md is roughly 4.9k 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 Saleor GraphQL API Change Checklist?

Skills that share tags, products or a category with Saleor GraphQL API Change Checklist: API Connector Builder (ericrisco/rsc-harness, 180 stars), API Forge (EliasOulkadi/shokunin, 114 stars), System Design Communication (HoangNguyen0403/agent-skills-standard, 572 stars) and Nodejs Backend Patterns (ever-works/ever-works, 162 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Saleor GraphQL API Change Checklist?

saleor (a GitHub organization) maintains it in saleor/saleor, which has 23,428 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 9, 2026.

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