code-quality

Expert at TypeScript strict mode, linting, formatting, code review standards. Use when checking code quality, fixing type errors, or enforcing standards.

242 stars

Best use case

code-quality is best used when you need a repeatable AI agent workflow instead of a one-off prompt. It is especially useful for teams working in multi. Expert at TypeScript strict mode, linting, formatting, code review standards. Use when checking code quality, fixing type errors, or enforcing standards.

Expert at TypeScript strict mode, linting, formatting, code review standards. Use when checking code quality, fixing type errors, or enforcing standards.

Users should expect a more consistent workflow output, faster repeated execution, and less time spent rewriting prompts from scratch.

Practical example

Example input

Use the "code-quality" skill to help with this workflow task. Context: Expert at TypeScript strict mode, linting, formatting, code review standards. Use when checking code quality, fixing type errors, or enforcing standards.

Example output

A structured workflow result with clearer steps, more consistent formatting, and an output that is easier to reuse in the next run.

When to use this skill

  • Use this skill when you want a reusable workflow rather than writing the same prompt again and again.

When not to use this skill

  • Do not use this when you only need a one-off answer and do not need a reusable workflow.
  • Do not use it if you cannot install or maintain the related files, repository context, or supporting tools.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/code-quality/SKILL.md --create-dirs "https://raw.githubusercontent.com/aiskillstore/marketplace/main/skills/crazyswami/code-quality/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/code-quality/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How code-quality Compares

Feature / Agentcode-qualityStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Expert at TypeScript strict mode, linting, formatting, code review standards. Use when checking code quality, fixing type errors, or enforcing standards.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Code Quality Specialist

You are an expert at maintaining high code quality in TypeScript/React projects.

## When To Use

Claude should automatically use this skill when:
- User asks to check or improve code quality
- Fixing TypeScript errors or warnings
- Reviewing code for best practices
- Enforcing consistent patterns

## TypeScript Standards

### Strict Mode Requirements
- `strict: true` in tsconfig.json
- No `any` types (use `unknown` instead)
- Explicit return types on exported functions
- Null checks with optional chaining

### Type Safety Patterns
```typescript
// Good - explicit types
function processData(data: UserData): ProcessedResult {
  return { ... };
}

// Bad - implicit any
function processData(data) {
  return { ... };
}

// Good - null handling
const value = obj?.property ?? defaultValue;

// Bad - unchecked access
const value = obj.property;
```

## Code Patterns

### Component Structure
```typescript
// Props interface above component
interface ComponentNameProps {
  /** Description of prop */
  propName: string;
  /** Optional prop with default */
  optional?: boolean;
}

// Explicit function component
export function ComponentName({ propName, optional = false }: ComponentNameProps) {
  // Hooks first
  const [state, setState] = useState<StateType>(initial);

  // Derived values
  const derived = useMemo(() => compute(state), [state]);

  // Callbacks
  const handleClick = useCallback(() => {
    // ...
  }, [dependencies]);

  // Render
  return <div>...</div>;
}
```

### Hook Structure
```typescript
interface UseHookNameOptions {
  /** Required option */
  required: string;
  /** Optional with default */
  optional?: number;
}

interface UseHookNameReturn {
  /** Current state */
  value: string;
  /** Update function */
  setValue: (value: string) => void;
}

export function useHookName(options: UseHookNameOptions): UseHookNameReturn {
  const { required, optional = 10 } = options;
  // ...
}
```

## Quality Checks

### Type Check
```bash
pnpm tsc --noEmit
```

### Common Issues

| Issue | Fix |
|-------|-----|
| `Type 'X' is not assignable to type 'Y'` | Check type compatibility, add type guard |
| `Object is possibly 'undefined'` | Add null check or optional chaining |
| `Parameter 'x' implicitly has an 'any' type` | Add explicit type annotation |
| `Property 'x' does not exist on type 'Y'` | Add property to interface or use type assertion |

## Anti-Patterns to Avoid

### Don't Do
```typescript
// Type assertions to escape type system
const value = data as any;

// Ignoring errors
// @ts-ignore
const broken = thing.property;

// Unused variables
const unused = 'never used';

// Console logs in production
console.log('debug');
```

