Not in the top 1,000 by GitHub stars
vvs1off/fabric-skills
Make Claude Code actually good at Minecraft Fabric modding. Skills, commands and a mixin-review agent for Fabric mod development.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/check/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 8bdc1ba66c4d
No earlier version was observed for comparison.
skills/fabric-client-rendering/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 8bdc1ba66c4d
No earlier version was observed for comparison.
skills/fabric-config-and-keybinds/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 8bdc1ba66c4d
No earlier version was observed for comparison.
skills/fabric-crash-debugging/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 8bdc1ba66c4d
No earlier version was observed for comparison.
skills/fabric-mixins/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 8bdc1ba66c4d
No earlier version was observed for comparison.
skills/fabric-networking/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 8bdc1ba66c4d
No earlier version was observed for comparison.
skills/fabric-project-setup/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 8bdc1ba66c4d
No earlier version was observed for comparison.
skills/fabric-release/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 8bdc1ba66c4d
No earlier version was observed for comparison.
skills/fabric-version-porting/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 8bdc1ba66c4d
No earlier version was observed for comparison.
skills/new/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 8bdc1ba66c4d
No earlier version was observed for comparison.
skills/port/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 8bdc1ba66c4d
No earlier version was observed for comparison.
Verified commit 8bdc1ba66c4d3777c73555b844ca1ecd064d59b7
git clone --filter=blob:none --no-checkout https://github.com/vvs1off/fabric-skills.git .hotskills/vvs1off-fabric-skills && git -C .hotskills/vvs1off-fabric-skills checkout --detach 8bdc1ba66c4d3777c73555b844ca1ecd064d59b7
# Copy each selected skill directory from .hotskills/vvs1off-fabric-skills into .claude/skills/<skill-name>/Heat
Insufficient historyNot enough history yet to measure heat. It appears after a few days of data.
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- check
skills/check - fabric-client-rendering
skills/fabric-client-rendering - fabric-config-and-keybinds
skills/fabric-config-and-keybinds - fabric-crash-debugging
skills/fabric-crash-debugging - fabric-mixins
skills/fabric-mixins - fabric-networking
skills/fabric-networking - fabric-project-setup
skills/fabric-project-setup - fabric-release
skills/fabric-release - fabric-version-porting
skills/fabric-version-porting - new
skills/new - port
skills/port
How it works
check
When your agent uses it
Audit the current Fabric mod project (fabric.mod.json, build setup, dependencies, mixins, client/server separation, secrets) and output a prioritized report.
What it loads into context
Frontmatter
54 tokensAlways available to the agent
SKILL.md
1,244 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What to inspect
- Report format
Files
../../.claude-plugin/icon.pngasset6,025 bytes../../.claude-plugin/marketplace.jsonasset315 bytes../../.claude-plugin/plugin.jsonasset577 bytesSKILL.mdcore4,779 bytes
Read SKILL.md
# /fabric-skills:check - audit this Fabric mod
Audit the Fabric mod in `$ARGUMENTS` (or the current directory if empty). **Read-only**: do not
modify files. Produce a report; offer fixes afterwards.
Use the checklists from `fabric-project-setup`, `fabric-mixins`, `fabric-networking` and
`fabric-release`. For a deep mixin review, delegate to the `mixin-reviewer` agent.
## What to inspect
### 1. Era and versions
- `gradle.properties`, `build.gradle`, `settings.gradle`, wrapper version.
- Era: 26.1+ (plugin `net.fabricmc.fabric-loom`, no `mappings`) vs older (remap plugin +
Yarn/Mojang mappings). Flag mixtures (e.g. a `mappings` line on 26.1+, `modImplementation` withView the complete source on GitHubfabric-client-rendering
When your agent uses it
Draw things on the Minecraft client with Fabric - HUD elements (HudElementRegistry and the older HUD callbacks), GUI drawing (GuiGraphicsExtractor / GuiGraphics / DrawContext depending on version), text and Components, item tooltips, custom Screens and widgets, and render performance. Use when adding or fixing a HUD overlay, screen, tooltip or any per-frame client drawing code.
What it loads into context
Frontmatter
83 tokensAlways available to the agent
SKILL.md
2,921 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Step 0 - Which drawing API does this version have?
- HUD elements (HudElementRegistry)
- Drawing primitives
- Text
- Tooltips
- Custom screens
- Performance - this code runs every frame
- World rendering
- Common mistakes
Files
SKILL.mdcore11,614 bytesSKILL.mdcore11,614 bytesSKILL.mdcore11,614 bytes
Read SKILL.md
# Fabric client rendering
All code in this skill is **client-only**: it belongs in `src/client/java` and is registered
from your `ClientModInitializer`. Referencing it from common code crashes dedicated servers.
## Step 0 - Which drawing API does this version have?
The GUI drawing class and the HUD API were renamed several times. Check before writing code:
```bash
grep -E "minecraft_version|yarn_mappings" gradle.properties
grep -n "mappings" build.gradle
```
View the complete source on GitHubfabric-config-and-keybinds
When your agent uses it
Add key bindings (KeyMappingHelper / KeyBindingHelper) and a configuration system to a Fabric mod - a dependency-free JSON config with Gson, or Cloth Config / YACL screens - plus optional Mod Menu integration. Use when a mod needs a toggle key, user settings, a config screen, or a "Configure" button in Mod Menu, or when key presses fire twice / not at all.
What it loads into context
Frontmatter
91 tokensAlways available to the agent
SKILL.md
2,783 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Step 0 - Names for your version
- Key bindings (26.3 shown)
- Config, option A: plain JSON with Gson (no dependencies)
- Config, option B: a config library with a ready-made screen
- Mod Menu integration (optional, soft dependency)
- Syncing config with a server
- Common mistakes
Files
SKILL.mdcore11,761 bytes
Read SKILL.md
# Fabric config and key bindings
Key bindings and config screens are **client-side**: put them in `src/client` and register
them from the `ClientModInitializer`. The config *data* class can live in `src/main` if the
server also reads it.
## Step 0 - Names for your version
| | 26.3+ (SDL input) | 26.1 - 26.2 | 1.21.x Mojang mappings | Yarn (<= 1.21.11) |
|---|---|---|---|---|
| Helper | `KeyMappingHelper.registerKeyMapping` (`...client.keymapping.v1`) | same as 26.3 | `KeyBindingHelper.registerKeyBinding` (`...client.keybinding.v1`) | `KeyBindingHelper.registerKeyBinding` |
| Vanilla class | `KeyMapping` | `KeyMapping` | `KeyMapping` | `KeyBinding` |
| "was pressed" | `consumeClick()` | `consumeClick()` | `consumeClick()` | `wasPressed()` |
| Input type | `InputConstants.Type.KEYBOARD` | `InputConstants.Type.KEYSYM` | `InputConstants.Type.KEYSYM` | `InputUtil.Type.KEYSYM` |View the complete source on GitHubfabric-crash-debugging
When your agent uses it
Diagnose and fix Minecraft Fabric crashes and load failures - reading crash reports and latest.log, Mixin errors (InvalidInjectionException, "could not find any targets", "@Redirect conflict", MixinApplyError), dependency and version resolution errors from Fabric Loader, client/server class-loading crashes (ClassNotFoundException, "invalid dist"), NoSuchMethodError/NoSuchFieldError from version mismatches, and Gradle/Loom build failures. Use whenever the user pastes a crash report, a stack trace, a log, or says the game or build crashes.
What it loads into context
Frontmatter
122 tokensAlways available to the agent
SKILL.md
2,496 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Where to look
- Reading a crash report, in order
- Loader resolution errors (game never starts)
- Mixin failures
- Client / server side crashes
- Version-mismatch errors
- Common runtime exceptions in mod code
- Build (Gradle / Loom) failures
- Workflow when the cause is not obvious
- Common mistakes
Files
SKILL.mdcore10,268 bytes
Read SKILL.md
# Fabric crash debugging
Crashes are evidence. Read them in a fixed order and you will find the cause in the first 50
lines almost every time. Never "fix" a crash by guessing; locate the frame first.
## Where to look
| File | Contains |
|---|---|
| `run/crash-reports/crash-<date>-<side>.txt` (dev) / `.minecraft/crash-reports/` | Full crash report for crashes after the game started |
| `run/logs/latest.log` | Everything, including Loader resolution errors and mixin failures that happen *before* a crash report can be written |
| `run/logs/debug.log` | Same with debug level (if enabled) |
| `hs_err_pid*.log` in the run dir | **Native/JVM** crash (GPU driver, out of memory) - not a Java bug in your mod |
| Gradle output / `--stacktrace` | Build-time failures |View the complete source on GitHubfabric-mixins
When your agent uses it
Write, review or fix Mixins in a Fabric mod - choosing between a Fabric API event and a mixin, @Inject, @Redirect, @ModifyVariable, the safer MixinExtras injectors (@WrapOperation, @ModifyExpressionValue, @WrapWithCondition, @Local), accessors/invokers, class tweakers (access wideners), cross-mod compatibility and debugging with mixin.debug.export. Use whenever a task needs to change vanilla behaviour, read private fields, or when a mixin fails to apply.
What it loads into context
Frontmatter
115 tokensAlways available to the agent
SKILL.md
3,464 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Decision order - try these before writing a mixin
- Before writing any injector: confirm the target
- Mixin config and conventions
- @Inject - run code at a point, optionally cancel
- MixinExtras - use these instead of @Redirect and most @ModifyVariable
- @Redirect and @ModifyVariable - only when nothing else fits
- Accessors and invokers
- Class tweakers (formerly access wideners)
- Cross-mod compatibility checklist
- Debugging mixins
- Common mistakes
Files
SKILL.mdcore13,976 bytesSKILL.mdcore13,976 bytes
Read SKILL.md
# Fabric mixins
Mixins patch Minecraft's bytecode at load time. They are powerful and fragile: every mixin is a
promise that a specific method, with a specific shape, still exists in the next version and
that no other mod changes it incompatibly. Write as few as possible, as narrow as possible.
## Decision order - try these before writing a mixin
1. **Fabric API event or registry.** Search Fabric API first: lifecycle events
(`ServerLifecycleEvents`, `ClientTickEvents`), player events (`UseBlockCallback`,
`AttackEntityCallback`, `PlayerBlockBreakEvents`), HUD (`HudElementRegistry`), screens
(`ScreenEvents`), loot (`LootTableEvents`), commands (`CommandRegistrationCallback`),
networking, item tooltips, resource reload listeners, and many more.
Browse https://github.com/FabricMC/fabric-api (each module's `api` package) and the FabricView the complete source on GitHubfabric-networking
When your agent uses it
Send data between Minecraft client and server in a Fabric mod using the current payload API - CustomPacketPayload records, StreamCodec, PayloadTypeRegistry, ServerPlayNetworking / ClientPlayNetworking, PlayerLookup - with server-side validation and strict client/server separation. Use when adding a custom packet, syncing state to clients, sending input to the server, or fixing "unknown payload", disconnects or desyncs.
What it loads into context
Frontmatter
89 tokensAlways available to the agent
SKILL.md
2,453 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Step 0 - Which API generation?
- 1. Define the payload (common code, `src/main`)
- 2. Register payload types (common initializer - both sides)
- 3. Receive on the server - validate everything
- 4. Receive on the client (client initializer, `src/client`)
- 5. Send
- Client/server separation
- Configuration-phase payloads (advanced)
- Common mistakes
Files
SKILL.mdcore10,543 bytes
Read SKILL.md
# Fabric networking
There is **always** a server, even in singleplayer (the integrated server). Anything the client
wants to change in the world goes client -> server as a request; the server decides, applies,
and tells the clients what happened.
## Step 0 - Which API generation?
| Minecraft | API | Notes |
|---|---|---|
| **26.1+** | `CustomPacketPayload` + `StreamCodec`; `PayloadTypeRegistry.clientboundPlay()` / `serverboundPlay()` | Mojang names throughout |
| 1.20.5 - 1.21.11 | Same payload/codec design. Registry methods `playS2C()` / `playC2S()`. Yarn names: `CustomPayload`, `PacketCodec`, `PacketCodecs`, `RegistryByteBuf`, `CustomPayload.Id` | Mojang-mapped 1.21.x uses Mojang names with the `playS2C/playC2S` methods |
| 1.20.4 and older | Channel `Identifier` + `PacketByteBuf` (`ServerPlayNetworking.send(player, id, buf)`) | Legacy - do not use this shape on 1.20.5+ |
View the complete source on GitHubfabric-project-setup
When your agent uses it
Set up or repair a Minecraft Fabric mod project - build.gradle, gradle.properties, settings.gradle, fabric.mod.json, entrypoints, mixin configs, mappings choice and the client/common source split. Use when creating a new Fabric mod, when a Fabric build fails to configure, when choosing Loom/Loader/Fabric API versions, or when code ends up on the wrong side (client vs server).
What it loads into context
Frontmatter
89 tokensAlways available to the agent
SKILL.md
3,840 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Step 0 - Find out which era you are in (do this first)
- Step 1 - Look up current versions (never hardcode from memory)
- Step 2 - Standard layout
- Step 3 - Build files (unobfuscated era, 26.1+)
- Step 4 - fabric.mod.json
- Step 5 - Entrypoints
- Step 6 - Mixin configs
- Step 7 - Verify
- Common mistakes
Files
SKILL.mdcore15,168 bytesSKILL.mdcore15,168 bytesSKILL.mdcore15,168 bytesSKILL.mdcore15,168 bytesSKILL.mdcore15,168 bytesSKILL.mdcore15,168 bytes
Read SKILL.md
# Fabric project setup
This skill gets a Fabric mod project into a state where `./gradlew build` works and the
structure matches what current Fabric tooling expects.
## Step 0 - Find out which era you are in (do this first)
Fabric changed fundamentally at **Minecraft 26.1**: the game ships **unobfuscated**, Yarn is
**discontinued**, and Loom has a new plugin id. Almost every "it doesn't compile" problem an
agent causes comes from mixing the two eras.
| | Minecraft **26.1 and newer** | Minecraft **1.21.11 and older** |
|---|---|---|
| Names in code | Mojang official names (`Minecraft`, `GuiGraphicsExtractor`, `KeyMapping`) | Yarn (`MinecraftClient`, `DrawContext`, `KeyBinding`) **or** Mojang mappings |View the complete source on GitHubfabric-release
When your agent uses it
Release a Fabric mod - semantic versioning, changelogs, reproducible jars, and publishing to Modrinth, CurseForge and GitHub Releases from GitHub Actions with tokens kept in GitHub Secrets. Use when preparing a release, bumping a version, writing release automation, or when asked to "publish", "upload to Modrinth" or "make a release".
What it loads into context
Frontmatter
84 tokensAlways available to the agent
SKILL.md
1,891 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Versioning
- Changelog
- Reproducible builds
- Secrets - the non-negotiable part
- Publishing workflow (GitHub Actions)
- Release checklist
- Common mistakes
Files
SKILL.mdcore7,269 bytes
Read SKILL.md
# Fabric release
A release is a jar that someone else will run. It must be built by CI from a tagged commit,
with a clear version and changelog, and published without any credential ever touching the
repository.
## Versioning
Use Semantic Versioning for the **mod** and put the Minecraft version in build metadata:
```
<major>.<minor>.<patch>+<minecraft_version> e.g. 1.4.2+26.3
```
View the complete source on GitHubfabric-version-porting
When your agent uses it
Port a Fabric mod from one Minecraft version to another - including the big Yarn -> Mojang mappings migration required for Minecraft 26.1+, Fabric API renames, reading Fabric and Minecraft changelogs, and fixing compile errors and broken mixins until the build passes. Use when asked to update, port, bump or "make it work on" a different Minecraft version.
What it loads into context
Frontmatter
84 tokensAlways available to the agent
SKILL.md
3,034 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Step 1 - Establish where you are and where you are going
- Step 2 - Gather the change information (read before editing)
- Step 3 - (Only if leaving Yarn) migrate mappings on the OLD version first
- Step 4 - Bump the build
- Step 5 - Fix compile errors systematically
- Step 6 - Fix mixins (they fail at runtime, not compile time)
- Step 7 - Verify behaviour, then finish
- Supporting several versions
- Common mistakes
Files
SKILL.mdcore11,571 bytesSKILL.mdcore11,571 bytesSKILL.mdcore11,571 bytesSKILL.mdcore11,571 bytes
Read SKILL.md
# Fabric version porting
Porting is a loop: **bump -> build -> read the first error -> look up the new API -> fix ->
build again**. The skill is in doing it in the right order and never guessing new names.
## Step 1 - Establish where you are and where you are going
```bash
grep -E "minecraft_version|yarn_mappings|loader_version|loom_version|fabric_api_version" gradle.properties
grep -nE "fabric-loom|mappings|modImplementation" build.gradle
git status # must be clean - commit or stash first
```
Then classify the jump:View the complete source on GitHubnew
When your agent uses it
Scaffold a new Minecraft Fabric mod project (asks for name, mod id, Minecraft version and whether it is client-only, then generates a project that builds).
What it loads into context
Frontmatter
52 tokensAlways available to the agent
SKILL.md
1,034 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Ask, then confirm
- 2. Look up versions (do not use remembered numbers)
- 3. Generate
- 4. Verify
- Done when
Files
SKILL.mdcore3,837 bytesSKILL.mdcore3,837 bytes
Read SKILL.md
# /fabric-skills:new - scaffold a new Fabric mod
Create a new, buildable Fabric mod. Follow the `fabric-project-setup` skill for every file you
write; this command only decides the order and asks the questions.
## 1. Ask, then confirm
Ask the user for (use `$ARGUMENTS` as the mod name if it was given):
1. **Mod name** (display name, e.g. "Better Pings").
2. **Mod id** - propose one derived from the name (lowercase, `a-z0-9_-`, starts with a letter,
2-64 chars, e.g. `betterpings`) and let the user accept or change it.
3. **Java package** - propose `com.example.<modid>` (strip `-`/`_`); remind them to use a domain
or `io.github.<username>` they actually control.View the complete source on GitHubport
When your agent uses it
Port the current Fabric mod to another Minecraft version and keep building and fixing until it compiles and starts.
What it loads into context
Frontmatter
43 tokensAlways available to the agent
SKILL.md
762 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 0. Preconditions
- 1. Analyse and plan (show the plan before editing)
- 2. Execute in separate commits
- 3. Build loop
- 4. Runtime check
- 5. Report
Files
SKILL.mdcore3,169 bytesSKILL.mdcore3,169 bytes
Read SKILL.md
# /fabric-skills:port - port this mod to Minecraft $ARGUMENTS
Port the mod in the current project to Minecraft **$ARGUMENTS**, following the
`fabric-version-porting` skill step by step. Use `fabric-mixins` for broken mixins and
`fabric-crash-debugging` for runtime failures.
If `$ARGUMENTS` is empty, ask for the target version. If it is "latest", resolve it to the latest
**stable** release from https://fabricmc.net/develop/ and confirm with the user.
## 0. Preconditions
- The working tree must be clean (`git status`). If not, ask the user to commit or stash.
- The project must build on its **current** version first (`./gradlew build`). If it does not,
report that and ask whether to fix it before porting - porting a broken build hides causes.View the complete source on GitHubSkills included
- check
- fabric-client-rendering
- fabric-config-and-keybinds
- fabric-crash-debugging
- fabric-mixins
- fabric-networking
- fabric-project-setup
- fabric-release
- fabric-version-porting
- new
- port
Repository facts
- License
- MIT
- Created
- Nov 1, 2026
- Last pushed
- Nov 2, 2026
- Forks
- 0
- Open issues
- 0
- Project activity
- Active
Before you install
Instructions onlyAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 13 notes
skills/fabric-client-rendering/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/fabric-client-rendering/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/fabric-mixins/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/fabric-project-setup/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/fabric-project-setup/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/fabric-project-setup/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/fabric-project-setup/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/fabric-project-setup/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/fabric-version-porting/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/fabric-version-porting/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/fabric-version-porting/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/new/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/port/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 73 network referencesin 11 files: fabric-project-setup/SKILL.md:42 fabric-version-porting/SKILL.md:32 fabric-mixins/SKILL.md:17 and 8 more
- No hidden or obfuscated text
- No instruction overrides
- No executable scripts
- 3 references to secretsin 3 files: check/SKILL.md:67 fabric-release/SKILL.md:134 new/SKILL.md:61
- No requests to vote in Hot
Show all 76 signals by file
.claude-plugin/plugin.json
- Network accessline 7
"name": "vvs1off" }, "homepage": "https://github.com/vvs1off/fabric-skills", - Network accessline 8
}, "homepage": "https://github.com/vvs1off/fabric-skills", "repository": "https://github.com/vvs1off/fabric-skills", - Network accessline 9
"homepage": "https://github.com/vvs1off/fabric-skills", - Network accessline 10
"repository": "https://github.com/vvs1off/fabric-skills",
skills/check/SKILL.md
- Network accessline 21
Yarn/Mojang mappings). Flag mixtures (e.g. a `mappings` line on 26.1+, `modImplementation` with non-remapping Loom, `implementation` for mods with remapping Loom). - Compare versions with https://fabricmc.net/develop/ for that Minecraft v - Network accessline 22
non-remapping Loom, `implementation` for mods with remapping Loom). - Compare versions with https://fabricmc.net/develop/ for that Minecraft version, if reachable; report outdated Loader/Fabric API/Loom (informational, not an error). When - Network accessline 23
- Compare versions with https://fabricmc.net/develop/ for that Minecraft version, if reachable; - Access to secretsline 67
[Credential-related source omitted]
skills/fabric-client-rendering/SKILL.md
- Network accessline 36
Version-matched guides with working code: https://docs.fabricmc.net/develop/rendering/hud (use - Network accessline 230
Drawing in the 3D world (outlines, boxes, lines) uses `LevelRenderEvents` (26.1+; named `WorldRenderEvents` before) and render pipelines, and changes nearly every version as Mojang rewrites the renderer. Read https://docs.fabricmc.net/devel - Network accessline 231
`WorldRenderEvents` before) and render pipelines, and changes nearly every version as Mojang rewrites the renderer. Read https://docs.fabricmc.net/develop/rendering/world for your exact version and copy its structure; do not adapt a world-r - Network accessline 232
rewrites the renderer. Read https://docs.fabricmc.net/develop/rendering/world for your exact
skills/fabric-config-and-keybinds/SKILL.md
- Network accessline 28
Confirm in the decompiled sources for your version before writing code (`InputConstants`, `KeyMapping` constructors). Docs: https://docs.fabricmc.net/develop/key-mappings - Network accessline 29
`KeyMapping` constructors). Docs: https://docs.fabricmc.net/develop/key-mappings - Network accessline 169
| Library | Good for | Where | |---|---|---| | **YACL** (Yet Another Config Lib) | Modern, nice screens, built-in serialization | https://modrinth.com/mod/yacl - docs https://docs.isxander.dev/yet-another-config-lib | - Network accessline 170
|---|---|---| | **YACL** (Yet Another Config Lib) | Modern, nice screens, built-in serialization | https://modrinth.com/mod/yacl - docs https://docs.isxander.dev/yet-another-config-lib | | **Cloth Config** | Long-established, many mods use - Network accessline 171
| **YACL** (Yet Another Config Lib) | Modern, nice screens, built-in serialization | https://modrinth.com/mod/yacl - docs https://docs.isxander.dev/yet-another-config-lib | - Network accessline 172
| **Cloth Config** | Long-established, many mods use it | https://modrinth.com/mod/cloth-config - docs https://shedaniel.gitbook.io/cloth-config | - Network accessline 202
repositories { maven { name = "Terraformers"; url = "https://maven.terraformersmc.com/releases/" } } - Network accessline 211
Look up `modmenu_version` for your Minecraft version on https://modrinth.com/mod/modmenu/versions.
skills/fabric-mixins/SKILL.md
- Network accessline 17
(`ScreenEvents`), loot (`LootTableEvents`), commands (`CommandRegistrationCallback`), networking, item tooltips, resource reload listeners, and many more. Browse https://github.com/FabricMC/fabric-api (each module's `api` package) and - Network accessline 18
networking, item tooltips, resource reload listeners, and many more. Browse https://github.com/FabricMC/fabric-api (each module's `api` package) and the Fabric docs. An event is stable across versions and composes with other mods for - Network accessline 19
Browse https://github.com/FabricMC/fabric-api (each module's `api` package) and the Fabric - Network accessline 42
"Cannot remap" warning at compile time - treat that warning as an error. - Copy method descriptors from the bytecode view or a tool (MCDev IntelliJ plugin, mcsrc.dev), not by hand. Descriptor reference: https://docs.fabricmc.net/develop/m - Network accessline 44
not by hand. Descriptor reference: https://docs.fabricmc.net/develop/mixins/bytecode - Network accessline 107
MixinExtras ships inside Fabric Loader (0.15+), so no extra dependency is needed. Imports are under `com.llamalad7.mixinextras`. Docs: https://github.com/LlamaLad7/MixinExtras/wiki - Network accessline 108
under `com.llamalad7.mixinextras`. Docs: https://github.com/LlamaLad7/MixinExtras/wiki - Network accessline 236
Run `./gradlew validateAccessWidener` - invalid entries are otherwise silently ignored. Use `transitive-` directives only when mods depending on yours must see the change. Header details, v2 features (interface injection, enum extension): h - Network accessline 238
v2 features (interface injection, enum extension): https://docs.fabricmc.net/develop/class-tweakers/
skills/fabric-networking/SKILL.md
- Network accessline 20
Detect it from `minecraft_version` in `gradle.properties`, then confirm the method names in Fabric API's sources (`./gradlew genSources`, or open `PayloadTypeRegistry` in the IDE). Version-matched docs: https://docs.fabricmc.net/develop/net - Network accessline 22
Version-matched docs: https://docs.fabricmc.net/develop/networking
skills/fabric-project-setup/SKILL.md
- Network accessline 42
| What | Where | |---|---| | Minecraft, Loader, Loom, Fabric API for a given MC version | https://fabricmc.net/develop/ (pick the version in the dropdown) | - Network accessline 43
|---|---| | Minecraft, Loader, Loom, Fabric API for a given MC version | https://fabricmc.net/develop/ (pick the version in the dropdown) | | Machine-readable game/loader versions | `https://meta.fabricmc.net/v2/versions/game` and `https:// - Network accessline 44
| Minecraft, Loader, Loom, Fabric API for a given MC version | https://fabricmc.net/develop/ (pick the version in the dropdown) | - Network accessline 45
| Machine-readable game/loader versions | `https://meta.fabricmc.net/v2/versions/game` and `https://meta.fabricmc.net/v2/versions/loader` | - Network accessline 46
| Loader + mappings for one game version | `https://meta.fabricmc.net/v2/versions/loader/<mc_version>` | - Network accessline 47
| Yarn builds (pre-26.1 only) | `https://meta.fabricmc.net/v2/versions/yarn/<mc_version>` | - Network accessline 48
| Fabric API builds | https://modrinth.com/mod/fabric-api/versions (version looks like `0.x.y+<mc_version>`) | - Network accessline 49
| Loom | the `loom_version` in https://github.com/FabricMC/fabric-example-mod (`gradle.properties`) | - Network accessline 50
| Canonical template | https://github.com/FabricMC/fabric-example-mod or the generator at https://fabricmc.net/develop/template/ | - Network accessline 51
| Docs for your exact version | https://docs.fabricmc.net/develop/ (use the version selector in the header) | - Network accessline 53
| Latest Minecraft release vs snapshot (fallback if meta is unreachable) | `https://piston-meta.mojang.com/mc/game/version_manifest_v2.json` -> `latest.release` | - Network accessline 54
| Fabric API builds as Maven metadata | `https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api/maven-metadata.xml` (pick versions ending in `+<your mc version>`) | - Network accessline 105
# Fabric - look these up on https://fabricmc.net/develop - Network accessline 120
pluginManagement { repositories { maven { name = 'Fabric'; url = 'https://maven.fabricmc.net/' } - Network accessline 121
repositories { maven { name = 'Fabric'; url = 'https://maven.fabricmc.net/' } mavenCentral() - Network accessline 122
maven { name = 'Fabric'; url = 'https://maven.fabricmc.net/' } - Network accessline 221
"authors": ["YOUR_NAME"], "contact": { "homepage": "https://example.com", - Network accessline 222
"contact": { "homepage": "https://example.com", "sources": "https://github.com/YOUR_NAME/examplemod", - Network accessline 223
"homepage": "https://example.com", - Network accessline 224
"sources": "https://github.com/YOUR_NAME/examplemod", - Network accessline 225
"issues": "https://github.com/YOUR_NAME/examplemod/issues" - Network accessline 260
- Optional integrations go in `"suggests"` (soft) or `"recommends"`, never in `"depends"`. Example: `"suggests": { "modmenu": "*" }` plus a `"modmenu"` entrypoint. - Schema reference: https://docs.fabricmc.net/develop/loader/fabric-mod-js - Network accessline 262
- Schema reference: https://docs.fabricmc.net/develop/loader/fabric-mod-json
skills/fabric-release/SKILL.md
- Network accessline 39
Keep `CHANGELOG.md` in "Keep a Changelog" format (https://keepachangelog.com): an - Network accessline 133
- **Minotaur** (`com.modrinth.minotaur`, Modrinth's official Gradle plugin) - publish from a Gradle task; read the token from `System.getenv("MODRINTH_TOKEN")`, never from a property file. Docs: https://github.com/modrinth/minotaur - Network accessline 134
[Credential-related source omitted] - Access to secretsline 134
[Credential-related source omitted] - Network accessline 135
file. Docs: https://github.com/modrinth/minotaur
skills/fabric-version-porting/SKILL.md
- Network accessline 32
| Source | What it tells you | |---|---| | https://fabricmc.net/blog/ | Fabric's "Fabric for Minecraft X" post: Loader/Loom/API breaking changes, renamed APIs | - Network accessline 33
|---|---| | https://fabricmc.net/blog/ | Fabric's "Fabric for Minecraft X" post: Loader/Loom/API breaking changes, renamed APIs | | https://docs.fabricmc.net/develop/porting/ | Version-specific porting guide (use the version selector); for - Network accessline 34
| https://fabricmc.net/blog/ | Fabric's "Fabric for Minecraft X" post: Loader/Loom/API breaking changes, renamed APIs | - Network accessline 35
| https://docs.fabricmc.net/develop/porting/ | Version-specific porting guide (use the version selector); for 26.1 there is a full Fabric API rename list and an IntelliJ migration map | - Network accessline 36
| https://fabricmc.net/develop/ | The exact Loader / Loom / Fabric API versions for the target | - Network accessline 37
| https://github.com/FabricMC/fabric-example-mod (history) | How the template's `build.gradle`, Java version and Gradle version changed | - Network accessline 66
Docs: https://docs.fabricmc.net/develop/porting/mappings/ - Network accessline 92
constant you know is still there. 3. Look at how vanilla itself does it now (e.g. how vanilla's own HUD or screens draw). 4. Use https://mappings.dev or Linkie (https://linkie.shedaniel.dev) to translate between - Network accessline 93
3. Look at how vanilla itself does it now (e.g. how vanilla's own HUD or screens draw). 4. Use https://mappings.dev or Linkie (https://linkie.shedaniel.dev) to translate between Yarn / Mojang / intermediary names for older versions. - Network accessline 94
4. Use https://mappings.dev or Linkie (https://linkie.shedaniel.dev) to translate between - Network accessline 121
Full list: https://docs.fabricmc.net/26.1/develop/porting/fabric-api
skills/new/SKILL.md
- Network accessline 33
- https://fabricmc.net/develop/ for Loader, Loom and Fabric API matching the Minecraft version. - Network accessline 34
- `https://meta.fabricmc.net/v2/versions/game` (stable flag) and `/v2/versions/loader`. - Network accessline 35
- https://github.com/FabricMC/fabric-example-mod for the current `build.gradle`, Java release - Access to secretsline 61
[Credential-related source omitted]
skills/port/SKILL.md
- Network accessline 14
If `$ARGUMENTS` is empty, ask for the target version. If it is "latest", resolve it to the latest **stable** release from https://fabricmc.net/develop/ and confirm with the user. - Network accessline 15
**stable** release from https://fabricmc.net/develop/ and confirm with the user.
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 72 facts
- Network access in prose of the SKILL.mdcheck/SKILL.md:21Low confidence
- Network access in prose of the SKILL.mdcheck/SKILL.md:22Low confidence
- Network access in prose of the SKILL.mdcheck/SKILL.md:23Low confidence
- Access to secrets in prose of the SKILL.mdcheck/SKILL.md:67Low confidence
- Network access in prose of the SKILL.mdfabric-client-rendering/SKILL.md:36Low confidence
- Network access in prose of the SKILL.mdfabric-client-rendering/SKILL.md:230Low confidence
- Network access in prose of the SKILL.mdfabric-client-rendering/SKILL.md:231Low confidence
- Network access in prose of the SKILL.mdfabric-client-rendering/SKILL.md:232Low confidence
- Network access in prose of the SKILL.mdfabric-config-and-keybinds/SKILL.md:28Low confidence
- Network access in prose of the SKILL.mdfabric-config-and-keybinds/SKILL.md:29Low confidence
- Network access in prose of the SKILL.mdfabric-config-and-keybinds/SKILL.md:169Low confidence
- Network access in prose of the SKILL.mdfabric-config-and-keybinds/SKILL.md:170Low confidence
- Network access in prose of the SKILL.mdfabric-config-and-keybinds/SKILL.md:171Low confidence
- Network access in prose of the SKILL.mdfabric-config-and-keybinds/SKILL.md:172Low confidence
- Network access in code of the SKILL.mdfabric-config-and-keybinds/SKILL.md:202High confidence
- Network access in prose of the SKILL.mdfabric-config-and-keybinds/SKILL.md:211Low confidence
- Network access in prose of the SKILL.mdfabric-mixins/SKILL.md:17Low confidence
- Network access in prose of the SKILL.mdfabric-mixins/SKILL.md:18Low confidence
- Network access in prose of the SKILL.mdfabric-mixins/SKILL.md:19Low confidence
- Network access in prose of the SKILL.mdfabric-mixins/SKILL.md:42Low confidence
- Network access in prose of the SKILL.mdfabric-mixins/SKILL.md:44Low confidence
- Network access in prose of the SKILL.mdfabric-mixins/SKILL.md:107Low confidence
- Network access in prose of the SKILL.mdfabric-mixins/SKILL.md:108Low confidence
- Network access in prose of the SKILL.mdfabric-mixins/SKILL.md:236Low confidence
- Network access in prose of the SKILL.mdfabric-mixins/SKILL.md:238Low confidence
- Network access in prose of the SKILL.mdfabric-networking/SKILL.md:20Low confidence
- Network access in prose of the SKILL.mdfabric-networking/SKILL.md:22Low confidence
- Network access in prose of the SKILL.mdfabric-project-setup/SKILL.md:42Low confidence
- Network access in prose of the SKILL.mdfabric-project-setup/SKILL.md:43Low confidence
- Network access in prose of the SKILL.mdfabric-project-setup/SKILL.md:44Low confidence
- Network access in prose of the SKILL.mdfabric-project-setup/SKILL.md:45Low confidence
- Network access in prose of the SKILL.mdfabric-project-setup/SKILL.md:46Low confidence
- Network access in prose of the SKILL.mdfabric-project-setup/SKILL.md:47Low confidence
- Network access in prose of the SKILL.mdfabric-project-setup/SKILL.md:48Low confidence
- Network access in prose of the SKILL.mdfabric-project-setup/SKILL.md:49Low confidence
- Network access in prose of the SKILL.mdfabric-project-setup/SKILL.md:50Low confidence
- Network access in prose of the SKILL.mdfabric-project-setup/SKILL.md:51Low confidence
- Network access in prose of the SKILL.mdfabric-project-setup/SKILL.md:53Low confidence
- Network access in prose of the SKILL.mdfabric-project-setup/SKILL.md:54Low confidence
- Network access in code of the SKILL.mdfabric-project-setup/SKILL.md:105High confidence
- Network access in code of the SKILL.mdfabric-project-setup/SKILL.md:120High confidence
- Network access in code of the SKILL.mdfabric-project-setup/SKILL.md:121High confidence
- Network access in code of the SKILL.mdfabric-project-setup/SKILL.md:122High confidence
- Network access in code of the SKILL.mdfabric-project-setup/SKILL.md:221High confidence
- Network access in code of the SKILL.mdfabric-project-setup/SKILL.md:222High confidence
- Network access in code of the SKILL.mdfabric-project-setup/SKILL.md:223High confidence
- Network access in code of the SKILL.mdfabric-project-setup/SKILL.md:224High confidence
- Network access in code of the SKILL.mdfabric-project-setup/SKILL.md:225High confidence
- Network access in prose of the SKILL.mdfabric-project-setup/SKILL.md:260Low confidence
- Network access in prose of the SKILL.mdfabric-project-setup/SKILL.md:262Low confidence
and 22 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md skills/check/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/check/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/check/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/check/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/check/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.