Claude Skills Guide

Claude Code for Rome Biome Linting Workflow

Modern JavaScript and TypeScript projects benefit significantly from unified linting and formatting tools. Rome and Biome represent the next generation of all-in-one tooling that combines linting, formatting, and more into a single high-performance package. Creating a Claude Code skill to automate your Rome or Biome linting workflow can dramatically improve your development experience and ensure consistent code quality across your team.

Understanding Rome and Biome

Rome was originally developed by Meta (now Meta) as a unified toolchain for JavaScript/TypeScript, replacing ESLint, Prettier, and other separate tools. While Rome itself has evolved and some maintainers moved to create Biome (a faster Rust-based successor), both tools share similar philosophies: provide comprehensive code quality tooling in a single, coherent package.

Biome is particularly notable for its blazing-fast performance, often being 10-100x faster than traditional JavaScript-based linting tools. It provides:

Creating a Biome Linting Skill

Let’s build a Claude Code skill that handles Biome linting workflows. This skill will help developers run linting, apply fixes, check for errors, and maintain code quality standards.

Skill Structure

---
name: biome-lint
description: "Run Biome linter with auto-fix, check for errors, and maintain code quality standards"
---

# Biome Linting Assistant

You help run Biome linting commands, apply fixes, and maintain code quality. Use Biome (biomejs) for linting JavaScript, TypeScript, JSON, and other supported files.

## Available Actions

### 1. Check for Lint Errors
Run Biome check without auto-fix to see current issues:
```bash
biome check .

2. Auto-Fix Issues

Apply automatic fixes for fixable issues:

biome check --write .

3. Format Files

Format code to match Biome standards:

biome format --write .

4. Check Specific Files

Target specific files or directories:

biome check ./src
biome check ./src/**/*.ts

Workflow Guidance

When helping with linting:

  1. First check current issues: biome check .
  2. Report the number and types of errors found
  3. Ask the user if they want auto-fix applied or manual review
  4. If applying auto-fix, run with --write flag
  5. Verify fixes were applied correctly ```

Practical Implementation

When you create this skill, place it in your Claude Code skills directory:

mkdir -p ~/.claude/skills
cat > ~/.claude/skills/skill-biome-lint.md << 'EOF'
---
name: biome-lint
description: "Run Biome linter with auto-fix, check for errors, and maintain code quality standards"
---

# Biome Linting Assistant
[Skill content here]
EOF

Running Linting Workflows

Once your skill is active, you can invoke it with natural language:

Checking Project Health

# Check entire project
biome check .

# Check with verbose output
biome check --verbose .

# Check specific file types
biome check --typescript ./src
biome check --javascript ./scripts

Applying Fixes Safely

For teams new to Biome, follow this progressive approach:

# Stage 1: Review only (no changes)
biome check .

# Stage 2: Dry run to see what would change
biome check --dry-write .

# Stage 3: Apply fixes
biome check --write .

# Stage 4: Format after fixing
biome format --write .

CI/CD Integration

Add Biome to your continuous integration pipeline:

# .github/workflows/lint.yml
name: Lint

on: [push, pull_request]

jobs:
  biome:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: biomejs/setup-biome@v1
        with:
          version: latest
      - run: biome ci .

Configuring Biome

Biome uses biome.json for configuration. Here’s a practical example:

{
  "$schema": "https://biomejs.dev/schemas/1.9.0/schema.json",
  "organizeImports": {
    "enabled": true
  },
  "linter": {
    "enabled": true,
    "rules": {
      "recommended": true,
      "suspicious": {
        "noExplicitAny": "warn"
      },
      "style": {
        "useConst": "error",
        "noLet": "error"
      }
    }
  },
  "formatter": {
    "enabled": true,
    "indentStyle": "space",
    "indentWidth": 2,
    "lineWidth": 100
  }
}

Creating a Rome-Compatible Skill

If you’re using the original Rome toolchain, the skill structure is similar:

---
name: rome-lint
description: "Run Rome linter for JavaScript/TypeScript projects"
---

# Rome Linting Assistant

You help run Rome (rome.tools) for linting and formatting. Rome provides a unified toolchain.

## Commands

- `rome check .` - Check for errors
- `rome check --apply .` - Auto-fix issues  
- `rome format .` - Format code
- `rome ci .` - CI mode (exits with error if issues found)

Best Practices

Begin with Biome’s recommended rule set and gradually customize:

# Start with defaults
biome init

# Review what was generated
cat biome.json

2. Run Linting Before Commits

Create a pre-commit hook:

# Add to package.json
{
  "husky": {
    "hooks": {
      "pre-commit": "biome check --staged"
    }
  }
}

3. Integrate with Claude Code

Your skill should guide users through:

  1. Running initial checks to assess code health
  2. Explaining what issues were found
  3. Offering to apply fixes or guide manual fixes
  4. Verifying the final state is clean

Actionable Summary

Building a Claude Code skill for Rome or Biome linting provides:

Start by creating a basic skill following the structure above, then customize it for your team’s specific needs and coding standards. With Biome’s speed and Claude Code’s automation, you’ll have a powerful linting workflow that requires minimal manual intervention while maintaining high code quality standards.

Built by theluckystrike — More at zovo.one