Agent skill

Compatibility Strategy

by kernitus in kernitus/BukkitOldCombatMechanics

A skill your agent uses for Java 8 backports, Bukkit/Paper version differences, NMS/reflection, PacketEvents compatibility, fake-player implementation choices, and feature-detection design; do not…

MPL-2.0Auto-check passed

Install Compatibility Strategy

skills CLI
$ npx skills add kernitus/BukkitOldCombatMechanics --skill compatibility-strategy -a claude-code

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

GitHub CLI
$ gh skill install kernitus/BukkitOldCombatMechanics compatibility-strategy --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/kernitus/BukkitOldCombatMechanics.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/compatibility-strategy .claude/skills/compatibility-strategy && 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
compatibility-strategy
GitHub stars
225
Token cost
~824 tokens
SKILL.md length
380 words
Files
1
Skills in repo
9
Repo updated
First seen
Licence
MPL-2.0

At a glance

A skill your agent uses for Java 8 backports, Bukkit/Paper version differences, NMS/reflection, PacketEvents compatibility, fake-player implementation choices, and feature-detection design; do not…

  • Works in 6 steps: Identify the minimum supported Java… → Identify whether Bukkit/Paper exposes a… → If an API may be missing or backported,… → …
  • Java 8 backports
  • SKILL.md covers When to use, When not to use, Required stance and Compatibility checklist, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Compatibility Strategy is an agent skill from kernitus/BukkitOldCombatMechanics. Use for Java 8 backports, Bukkit/Paper version differences, NMS/reflection, PacketEvents compatibility, fake-player implementation choices, and feature-detection design; do not use for release publishing, PR wording, or simple test-running decisions.

Its SKILL.md is about 820 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It works with Java. The repository describes itself as: Minecraft plugin to configure combat mechanics for 1.9 onwards. The licence is MPL-2.0.

When your agent uses it

  • Java 8 backports
  • Bukkit/Paper version differences
  • PacketEvents compatibility
  • Fake-player implementation choices

Example prompts

  • “/compatibility-strategy”

Workflow steps

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

  1. Identify the minimum supported Java runtime for the touched source set.
  2. Identify whether Bukkit/Paper exposes a direct API for the target behaviour.
  3. If an API may be missing or backported, add runtime feature detection.
  4. Choose a safe fallback that preserves existing behaviour where feature detection fails.
  5. Keep diagnostics actionable when every candidate path fails.
  6. Select validation versions that cover the compatibility boundary, usually a legacy version plus a modern Paper version.

What it can do on your machine

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

Compatibility Strategy loads about 824 tokens when it runs. Until then it costs about 68 tokens; SKILL.md has 380 words of instructions outside code blocks.

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

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 kernitus/BukkitOldCombatMechanics at commit e66e7a9, republished under its MPL-2.0 licence (© kernitus). 380 words, ~824 tokens.

