Agent Skills for developing inside the Gravity UI repositories —
the conventions, checks, and workflows shared across gravity-ui/*.
Looking for skills about using Gravity UI in your own application — picking the right package, component APIs, theming, icons? Those live in gravity-ui/skills. This repository is for contributors and maintainers working on the libraries themselves.
Claude Code:
/plugin marketplace add gravity-ui/skills-dev
/plugin install gravity-ui-dev-skills
Codex:
codex plugin marketplace add gravity-ui/skills-dev
codex
# Then inside Codex: `/plugins` → marketplace `gravity-ui-dev-marketplace` → `gravity-ui-dev-skills` → Install
# And start a new sessionThe plugin itself needs no tokens or configuration — the skills only need an authenticated
gh, and one of them exists to set that up. To check it works,
open a Gravity UI repository and ask the agent: "what should the title of this pull request
be?"
| Skill | What it does | Example requests |
|---|---|---|
| gravity-ui-pr-create | Opening a pull request in gravity-ui/*: the Conventional Commits title that becomes the released commit, what to write in the description, the gh pr create invocation |
"Open a PR for this change", "What should the PR title be?" |
| github-cli-setup | Checks that gh is installed, logged in, and carries the right token scopes, and fixes each failure. Used before any GitHub work — pull requests, issues, checks, releases |
"gh: command not found", "gh isn't logged in", "настрой gh" |
| repository-overview-eval-init | Installs the portable repository-overview benchmark into a Gravity UI repository without overwriting local eval configuration | "Initialize the repository overview eval", "Добавь эвал обзора репозитория" |
Skills activate automatically from context. The full command list for each skill is in its
SKILL.md.
The repository-overview-eval-init skill installs a
self-contained benchmark for measuring how an agent navigates and explains a Gravity UI repository.
From the target repository, ask the agent:
Initialize the repository overview eval in this repository.
The skill copies its bundled eval
to evals/repository-overview, adds the artifact ignore rule, and validates the installed entry
point without starting a benchmark. Then tell the agent:
Run
evals/repository-overview/EVAL.mdfor this repository.
The eval starts a fresh session in the host's planning/read-only mode through Codex CLI, Claude Code, or OpenCode and saves the answer, raw host events, normalized tool/path trace, tokens, reported or explicitly estimated cost, and deterministic quality checks. It has no package dependencies and requires Node.js 20 or newer.
Run the same eval after changing the repository harness and compare the artifact directories:
node evals/repository-overview/compare.mjs \
--baseline .eval-artifacts/repository-overview/runs/<baseline> \
--candidate .eval-artifacts/repository-overview/runs/<candidate>The comparison includes a confidence-rated verdict and prioritized, evidence-backed suggestions for
improving harness navigation, assertions, cache control, and benchmark setup.
Runs and comparisons are kept under the ignored .eval-artifacts/ directory, outside the portable
eval directory, so copying the eval never copies prior results.
Use the same host, model, effort, scenario, CLI version, and eval runner version on both sides. Cross-environment results are still reported, but deliberately classified as inconclusive.
Skill auto-activation is unreliable — around 50% in public evals. A pointer in the
repository's AGENTS.md, which agents read unconditionally, is what makes the skills
actually fire.
templates/AGENTS.md is the starting point for that file: shared
conventions to copy and adapt, plus a marker-delimited block pointing at these skills that
stays maintained centrally. See templates/README.md for how to adopt
it in a repository that does or does not already have an AGENTS.md.
To make the skills appear automatically for everyone working in your repository, commit the plugin configuration to it.
Claude Code — run in the project root:
claude plugin marketplace add gravity-ui/skills-dev --scope project
claude plugin install gravity-ui-dev-skills --scope projectThese write extraKnownMarketplaces and enabledPlugins (key
"gravity-ui-dev-skills@gravity-ui-dev-marketplace") into the project's
.claude/settings.json — commit it, and Claude Code will offer the plugin to your colleagues
when they first open the project.
Codex — commit .agents/plugins/marketplace.json to your repository. The marketplace name
must differ from gravity-ui-dev-marketplace: Codex does not allow two marketplaces with the
same name, and contributors may already have added that one from the Quick start above.
{
"name": "myproject-gravity-ui",
"plugins": [
{
"name": "gravity-ui-dev-skills",
"source": {
"source": "url",
"url": "https://github.com/gravity-ui/skills-dev.git",
"ref": "main"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Productivity"
}
]
}Each contributor then runs codex plugin marketplace add . in the repository root once and
installs the plugin from /plugins — the current Codex CLI does not auto-install from
policy.installation.
npx skills add gravity-ui/skills-dev \
--skill '*' \
--global \
--agent opencode \
--yesgit clone https://github.com/gravity-ui/skills-dev.git
claude --plugin-dir ./skills-devMarketplace installs update automatically (Codex:
codex plugin marketplace upgrade gravity-ui-dev-marketplace). For clone-based installs
(--plugin-dir) — git pull.
See AGENTS.md for the repository layout, how to write a skill, the version bump
rule, and validation. Trigger eval cases live in
evals/trigger-cases.json: each maps a realistic user prompt to
the skills expected to activate. Include both positive and negative cases when adding a skill.
Run node scripts/validate_skills.mjs before pushing.
Distributed under the MIT License. See LICENSE for details.