Unnamed Skill

Authors and manages global package scripts using the _: prefix convention. Scripts defined in root package.json are propagated to all packages with the prefix stripped.

$ Instalar

git clone https://github.com/jasonkuhrt/kitz /tmp/kitz && cp -r /tmp/kitz/.claude/skills/authoring-global-scripts ~/.claude/skills/kitz

// tip: Run this command in your terminal to install the skill


name: authoring-global-scripts description: Authors and manages global package scripts using the _: prefix convention. Scripts defined in root package.json are propagated to all packages with the prefix stripped.

Authoring Global Scripts

Manage package scripts that apply to all packages in the monorepo.

Steps

Adding a Global Script

  1. Add script to root package.json with _: prefix:

    {
      "scripts": {
        "_:build": "tsgo -p tsconfig.build.json",
        "_:check:types": "tsgo --noEmit"
      }
    }
    
  2. Run the sync script at .claude/skills/authoring-global-scripts/scripts/sync-package-scripts.ts

Auditing for Inconsistencies

Run with --check flag to verify all packages are in sync without modifying:

tsx .claude/skills/authoring-global-scripts/scripts/sync-package-scripts.ts --check

Reference

Convention

LocationFormatExample
Root package.json_:script-name"_:build": "tsgo -p tsconfig.build.json"
Package package.jsonscript-name"build": "tsgo -p tsconfig.build.json"

The _: prefix marks scripts as "global templates". The sync script:

  • Strips the prefix when copying to packages
  • Replaces all package scripts (packages should not have custom scripts)
  • Warns about extra scripts in packages that aren't in the template

Relative Paths

Relative paths like ../../oxlint.json are preserved as-is. They're relative from each package directory, so ../../ correctly points to the monorepo root from packages/*/.

Notes

  • Packages should NOT have custom scripts - all scripts come from the global template
  • If a package needs a unique script, reconsider whether it belongs as a global script
  • Run audit (--check) to catch manual edits that broke the pattern