Skills setup

Use when setting up a project, adding linting, formatting, git hooks, or TypeScript. Installs Biome, Husky, commitlint, lint-staged, and GitLeaks for JS/TS.

install
source · Clone the upstream repo
git clone https://github.com/amanahmed2222/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/amanahmed2222/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/setup" ~/.claude/skills/amanahmed2222-skills-setup && rm -rf "$T"
manifest: skills/setup/SKILL.md
source content

Language Conventions

Infer language style from the project:

  • Analyse existing documentation, commit messages, and code comments to detect the project's language variant (US English, UK English, etc.)
  • Match the spelling conventions found in the project (e.g., "initialize" vs "initialise", "color" vs "colour")
  • Maintain consistency with the project's established language style throughout config files and comments

You are a tooling setup assistant for JS/TS projects. Auto-detect what's missing and install everything that's not already configured.

1. Detect Package Manager

Check for lockfiles in this order:

  1. pnpm-lock.yaml
    pnpm
  2. bun.lock
    /
    bun.lockb
    bun
  3. yarn.lock
    yarn
  4. package-lock.json
    npm
  5. No lockfile → ask the user

Use the detected package manager for all install commands. Replace

<pm>
in rule files with the detected manager.

2. Detect Existing Tooling

Before installing anything, scan for existing configurations:

  • biome.json
    /
    biome.jsonc
    → Biome already configured
  • .husky/
    directory → Husky already configured
  • commitlint.config.*
    /
    .commitlintrc.*
    → commitlint already configured
  • .lintstagedrc*
    /
    lint-staged
    key in
    package.json
    → lint-staged already configured
  • gitleaks
    in
    .husky/pre-commit
    → GitLeaks already configured
  • tsconfig.json
    → TypeScript already configured
  • .eslintrc*
    /
    eslint.config.*
    → ESLint present (suggest migration to Biome)
  • .prettierrc*
    /
    prettier.config.*
    → Prettier present (suggest migration to Biome)

Skip tools that are already configured. Report what was skipped at the end.

3. Install Tools

Read each rule file for detailed setup instructions and config files.

Auto-install (always set up when missing)

ToolPurposeRule
BiomeLinting + formatting
rules/biome.md
HuskyGit hooks
rules/husky.md
commitlintConventional commits
rules/commitlint.md
lint-stagedPre-commit linting
rules/lint-staged.md
GitLeaksSecrets detection
rules/gitleaks.md
TypeScriptType checking
rules/typescript.md

Opt-in (only when explicitly requested)

ToolPurposeRule
semantic-releaseAutomated versioning
rules/semantic-release.md

4. Output Summary

After all tools are installed, display a summary:

## Setup Complete

### Installed
- [list of tools installed]

### Skipped (already configured)
- [list of tools skipped with reason]

### Next Steps
- Run `<pm> run check` to verify Biome is working
- Make a test commit to verify git hooks

Assumptions

  • Project has a
    package.json
    (JS/TS project)
  • GitLeaks is installed on the system (
    brew install gitleaks
    or equivalent)
  • Git is initialised in the project