agentleFS
malinskibeniaminmalinskibeniamin/skills/effect-v3-to-v4/SKILL.md

effect-v3-to-v4

Skill4 starsChanged 12 days agoMITView on GitHub

Migrate Effect v3 codebases to v4 using upstream migration references.

2 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

8 rules. About 0 are common, 5 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

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

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

    Read .repos/effect/MIGRATION.md once and list .repos/effect/migration/.

    line 15
  2. Very specific:

    Read REFERENCE.md, then migrate package.json before the first type-check: remove consolidated packages and align the remaining versions.

    line 16
  3. Distinctive:

    Run the project's type-check for an initial error inventory.

    line 18
  4. Distinctive:

    Run the project's tests and quality gates.

    line 21
  5. Distinctive:

    Use two independent shallow clones of the canonical Effect repository:

    line 26
  6. Very specific:

    Before reusing either directory, verify its origin, branch, version, and worktree status.

    line 36
  7. Distinctive:

    Check Removed Modules and No Counterpart Imports before treating a mapping as missing.

    line 65
  8. Distinctive:

    Every replacement must trace to a mapping, topic guide, or v4 source.

    line 73

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

Effect v3 to v4 migration

Resolve renames, removals, and signature changes from upstream migration data, not guessed replacements.

Workflow

  1. Set up and validate the local checkouts below.
  2. Read .repos/effect/MIGRATION.md once and list .repos/effect/migration/.
  3. Read REFERENCE.md, then migrate package.json before the first type-check: remove consolidated packages and align the remaining versions.
  4. Run the project's type-check for an initial error inventory.
  5. Resolve each error using the reading order below, fix its call sites, and repeat until clean. Work inline unless the user explicitly requests delegation.
  6. Run the project's tests and quality gates; report results and unresolved gaps. Respect the requested endpoint and the repository's completion contract.

Local checkouts

Use two independent shallow clones of the canonical Effect repository:

git clone --depth 1 --single-branch --branch main https://github.com/Effect-TS/effect .repos/effect
git clone --depth 1 --single-branch --branch v3 https://github.com/Effect-TS/effect .repos/effect-v3
  • .repos/effect: v4 migration guides and source.
  • .repos/effect-v3: v3 source, only for clarifying old semantics.

Before reusing either directory, verify its origin, branch, version, and worktree status. The v4 checkout must include MIGRATION.md and migration/v3-to-v4.md:

git -C .repos/effect remote get-url origin
git -C .repos/effect branch --show-current
git -C .repos/effect status --short
node -p "require('./.repos/effect/packages/effect/package.json').version"

Repeat those checks for .repos/effect-v3 (branch v3, version 3.x). For v4, require canonical Effect-TS/effect origin, branch main, and version 4.x. An old Effect-TS/effect-smol checkout is not a valid migration source. Preserve existing directories and user changes; report a mismatch and choose a separate, unused clone destination, updating the lookup paths. Do not delete or reset them.

Reading order

  1. .repos/effect/MIGRATION.md: migration background and topic index, once.
  2. .repos/effect/migration/v3-to-v4.md: first stop for every API. Search matching symbols or module headings and read only bounded surrounding context. Never read this generated reference whole.
  3. .repos/effect/migration/*.md: load a topic guide when a mapping needs a structural rewrite, not just a rename.
  4. .repos/effect/packages/*/src/: confirm the replacement's real signature before using it.
  5. .repos/effect-v3: escalation only for unclear old semantics.

REFERENCE.md contains lookup recipes and package-level changes. Check Removed Modules and No Counterpart Imports before treating a mapping as missing. Report unmapped gaps rather than inventing APIs.

Guardrails

  • Migrate call sites to v4; do not reintroduce a v3-shaped compatibility layer.
  • Resolve type errors through the reference and source, not any, casts, or type-check suppressions.
  • Every replacement must trace to a mapping, topic guide, or v4 source.
  • With explicit delegation, give each agent disjoint files, symbols to resolve, the reading order, and these guardrails. Require edits and mappings back; retain the error inventory centrally. No nested delegation without separate consent.

Done condition

The project type-checks against v4 and the repository's required gates pass. Report type-check and test outcomes (or why a check could not run), constructed replacements, and unmapped gaps. Do not weaken tests to pass or claim completion while required verification is blocked.

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.