Agent skill

Laravel Package Major Upgrade

by mailcarrierapp in mailcarrierapp/mailcarrier

Adds support for a new Laravel major to a package by extending composer.json constraints for illuminate, Testbench and Pest and the CI test matrix.

MITAuto-check passedDevelopment

Install Laravel Package Major Upgrade

skills CLI
$ npx skills add mailcarrierapp/mailcarrier --skill laravel-package-major-upgrade -a claude-code

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

GitHub CLI
$ gh skill install mailcarrierapp/mailcarrier laravel-package-major-upgrade --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/mailcarrierapp/mailcarrier.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/laravel-package-major-upgrade .claude/skills/laravel-package-major-upgrade && 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
laravel-package-major-upgrade
GitHub stars
164
Token cost
~1.1k tokens
SKILL.md length
477 words
Files
2
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Adds support for a new Laravel major to a package by extending composer.json constraints for illuminate, Testbench and Pest and the CI test matrix.

  • Works in 6 steps: Resolve the target → composer.json — illuminate/* → composer.json — orchestra/testbench → …
  • Adding support for a new Laravel major version to a package
  • SKILL.md covers 1. Resolve the target, 2. composer.json — illuminate/*, 3. composer.json —… and 4. composer.json — Pest (if…, plus 3 more sections
  • Calls composer

What it does

When you ask a Laravel package to support a new framework major, the skill treats your number as the Laravel major only. It reads composer.json and the run-tests workflow to copy the existing constraint style, then extends every illuminate/* constraint with the pattern already in use, typically appending the next caret range to a pipe-separated chain. Unrelated packages such as Filament or Sanctum are left alone unless the upgrade requires them.

Testbench and Pest are handled differently, because their majors are not assumed to match Laravel's. The agent finds the highest major already listed and appends the next one, and verifies against the project's releases or docs when unsure. In the GitHub Actions workflow it adds a new matrix.laravel entry in the existing style and ordering, and adds matrix include rows where a pinned Testbench constraint is needed. A reference.md file holds additional detail.

When your agent uses it

  • Adding support for a new Laravel major version to a package
  • Aligning Testbench and Pest constraints with a new framework release
  • Extending the CI test matrix for another Laravel version

Example prompts

  • “Add Laravel 13 support to this package and update the CI matrix.”
  • “Bump Testbench and Pest for the new Laravel major.”
  • “Extend run-tests.yml so the new Laravel version is covered.”

Requirements

  • A Laravel package repository with composer.json and .github/workflows/run-tests.yml

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Resolve the target
  2. composer.json — illuminate/*
  3. composer.json — orchestra/testbench
  4. composer.json — Pest (if present)
  5. .github/workflows/run-tests.yml
  6. Validate

What it can do on your machine

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

    Shell commands in SKILL.md call:

    • composer

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com
    • laravel.com
    • pestphp.com

    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

Laravel Package Major Upgrade loads about 1.1k tokens when it runs. Until then it costs about 87 tokens; SKILL.md has 477 words of instructions outside code blocks.

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

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 mailcarrierapp/mailcarrier at commit 9ee48e2, republished under its MIT licence (© mailcarrierapp). 477 words, ~1,060 tokens.

Download SKILL.mdSave it as .claude/skills/laravel-package-major-upgrade/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
laravel-package-major-upgrade
description
Bumps a Laravel package to support a new Laravel major in composer.json (illuminate/*, orchestra/testbench, Pest) and extends CI matrix in .github/workflows/run-tests.yml. Use when the user asks to add support for a new Laravel version, upgrade Laravel compatibility, or align Testbench/Pest with a new framework major.

Laravel package major upgrade

When adding support for a new Laravel major (e.g. “Laravel 13”), treat the user’s number as the framework major only. Do not assume orchestra/testbench or pestphp/* majors match Laravel’s number.

1. Resolve the target

  • From the user message, take the Laravel major N (e.g. “13” → N = 13).
  • Read composer.json and .github/workflows/run-tests.yml to match existing constraint and YAML style (pipe-separated ^ ranges, matrix ordering, include / exclude patterns).

2. composer.json — illuminate/*

  • Find every dependency under illuminate/ (e.g. illuminate/contracts, illuminate/database, illuminate/support if present).
  • Extend each version constraint with the same pattern already used (typically |^N.0 appended to an existing chain like ^10.0|^11.0|...).
  • Do not change unrelated packages unless the upgrade requires it (e.g. Filament, Sanctum) — scope is framework + dev test stack unless the user expands it.

3. composer.json — orchestra/testbench

  • Do not set Testbench’s major from N (Laravel 13 ≠ Testbench 13).
  • Read the current highest Testbench major in require-dev (e.g. ^8.0|^9.0|^10.0|^11.0 → highest is 11).
  • For a new Laravel line, add the next Testbench major: append |^M.0 where M = previous_max + 1.
  • If unsure whether M is correct for that Laravel release, verify with orchestra/testbench releases/README or library docs (e.g. Context7) before finalizing.

4. composer.json — Pest (if present)

  • If pestphp/pest and plugins (pestphp/pest-plugin-laravel, pestphp/pest-plugin-faker, etc.) use piped majors, append the next major for each, consistent with the existing chain (same rule as Testbench: increment from the package’s previous major, not from Laravel N).
  • If the repo uses a single major or no pipes, follow the same increment-by-one-major idea or consult the Laravel upgrade guide and Pest release notes for the target Laravel version.
Show full SKILL.md (222 more words)Show less

5. .github/workflows/run-tests.yml

  • matrix.laravel: add a new entry for the new line, using the same constraint style as existing rows (e.g. "^N.0"). Keep project ordering (often newest first).

  • matrix.include: for each Laravel row that needs a pinned Testbench constraint for composer require, add:

    yaml
    - laravel: "^N.0"
      testbench: M.*

    where M.* matches the Testbench major chosen in step 3 (same mapping the workflow already uses for other versions).

  • matrix.exclude: mirror Laravel’s minimum PHP for N (copy patterns from Laravel docs or existing rows for other majors). Do not drop excludes that still apply to older matrix entries.

  • If the job uses composer require "laravel/framework:${{ matrix.laravel }}" and a Testbench line, ensure the install step still resolves (some workflows use testbench matrix key — keep consistency with this repo).

6. Validate

  • Run composer update (or the narrowest install that matches the new matrix cell) and composer test (and composer stan / composer cs-fix if the project defines them).
  • Fix any breakages only as needed for the new major; avoid unrelated refactors.

Quick checklist

  • All illuminate/* constraints include ^N.0 (or project-equivalent).
  • orchestra/testbench gained one new major derived from the previous max, verified against Testbench’s Laravel compatibility if needed.
  • Pest packages updated in lockstep if present.
  • run-tests.yml matrix + include (+ exclude if needed) match the new Laravel/Testbench pair.

For a historical Testbench ↔ Laravel cheat sheet (verify at upgrade time), see reference.md.

© mailcarrierapp, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .cursor/skills/laravel-package-major-upgrade of mailcarrierapp/mailcarrier.

  • SKILL.md
  • reference.md

Open the folder on GitHubat commit 9ee48e2

Compare with similar skills

Laravel Package Major Upgrade 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.

Laravel Package Major Upgrade compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Laravel Package Major Upgrade this skillmailcarrierapp/mailcarrier164—~1.1kAutomated safety check: PassMIT
Linea Dependency MaintenanceConsensys-Incorporated/linea-attestation-registry1771 repos~3.7kAutomated safety check: WarnMIT
Renovate Actions PR Reviewbacknotprop/plannotator9.3k—~640Automated safety check: PassApache-2.0
Golang Continuous Integrationsamber/cc-skills-golang3.4k—~3.7kAutomated safety check: PassMIT
Golang Continuous Integrationcontext-labs/whip1.1k—~3.5kAutomated safety check: PassMIT
Sake CI Releasekattouf/Sake116—~731Automated safety check: PassMIT

Similar skills

  • Linea Dependency Maintenance

    Consensys-Incorporated/linea-attestation-registry

    Safely plan and execute dependency maintenance for JavaScript/TypeScript (npm, pnpm) and GitHub Actions, including npm lockfiles, pnpm workspaces, catalogs, overrides, SHA-pinned action versions…

    177 GitHub starsUsed in 1 repo~3.7k tokens
    DevelopmentAuto-check: warnings
  • Renovate Actions PR Review

    backnotprop/plannotator

    Reviews Renovate pull requests that bump GitHub Actions by checking pinned SHAs against upstream tags, scanning changelogs and confirming workflows stay compatible.

    9.3k GitHub stars~640 tokensUpdated today
    DevelopmentAuto-check passed
  • Golang Continuous Integration

    samber/cc-skills-golang

    GitHub Actions CI/CD pipeline configuration for Golang projects — workflow files for test, lint, SAST, coverage and vulnerability-scan jobs, Dependabot and Renovate config files, GoReleaser release…

    3.4k GitHub stars~3.7k tokensUpdated 10 days ago
    DevelopmentAuto-check passed
  • CI/CD with GitHub Actions for Golang — testing, linting, SAST, security scanning, coverage, Dependabot, Renovate, GoReleaser, release pipelines.

    1.1k GitHub stars~3.5k tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • Sake CI Release

    kattouf/Sake

    A skill your agent uses when working on CI workflows, GitHub Actions, release process, changelog generation (git-cliff), or dependabot configuration.

    116 GitHub stars~731 tokensUpdated 6 mo ago
    DevelopmentAuto-check passed
  • Kubelb Dependency Updates

    kubermatic/kubelb

    Sweep and update every dependency surface in the kubelb repo (go.mod, Makefile tool versions, prow images, GitHub Actions, hack/ci pins, addon Helm charts, pinned container images) and split the…

    148 GitHub stars~1.3k tokensUpdated 6 days ago
    DevOps & CloudAuto-check passed

Questions about Laravel Package Major Upgrade

What does Laravel Package Major Upgrade do?

Adds support for a new Laravel major to a package by extending composer.json constraints for illuminate, Testbench and Pest and the CI test matrix. When you ask a Laravel package to support a new framework major, the skill treats your number as the Laravel major only.json and the run-tests workflow to copy the existing constraint style, then extends every illuminate/* constraint with the pattern already in use, typically appending the next caret range to a pipe-separated chain.

When should I use Laravel Package Major Upgrade?

Laravel Package Major Upgrade fits situations like: adding support for a new Laravel major version to a package; aligning Testbench and Pest constraints with a new framework release; extending the CI test matrix for another Laravel version.

How do I install Laravel Package Major Upgrade in Claude Code?

Run `npx skills add mailcarrierapp/mailcarrier --skill laravel-package-major-upgrade -a claude-code`. Or copy the skill folder (.cursor/skills/laravel-package-major-upgrade in mailcarrierapp/mailcarrier) into .claude/skills/laravel-package-major-upgrade in your project. Claude Code loads it when a task matches its description.

How do I install Laravel Package Major Upgrade in Codex?

Run `npx skills add mailcarrierapp/mailcarrier --skill laravel-package-major-upgrade -a codex`. Or copy the skill folder (.cursor/skills/laravel-package-major-upgrade in mailcarrierapp/mailcarrier) into .agents/skills/laravel-package-major-upgrade in your project. Codex loads it when a task matches its description.

Can I use Laravel Package Major Upgrade 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 mailcarrierapp/mailcarrier --skill laravel-package-major-upgrade -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/laravel-package-major-upgrade, .gemini/skills/laravel-package-major-upgrade, .github/skills/laravel-package-major-upgrade and .opencode/skills/laravel-package-major-upgrade in your project.

What does Laravel Package Major Upgrade need to run?

Going by SKILL.md and its folder, Laravel Package Major Upgrade needs the command-line tools its instructions call (composer). Our summary lists: A Laravel package repository with composer.json and .github/workflows/run-tests.yml.

Does Laravel Package Major Upgrade access the network?

SKILL.md names 3 domains. As links in the text: github.com, laravel.com and pestphp.com. This is read from the text; nothing was executed.

Is Laravel Package Major Upgrade 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 Laravel Package Major Upgrade use?

Laravel Package Major Upgrade is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Laravel Package Major Upgrade use?

About 1.1k tokens (SKILL.md is roughly 4.2k 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 Laravel Package Major Upgrade?

Skills that share tags, products or a category with Laravel Package Major Upgrade: Linea Dependency Maintenance (Consensys-Incorporated/linea-attestation-registry, 177 stars), Renovate Actions PR Review (backnotprop/plannotator, 9.3k stars), Golang Continuous Integration (samber/cc-skills-golang, 3.4k stars) and Golang Continuous Integration (context-labs/whip, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Laravel Package Major Upgrade?

mailcarrierapp (a GitHub organization) maintains it in mailcarrierapp/mailcarrier, which has 164 GitHub stars. The repository was last updated on July 16, 2026.

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