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.
Expert at TypeScript strict mode, linting, formatting, code review standards. Use when checking code quality, fixing type errors, or enforcing standards.
Teams using code-quality should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
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
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-checker
Data Quality Checker - Auto-activating skill for Data Pipelines. Triggers on: data quality checker, data quality checker Part of the Data Pipelines skill category.
../../../agents/ra-qm-team/cs-quality-regulatory.md
No description provided.
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.