Brainstorming
xpinjection/test-driven-spring-boot
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior.
Maintain @Deprecated code in the Quarkus codebase: remove code that has been deprecated for more than 12 months, add the @Deprecated annotations that were missed when a related element was…
$ npx skills add quarkusio/quarkus --skill manage-deprecations -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install quarkusio/quarkus manage-deprecations --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/quarkusio/quarkus.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/manage-deprecations .claude/skills/manage-deprecations && rm -rf skills-srcUse ~/.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/
Install the "manage-deprecations" agent skill from https://github.com/quarkusio/quarkus/tree/main/.agents/skills/manage-deprecations into .claude/skills/manage-deprecations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "manage-deprecations", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/quarkusio/quarkus/tree/main/.agents/skills/manage-deprecationsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add quarkusio/quarkus --skill manage-deprecations -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install quarkusio/quarkus manage-deprecations --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/quarkusio/quarkus.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/manage-deprecations .agents/skills/manage-deprecations && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "manage-deprecations" agent skill from https://github.com/quarkusio/quarkus/tree/main/.agents/skills/manage-deprecations into .agents/skills/manage-deprecations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "manage-deprecations", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add quarkusio/quarkus --skill manage-deprecations -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install quarkusio/quarkus manage-deprecations --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/quarkusio/quarkus.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/manage-deprecations .cursor/skills/manage-deprecations && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "manage-deprecations" agent skill from https://github.com/quarkusio/quarkus/tree/main/.agents/skills/manage-deprecations into .cursor/skills/manage-deprecations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "manage-deprecations", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/quarkusio/quarkus.git --path .agents/skills/manage-deprecations--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add quarkusio/quarkus --skill manage-deprecations -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install quarkusio/quarkus manage-deprecations --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/quarkusio/quarkus.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/manage-deprecations .gemini/skills/manage-deprecations && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "manage-deprecations" agent skill from https://github.com/quarkusio/quarkus/tree/main/.agents/skills/manage-deprecations into .gemini/skills/manage-deprecations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "manage-deprecations", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install quarkusio/quarkus manage-deprecationsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add quarkusio/quarkus --skill manage-deprecations -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/quarkusio/quarkus.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/manage-deprecations .github/skills/manage-deprecations && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "manage-deprecations" agent skill from https://github.com/quarkusio/quarkus/tree/main/.agents/skills/manage-deprecations into .github/skills/manage-deprecations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "manage-deprecations", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add quarkusio/quarkus --skill manage-deprecations -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install quarkusio/quarkus manage-deprecations --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/quarkusio/quarkus.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/manage-deprecations .opencode/skills/manage-deprecations && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "manage-deprecations" agent skill from https://github.com/quarkusio/quarkus/tree/main/.agents/skills/manage-deprecations into .opencode/skills/manage-deprecations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "manage-deprecations", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
manage-deprecationsMaintain @Deprecated code in the Quarkus codebase: remove code that has been deprecated for more than 12 months, add the @Deprecated annotations that were missed when a related element was…
Manage Deprecations is an agent skill from quarkusio/quarkus. Maintain @Deprecated code in the Quarkus codebase: remove code that has been deprecated for more than 12 months, add the @Deprecated annotations that were missed when a related element was deprecated (e.g. a field is deprecated but its getters/setters/constructors are not), and apply new @Deprecated annotations the user requests (e.g. "deprecate constructors of classes that have a builder"). Use this skill whenever the user asks to clean up deprecations, remove old/long-deprecated code, purge deprecated APIs…
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/find-deprecated.sh`).
It works with Java. The repository describes itself as: Quarkus: Supersonic Subatomic Java. The licence is Apache-2.0.
11 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 3c0afef. It shows what the files ask for, not the result of running them.
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.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Manage Deprecations loads about 2.8k tokens when it runs. Until then it costs about 192 tokens; SKILL.md has 1,311 words of instructions outside code blocks.
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.
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); the scripts in this folder are not scanned.
The full file from quarkusio/quarkus at commit 3c0afef, republished under its Apache-2.0 licence (© quarkusio). 1,311 words, ~2,813 tokens.
.claude/skills/manage-deprecations/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Quarkus accumulates @Deprecated code over time. This skill covers three
workflows, sharing one discovery tool and the same commit/annotation
conventions:
@Deprecated but its getter, setter, constructor parameter, or builder method
is not, so callers using the accessors get no warning.scripts/find-deprecated.sh scans Java files for @Deprecated and prints each
entry sorted by the date it was originally introduced. It uses
git blame -w -M -C -C -C so a line's date reflects when it was first written,
not when a later refactor moved it — so the 12-month clock runs from the real
introduction date. Run it from the skill's scripts/ directory (or use the full
path):
scripts/find-deprecated.sh core/deployment --removable --csv # Workflow A: only entries ≥12 months old
scripts/find-deprecated.sh core/deployment --csv # Workflow B: ALL deprecations (default)
scripts/find-deprecated.sh core/deployment --min-age-months=18 --csv # custom threshold--csv emits CSV (easier to sort/filter) instead of the formatted table;
redirect to $TMPDIR to avoid re-scanning. Columns: File Location
(path:line), Deprecated Entry (the declaration), Date (YYYY-MM-DD
introduced), Commit (short hash).
Scan the narrowest path that covers the request — the whole repo is slow (one
git blame per hit).
The rule is age-based, but age alone is not sufficient to delete safely. Removal of a public API can break callers, so verify before you cut.
Run --removable (see above); the list it prints is already the candidate set.
Entries dated unknown (blame couldn't resolve) are excluded because their age
can't be confirmed — run without --removable to review those individually.
For every candidate, before deleting:
@deprecated javadoc. Migrate them first (in the same change), or, if
migration is non-trivial or out of scope, leave that entry in place and
move on — don't delete something the codebase still depends on.If in doubt about whether an external/public API can be dropped, surface it to the user rather than guessing — some deprecated items are kept intentionally for downstream compatibility.
Delete the declaration and its javadoc/annotation block together. Preserve surrounding comments that are not about the removed element (see the repo's editing rules). Group all removals within a single class into one commit; keep different classes in separate commits so history stays reviewable.
Removing code can break compilation elsewhere in the module (or its dependents).
Build the module you touched — and rebuild its deployment module if you changed a
runtime module (see the building-and-testing skill):
./mvnw install -f <module-path> -DskipTestsFix any fallout (usually leftover callers you can migrate to the replacement). Only consider the removal done once it compiles.
One commit per class. See Commit conventions below.
When you deprecate something, its satellites should be deprecated too. The classic gap is a deprecated field whose accessors (getter/setter), constructors, or builder methods were left un-annotated — so a caller using the getter gets no warning.
Run the tool without an age filter (the default) so every deprecation shows up regardless of when it was introduced — the gaps you're hunting for are often recent:
scripts/find-deprecated.sh <path> --csvWhile reviewing a class (or when the user reports one), look for a deprecated element whose companions are not deprecated:
@Deprecated field → is its getter/setter deprecated? Its constructor
parameter? The builder method that sets it?@Deprecated constructor/method → do overloads that only forward to it, or
builder entry points that only exist for it, still lack the annotation?git blame the un-annotated companion to understand when it was introduced and
whether it was meant to be deprecated alongside the element it serves. The commit
that deprecated the primary element is your reference.
Add both an @Deprecated annotation and a javadoc @deprecated tag that tells
the user what to use instead. The javadoc is what makes the deprecation
actionable — without a replacement pointer it's just noise.
/**
* @deprecated Use {@link GeneratedResourceBuildItem#GeneratedResourceBuildItem(String, byte[])} instead.
* If you want to serve static resources use
* {@link io.quarkus.vertx.http.deployment.spi.GeneratedStaticResourceBuildItem} instead.
*/
@Deprecated(since = "4.0")
public GeneratedResourceBuildItem(String name, byte[] data, boolean excludeFromDevCL) {
...
}Build the module (Workflow A, step 4) and commit — message form
"Code deprecation in X" (see below).
Use this when the user asks to deprecate a category of element that isn't
currently deprecated at all — e.g. "deprecate constructors of classes that
have a builder", "deprecate the Foo class in favor of Bar", "deprecate the
getX() method".
Grep/search for the pattern the user described (e.g. classes with a builder:
look for a builder() static method or nested Builder class, then check
whether that class also exposes public constructors). Don't rely on
find-deprecated.sh here — it only finds existing @Deprecated entries, not
candidates for new ones. List every matching element before annotating so
scope is clear up front; if the match criteria are ambiguous (e.g. does
"classes with a builder" include package-private or test-only classes?),
confirm scope with the user before proceeding rather than guessing.
Same conventions as Workflow B step 2: @Deprecated(since = "<version>") plus
a javadoc @deprecated tag naming the replacement. See Choosing since
below for a brand-new deprecation.
Build the module (Workflow A, step 4) and commit — message form
"Deprecate X", body explaining what to use instead, one class per commit
(see Commit conventions).
@Deprecated annotation conventions@Deprecated(since = "<version>") over a bare
@Deprecated. since records when the deprecation started (which
drives the 12-month removal clock and helps future cleanup)@deprecated tag naming the
replacement.since:For a companion that should have been deprecated alongside an existing element, match the intent of that element — but note the actual value is a judgement call, ask the user if in doubt.
For a brand-new deprecation, use the current in-development release
version. The main branch carries 999-SNAPSHOT, so the real version isn't in
pom.xml — determine it from the project's GitHub milestones: find the open
milestone whose title ends in - main and use the version prefix (strip the
suffix). For example, a milestone titled 4.0 - main means since = "4.0".
gh api repos/quarkusio/quarkus/milestones --jq '.[].title' | grep -- '- main$'If no milestone matches, or more than one does, ask the user rather than guessing.
One class per commit. The body cites the commit(s) that introduced the deprecation, so a reviewer can verify the 12-month age without re-running blame. Follow the repository's policies.
Removal — single introducing commit:
Remove deprecated code from `TransformedClassesBuildItem`
The removed code has been deprecated for at least 12 months in 469fd3aeRemoval — multiple introducing commits:
Remove deprecated code from `ReflectiveHierarchyBuildItem`
The removed code has been deprecated for at least 12 months in the
following commits:
* 498d936a
* aeeaa55dCompleting a missed deprecation:
Code deprecation in `GeneratedResourceBuildItem`
The removed code has been deprecated for at least 12 months in c76362ab.
The newly deprecated methods should have been deprecated as part of
41cd5830Use backticks around the class name in the subject. Reference commits by their
short hash (from the discovery tool's Commit column).
@Deprecated as proof of disuse. Always grep for callers
first; deprecated APIs are frequently still used internally.-M -C to trace
the true origin — but if you compute a date another way, a refactor can make
old code look recent and vice-versa.impsort-maven-plugin handle that during compilation. Don't pass -Dno-format.© quarkusio, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (scripts) in .agents/skills/manage-deprecations of quarkusio/quarkus.
Open the folder on GitHubat commit 3c0afef
Manage Deprecations 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Manage Deprecations this skillquarkusio/quarkus | 16k | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Brainstormingxpinjection/test-driven-spring-boot | 112 | 53 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Android API Diffgkd-kit/gkd | 43k | — | ~796 | Automated safety check: Pass | GPL-3.0 | |
| Video Cover Imageitwanger/toBeBetterJavaer | 18k | — | ~3.3k | Automated safety check: Pass | None | |
| Lancedb Update Lance Dependencylancedb/lancedb | 12k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Java SDK E2E Test with Replay Snapshotgithub/copilot-sdk | 11k | — | ~1.8k | Automated safety check: Pass | MIT |
xpinjection/test-driven-spring-boot
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior.
gkd-kit/gkd
Looks up Android framework Java and AIDL APIs across versions with the android-api-diff CLI: signatures, availability, source files and hidden-API access code.
itwanger/toBeBetterJavaer
Generate matched 3:4, 16:9, and 4:3 short-video cover images from toBeBetterJavaer video scripts or AI/Java technical topics.
lancedb/lancedb
Update LanceDB to a specific Lance release or tag. An agent skill from lancedb/lancedb.
github/copilot-sdk
Creates a Java SDK end-to-end test for the Copilot SDK that runs against a recorded YAML snapshot through a replay proxy, so CI needs no real authentication.
apache/fory
Prepare an Apache Fory release candidate from a clean release branch, including the version bump, RC tag, JVM staging, ASF source artifacts, SVN upload, and vote email.
quarkusio/quarkus
How to build and test Quarkus: Maven commands, build flags, incremental builds, justfile aliases, and important build rules.
quarkusio/quarkus
How to build, preview, and verify Quarkus documentation locally: root Maven build, docs rebuild, Roq dev server preview.
quarkusio/quarkus
Quarkus split classloading model, runtime-dev module wiring, conditional dependencies, and common classloading mistakes.
quarkusio/quarkus
Step-by-step guide for converting Quarkus extensions from the legacy @Record/@Recorder pattern to the ServiceRegistrar service system.
quarkusio/quarkus
How to create a new Quarkus extension: full module layout, package naming, artifact naming, dependency rules, and Dev UI setup.
quarkusio/quarkus
Rules for preparing pull requests and commits in the Quarkus project: title conventions, description format, commit hygiene, labels, and contribution policies.
Works with
Maintain @Deprecated code in the Quarkus codebase: remove code that has been deprecated for more than 12 months, add the @Deprecated annotations that were missed when a related element was…. Manage Deprecations is an agent skill from quarkusio/quarkus.g.
Manage Deprecations fits situations like: the user asks to clean up deprecations; remove old/long-deprecated code; purge deprecated APIs; remove code deprecated for over a year.
Run `npx skills add quarkusio/quarkus --skill manage-deprecations -a claude-code`. Or copy the skill folder (.agents/skills/manage-deprecations in quarkusio/quarkus) into .claude/skills/manage-deprecations in your project. Claude Code loads it when a task matches its description.
Run `npx skills add quarkusio/quarkus --skill manage-deprecations -a codex`. Or copy the skill folder (.agents/skills/manage-deprecations in quarkusio/quarkus) into .agents/skills/manage-deprecations in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add quarkusio/quarkus --skill manage-deprecations -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/manage-deprecations, .gemini/skills/manage-deprecations, .github/skills/manage-deprecations and .opencode/skills/manage-deprecations in your project.
Going by SKILL.md and its folder, Manage Deprecations needs a shell for the scripts in its folder and the command-line tools its instructions call (git). Our summary lists: A Bash shell.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Manage Deprecations is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Manage Deprecations: Brainstorming (xpinjection/test-driven-spring-boot, 112 stars), Android API Diff (gkd-kit/gkd, 43k stars), Video Cover Image (itwanger/toBeBetterJavaer, 18k stars) and Lancedb Update Lance Dependency (lancedb/lancedb, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
quarkusio (a GitHub organization) maintains it in quarkusio/quarkus, which has 15,942 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 10, 2026.
Source: quarkusio/quarkus on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.