Download SKILL.mdSave it as .claude/skills/compatibility-strategy/SKILL.md (or your agent's skills folder).
name
compatibility-strategy
description
Use for Java 8 backports, Bukkit/Paper version differences, NMS/reflection, PacketEvents compatibility, fake-player implementation choices, and feature-detection design; do not use for release publishing, PR wording, or simple test-running decisions.

Compatibility Strategy

Use this skill when a change must behave across legacy and modern Bukkit/Paper versions or across different Java runtimes.

When to use

  • Java 8 source compatibility or dependency updates that might introduce newer APIs.
  • NMS, CraftBukkit, Paper, PacketEvents, XSeries, or reflection-sensitive changes.
  • Fake-player internals, attack delivery, fire ticks, entity ticking, or synthetic network plumbing.
  • Decisions about feature detection versus hard-coded Minecraft version checks.
  • Fallback behaviour on Spigot, Paper, legacy 1.12/1.9, or modern 1.20.5+ servers.

When not to use

  • Do not use for release asset or publishing checks; use release-readiness-review.
  • Do not use for config/modeset-only changes unless compatibility affects the implementation; use module-config-change first.
  • Do not use for PR prose only; use pr-draft-summary.

Required stance

  • Prefer direct supported APIs when present.
  • Use reflection only as a fallback or compatibility bridge, especially off hot paths.
  • Prefer feature detection by class, method, field, component, or capability over hard-coded version numbers.
  • Keep Java 8-targeted code free of Java 9+ collection factories, Stream.toList(), records, pattern matching, and other newer language/runtime features.
  • For NMS access, prefer utilities.reflection.Reflector helpers where they fit the problem.
  • Avoid hard-coded versioned NMS class names unless no heuristic or API-based path is viable.
Show full SKILL.md (187 more words)Show less

Compatibility checklist

  1. Identify the minimum supported Java runtime for the touched source set.
  2. Identify whether Bukkit/Paper exposes a direct API for the target behaviour.
  3. If an API may be missing or backported, add runtime feature detection.
  4. Choose a safe fallback that preserves existing behaviour where feature detection fails.
  5. Keep diagnostics actionable when every candidate path fails.
  6. Select validation versions that cover the compatibility boundary, usually a legacy version plus a modern Paper version.

Java 8 reminders

  • Use collect(Collectors.toList()) instead of Stream.toList().
  • Use mutable collections wrapped with Collections.unmodifiable* where immutable Java 9 factories would otherwise be tempting.
  • Avoid records, sealed classes, switch expressions, pattern matching, and var in Java source.
  • Main build config targets Java 8 via options.release.set(8) and Kotlin jvmTarget = 1.8.

Fake-player and NMS reminders

  • The primary fake-player path is modern-NMS-oriented and relies on reflection remapping.
  • Legacy 1.12 uses versioned NMS and currently needs dedicated or version-aware handling for realistic fake-player tests.
  • Fake players are simulated login/network entities, not real network clients.
  • PacketEvents may need fake users or explicit client-version seeding in synthetic scenarios.

References

  • Broader test-harness and historical notes: ../integration-test-verification/references/relocated-agents-notes.md.

© kernitus, MPL-2.0. 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 .agents/skills/compatibility-strategy of kernitus/BukkitOldCombatMechanics.

Open the folder on GitHubat commit e66e7a9

Compare with similar skills

Compatibility Strategy 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.

Compatibility Strategy compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Compatibility Strategy this skillkernitus/BukkitOldCombatMechanics225—~824Automated safety check: PassMPL-2.0
Brainstormingxpinjection/test-driven-spring-boot11254 repos~2.6kAutomated safety check: PassMIT
Android API Diffgkd-kit/gkd43k—~796Automated safety check: PassGPL-3.0
Video Cover Imageitwanger/toBeBetterJavaer18k—~3.3kAutomated safety check: PassNone
Lancedb Update Lance Dependencylancedb/lancedb12k—~1.1kAutomated safety check: PassApache-2.0
Java SDK E2E Test with Replay Snapshotgithub/copilot-sdk11k—~1.8kAutomated safety check: PassMIT

Similar skills

  • Brainstorming

    xpinjection/test-driven-spring-boot

    You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior.

    112 GitHub starsUsed in 54 repos~2.6k tokens
    Agent WorkflowsAuto-check passed
  • Android API Diff

    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.

    43k GitHub stars~796 tokensUpdated today
    MobileAuto-check passed
  • Video Cover Image

    itwanger/toBeBetterJavaer

    Generate matched 3:4, 16:9, and 4:3 short-video cover images from toBeBetterJavaer video scripts or AI/Java technical topics.

    18k GitHub stars~3.3k tokensUpdated today
    Media & CreativeAuto-check passed
  • Update LanceDB to a specific Lance release or tag. An agent skill from lancedb/lancedb.

    12k GitHub stars~1.1k tokensUpdated today
    DatabasesAuto-check passed
  • Official

    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.

    11k GitHub stars~1.8k tokensUpdated today
    Testing & QAAuto-check passed
  • Fory Release

    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.

    4.6k GitHub stars~2.9k tokensUpdated yesterday
    Auto-check passed

More from kernitus/BukkitOldCombatMechanics

All 9 skills in this repo
  • Integration Test Verification

    kernitus/BukkitOldCombatMechanics

    A skill your agent uses when running, selecting, authoring, or triaging integration tests, Kotest specs, Gradle matrix tasks, FakePlayer-backed test cases, or compact test-result files; do not use…

    225 GitHub stars~1.2k tokensUpdated 5 days ago
    Auto-check passed
  • Dependabot PR Review

    kernitus/BukkitOldCombatMechanics

    A skill your agent uses for Dependabot PRs, dependency bumps, Gradle or Maven dependency updates, GitHub Actions updates, dependency changelog/licence/release-note review, JVM/classfile checks, and…

    225 GitHub stars~882 tokensUpdated 5 days ago
    Auto-check passed
  • Module Config Change

    kernitus/BukkitOldCombatMechanics

    A skill your agent uses for config.yml, module enablement, modesets, config migration, configurable module assignment, and per-module option changes; do not use for unrelated integration-test…

    225 GitHub stars~914 tokensUpdated 5 days ago
    Auto-check passed
  • PR Draft Summary

    kernitus/BukkitOldCombatMechanics

    A skill your agent uses when drafting pull-request titles, descriptions, change summaries, risk notes, validation sections, or reviewer handoff text; do not use for implementation design, release…

    225 GitHub stars~526 tokensUpdated 5 days ago
    Auto-check passed
  • Release Readiness Review

    kernitus/BukkitOldCombatMechanics

    A skill your agent uses for GitHub release, Hangar, CurseForge/BukkitDev upload, Spigot release handoff, licence, asset naming, supported-version, and workflow readiness checks; do not use for…

    225 GitHub stars~1.5k tokensUpdated 5 days ago
    Auto-check passed
  • User Facing Changelog

    kernitus/BukkitOldCombatMechanics

    A skill your agent uses when rewriting CHANGELOG.md, GitHub release notes, or Release Please PR changelog sections into user-facing release notes; do not use for release publishing, assets, licence…

    225 GitHub stars~1.3k tokensUpdated 5 days ago
    Auto-check passed

Works with

Questions about Compatibility Strategy

What does Compatibility Strategy do?

A skill your agent uses for Java 8 backports, Bukkit/Paper version differences, NMS/reflection, PacketEvents compatibility, fake-player implementation choices, and feature-detection design; do not…. Compatibility Strategy is an agent skill from kernitus/BukkitOldCombatMechanics. Use for Java 8 backports, Bukkit/Paper version differences, NMS/reflection, PacketEvents compatibility, fake-player implementation choices, and feature-detection design; do not use for release publishing, PR wording, or simple test-running decisions.

When should I use Compatibility Strategy?

Compatibility Strategy fits situations like: java 8 backports; bukkit/Paper version differences; packetEvents compatibility; fake-player implementation choices.

How do I install Compatibility Strategy in Claude Code?

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

How do I install Compatibility Strategy in Codex?

Run `npx skills add kernitus/BukkitOldCombatMechanics --skill compatibility-strategy -a codex`. Or copy the skill folder (.agents/skills/compatibility-strategy in kernitus/BukkitOldCombatMechanics) into .agents/skills/compatibility-strategy in your project. Codex loads it when a task matches its description.

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

What does Compatibility Strategy need to run?

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

Does Compatibility Strategy 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 Compatibility Strategy 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 Compatibility Strategy use?

Compatibility Strategy is published under the MPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Compatibility Strategy use?

About 824 tokens (SKILL.md is roughly 3.3k 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 Compatibility Strategy?

Skills that share tags, products or a category with Compatibility Strategy: 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.

Who maintains Compatibility Strategy?

kernitus (a GitHub user) maintains it in kernitus/BukkitOldCombatMechanics, which has 225 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 4, 2026.

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