agentleFS
vvs1offvvs1off/fabric-skills/skills/port/SKILL.md

port

Skill4 starsChanged 13 days agoMITView on GitHub

Port the current Fabric mod to another Minecraft version and keep building and fixing until it compiles and starts.

3 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

4 rules. 0 are common, 2 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If $ARGUMENTS is empty, ask for the target version.

    line 14
  2. Very specific:

    Create a branch: git switch -c port/$ARGUMENTS.

    line 22
  3. Distinctive:

    Wait for the user's go-ahead if any dependency is missing or a mappings migration is needed.

    line 35
  4. Distinctive:

    Do not push or publish.

    line 69

“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
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.
  • Create a branch: git switch -c port/$ARGUMENTS.

1. Analyse and plan (show the plan before editing)

Report to the user:

  • Current Minecraft, Loader, Loom, Fabric API, Java, mappings (Yarn / Mojang / none).
  • Target versions looked up from fabricmc.net/develop (never from memory).
  • Whether a Yarn -> Mojang migration is required (target >= 26.1 and project uses Yarn).
  • Third-party mod dependencies and whether each has a build for the target (check Modrinth).
  • Number of mixins and which targets look risky (rendering, networking, entity ticking).
  • Links to the relevant porting guide / Fabric blog post for the target.

Wait for the user's go-ahead if any dependency is missing or a mappings migration is needed.

2. Execute in separate commits

  1. (If needed) Yarn -> Mojang mappings migration on the old version; build; commit.
  2. Build-system bump (wrapper, gradle.properties, plugin id, dependency configurations, Java level, fabric.mod.json ranges); commit even if code does not compile yet only if the user prefers small commits - otherwise continue.
  3. Fix compile errors, common code first, then client code. Look up every new name in the rename list or ./gradlew genSources output; never guess.
  4. Fix mixins: re-derive every target against the new sources.

3. Build loop

./gradlew build

Repeat: read the first error, fix its root cause, rebuild. If the same error survives two attempts, stop guessing: read the relevant sources/docs again, and explain the blocker to the user if it persists.

4. Runtime check

  • ./gradlew runClient and, unless the mod is client-only, ./gradlew runServer. If you cannot run them interactively, at least start them long enough to pass mixin application and entrypoint initialization, and check run/logs/latest.log for mixin warnings and errors.
  • List anything you could not verify.

5. Report

  • Final versions, files changed, renames applied, mixins changed or removed (and why).
  • Features that could not be ported, with reasons. Never drop a feature silently.
  • Suggested mod_version bump and CHANGELOG.md entry (see fabric-release).
  • Do not push or publish.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.