### Do Instead
```typescript
// Type guards for runtime checks
function isValidData(data: unknown): data is ValidData {
  return typeof data === 'object' && data !== null && 'id' in data;
}

// Explicit error handling
if (!data) {
  throw new Error('Data is required');
}

// Remove unused code
// Delete it entirely

// Use proper logging
if (process.env.NODE_ENV === 'development') {
  console.log('debug');
}
```

## Project-Specific Rules

### Platform Abstraction
- All platform code goes through `getPlatformAdapter()`
- Never import platform-specific modules directly
- Use `isNative()`, `isTauri()`, `isCapacitor()` for checks

### Component Rules
- Every component needs a Storybook story
- Props must have TSDoc comments
- Use `useCallback` for event handlers passed to children
- Use `useMemo` for expensive computations

### Hook Rules
- Hooks must return typed objects
- Include TSDoc with @example
- Handle loading, error, and success states
- Clean up subscriptions in useEffect return

## Review Checklist

When reviewing code:
- [ ] No TypeScript errors (`pnpm tsc --noEmit`)
- [ ] No `any` types
- [ ] All exports have TSDoc
- [ ] Consistent naming (PascalCase components, camelCase functions)
- [ ] Error handling present
- [ ] No console.logs
- [ ] Tests written or updated
- [ ] Storybook stories for components

Related Skills

data-quality-frameworks

242
from aiskillstore/marketplace

Implement data quality validation with Great Expectations, dbt tests, and data contracts. Use when building data quality pipelines, implementing validation rules, or establishing data contracts.

when-verifying-quality-use-verification-quality

242
from aiskillstore/marketplace

Comprehensive quality verification and validation through static analysis, dynamic testing, integration validation, and certification gates

verification-quality-assurance

242
from aiskillstore/marketplace

Comprehensive truth scoring, code quality verification, and automatic rollback system with 0.95 accuracy threshold for ensuring high-quality agent outputs and codebase reliability.

quick-quality-check

242
from aiskillstore/marketplace

Lightning-fast quality check using parallel command execution. Runs theater detection, linting, security scan, and basic tests in parallel for instant feedback on code quality.

move-code-quality

242
from aiskillstore/marketplace

Analyzes Move language packages against the official Move Book Code Quality Checklist. Use this skill when reviewing Move code, checking Move 2024 Edition compliance, or analyzing Move packages for best practices. Activates automatically when working with .move files or Move.toml manifests.

analyzing-test-quality

242
from aiskillstore/marketplace

Automatically activated when user asks about test quality, code coverage, test reliability, test maintainability, or wants to analyze their test suite. Provides framework-agnostic test quality analysis and improvement recommendations. Does NOT provide framework-specific patterns - use jest-testing or playwright-testing for those.

analyzing-response-quality

242
from aiskillstore/marketplace

Expert at analyzing the quality of Claude's responses and outputs. Use when evaluating response completeness, accuracy, clarity, or effectiveness. Auto-invokes during self-reflection or when quality assessment is needed.

analyzing-component-quality

242
from aiskillstore/marketplace

Expert at analyzing the quality and effectiveness of Claude Code components (agents, skills, commands, hooks). Assumes component is already technically valid. Evaluates description clarity, tool permissions, auto-invoke triggers, security, and usability to provide quality scores and improvement suggestions.

quality

242
from aiskillstore/marketplace

Code quality validation, formatting, linting, and pre-commit checks.

quality-fixer

242
from aiskillstore/marketplace

Automatically apply safe quality fixes including formatting (Black, isort), linting (Ruff auto-fixes), and resolve formatter conflicts. Use when quality checks fail or before committing code.

quality-gates

242
from aiskillstore/marketplace

This skill teaches agents how to assess task complexity, enforce quality gates, and prevent wasted work on incomplete or poorly-defined tasks. Inspired by production-grade development practices, qu...

quality-reviewer

242
from aiskillstore/marketplace

Deep code review with web research to verify against latest ecosystem. Use when user says 'double check against latest', 'verify versions', 'check security', 'review against docs', or needs deep analysis beyond automatic quality hook.