From agent-primary-ts-starters
Add Oxlint to a TypeScript npm project with agent-friendly defaults that focus error-level diagnostics on real bugs, silence stylistic noise, and emit output in oxlint's `agent` format for downstream LLM consumption. Use when bootstrapping a new TS project that needs linting, or when adding Oxlint to an existing TS npm project — even if the user doesn't explicitly say "oxlint" or "linter".
How this skill is triggered — by the user, by Claude, or both
Slash command
/agent-primary-ts-starters:ts-npm-oxlint-starterThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this when adding Oxlint to a TypeScript npm project. In a monorepo, edit the workspace the user names — ask if it isn't named.
Use this when adding Oxlint to a TypeScript npm project. In a monorepo, edit the workspace the user names — ask if it isn't named.
The defaults below treat the LLM agent as the primary consumer of lint output, not human eyes. Stylistic and pedantic warnings during agent edit loops are pure noise that crowds out real bugs; formatting belongs to a formatter, not a linter. Oxlint ships a dedicated agent value for --format, which the scripts below wire into the default lint command.
oxlint is in devDependencies of the target package.json..oxlintrc.json exists with the agent-friendly category and rule settings below.package.json scripts include lint, lint:fix, and lint:strict.npm add -D oxlint
When oxlint is already declared, keep its current version unless the user asks for a change.
Create .oxlintrc.json if it does not exist:
{
"plugins": ["typescript", "import", "promise", "node"],
"categories": {
"correctness": "error",
"suspicious": "warn",
"perf": "warn",
"style": "off",
"pedantic": "off"
},
"rules": {
"no-console": "off"
},
"ignorePatterns": ["node_modules", "dist", "build", "coverage", "*.min.js"]
}
Why each value is chosen for an agent-primary workflow:
categories.style: off / pedantic: off — stylistic and pedantic warnings during agent edit loops drown out real bugs and waste the inner feedback loop. Style is the formatter's domain (e.g. Prettier), not the linter's.categories.correctness: error — code that is definitely wrong should block, so the agent fixes it before moving on.categories.suspicious: warn / perf: warn — informative without halting; the agent decides.rules.no-console: off — agent debugging routinely inserts console.log calls; flagging them slows the inner loop. Strip them at release time with a separate gate, not on every lint.plugins — listed explicitly because setting plugins in oxlint overwrites the default set rather than extending it. typescript, import, promise, node cover the typical TS/Node project surface.When .oxlintrc.json already exists, keep it. Surface the diff against the values above so the user can decide whether to migrate, but do not overwrite.
Add to package.json:
{
"scripts": {
"lint": "oxlint --format agent",
"lint:fix": "oxlint --fix",
"lint:strict": "oxlint --deny-warnings"
}
}
Why each script:
lint uses --format agent, an oxlint output format the oxc team designed explicitly for LLM agent consumption.lint:fix applies auto-fixable rule corrections in one pass.lint:strict promotes warnings to a non-zero exit code for CI gating.When lint already targets a different linter, leave it untouched and add lint:oxlint alongside.
npm run lint exits 0 on a clean repository..oxlintrc.json parses as valid JSON.Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub kongyo2/agent-primary-ts-starters --plugin agent-primary-ts-starters