code-quality
Expert at TypeScript strict mode, linting, formatting, code review standards. Use when checking code quality, fixing type errors, or enforcing standards.
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
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/code-quality/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How code-quality Compares
| Feature / Agent | code-quality | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/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
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
Best AI Skills for Claude
Explore the best AI skills for Claude and Claude Code across coding, research, workflow automation, documentation, and agent operations.
Cursor vs Codex for AI Workflows
Compare Cursor and Codex for AI coding workflows, repository assistance, debugging, refactoring, and reusable developer skills.
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 componentsRelated Skills
data-quality-frameworks
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
Comprehensive quality verification and validation through static analysis, dynamic testing, integration validation, and certification gates
verification-quality-assurance
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
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
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
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
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
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
Code quality validation, formatting, linting, and pre-commit checks.
quality-fixer
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
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
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.