Skip to content
Back to skills

Code Fix Assistant

ASecurity

Automated code quality assistant that formats code, fixes syntax/type errors, detects bugs, and validates fixes across Python, JavaScript, TypeScript, Java, Go, and Rust

  • 666 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 8, 2026
developmentjavascripttypescriptpythonrustgojavagitsecurityperformance

Works with

  • cli

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill code-fix-assistant --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Code Fix Assistant?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Code Fix Assistant
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-code-fix-assistant/badge)](https://www.skillsdirectory.com/skills/majiayu000-code-fix-assistant)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: code-fix-assistant
description: Automated code quality assistant that formats code, fixes syntax/type errors, detects bugs, and validates fixes across Python, JavaScript, TypeScript, Java, Go, and Rust
---

# Code Fix Assistant

Automated code quality assistant providing a complete fix pipeline: formatting → syntax/type fixing → bug detection → validation, supporting multiple programming languages.

## Capabilities

- **Code Formatting**: Automatically apply standard code style and formatting rules
  - Python: Black, autopep8, isort
  - JavaScript/TypeScript: Prettier, ESLint
  - Java: Google Java Format
  - Go: gofmt, goimports
  - Rust: rustfmt

- **Syntax/Type Error Fixing**: Detect and fix common syntax and type issues
  - Missing semicolons, unmatched brackets
  - Import/dependency issues
  - Type errors (TypeScript, Java, Rust)
  - Unused variables and imports

- **Bug Detection & Fixing**: Static analysis and intelligent fixes
  - Null pointer/null reference issues
  - Array out of bounds
  - Resource leaks (files, connections)
  - Logic errors (incorrect conditions)
  - Dead code detection

- **Fix Validation**: Automatically validate fix effectiveness
  - Run linter checks
  - Syntax validation
  - Generate fix reports
  - Compare before/after differences

## Input Requirements

**Required Inputs**:
- `file_path`: Path to code file to fix
- `language`: Programming language (python, javascript, typescript, java, go, rust)
- `fix_types`: List of fix types (optional, defaults to all)
  - `format`: Code formatting
  - `syntax`: Syntax/type fixing
  - `bugs`: Bug detection and fixing
  - `validate`: Fix validation

**Optional Inputs**:
- `config`: Custom configuration (e.g., ESLint rules, Black options)
- `severity_threshold`: Severity threshold (error, warning, info)
- `auto_apply`: Whether to auto-apply fixes (default false, report only)

**Input Format**:
```json
{
  "file_path": "src/main.py",
  "language": "python",
  "fix_types": ["format", "syntax", "bugs", "validate"],
  "auto_apply": true,
  "severity_threshold": "warning"
}
```

## Output Formats

**Fix Report** (JSON format):
```json
{
  "file": "src/main.py",
  "language": "python",
  "fixes_applied": {
    "format": { "changes": 15, "status": "success" },
    "syntax": { "issues_found": 3, "issues_fixed": 3 },
    "bugs": { "issues_found": 2, "issues_fixed": 1, "unfixable": 1 },
    "validation": { "linter_passed": true, "syntax_valid": true }
  },
  "issues": [
    {
      "type": "syntax",
      "severity": "error",
      "line": 42,
      "message": "Undefined variable 'results'",
      "fix": "Added variable initialization",
      "status": "fixed"
    },
    {
      "type": "bug",
      "severity": "warning",
      "line": 58,
      "message": "Potential null pointer dereference",
      "fix": "Added null check",
      "status": "fixed"
    }
  ],
  "diff": "--- original\n+++ fixed\n@@ -42,3 +42,4 @@\n+results = []\n",
  "summary": "Applied 15 formatting changes, fixed 3 syntax errors, fixed 1/2 bugs, validation passed"
}
```

**Fixed Code File** (if `auto_apply: true`)

## How to Use

**Basic Usage**:
```
@code-fix-assistant

Fix formatting and syntax issues in this Python file: src/main.py
```

**Complete Fix Pipeline**:
```
@code-fix-assistant

Run complete fix pipeline on src/app.ts:
1. Format code
2. Fix TypeScript type errors
3. Detect and fix potential bugs
4. Validate fix results
```

**Batch Fixing**:
```
@code-fix-assistant

Fix code quality issues in all Python files under src/ directory
```

**Check Only (No Auto-Fix)**:
```
@code-fix-assistant

Check code issues in main.go and generate report, but don't auto-fix
```

## Scripts

- `code_fixer.py`: Main fix engine coordinating all fix steps
- `formatters.py`: Code formatting module (multi-language support)
- `syntax_checker.py`: Syntax and type error detection & fixing
- `bug_detector.py`: Static analysis and bug detection
- `validator.py`: Fix validation and report generation
- `language_config.py`: Language-specific config and tool mapping

## Best Practices

1. **Incremental Fixing**: Recommended order: format → syntax → bugs
2. **Version Control**: Commit code before fixing for easy rollback
3. **Test Validation**: Run test suites after fixing to ensure no functionality breakage
4. **Review Fixes**: For critical code, generate report and manually review before applying
5. **Config Files**: Use project-level configs (.prettierrc, .black.toml) for consistency
6. **Batch Fixing**: For large projects, fix incrementally to avoid massive changesets

## Limitations

**Tool Dependencies**:
- Requires language-specific linter/formatter tools installed
- Python: `black`, `flake8`, `mypy`
- JavaScript/TypeScript: `prettier`, `eslint`
- Java: `google-java-format`, `checkstyle`
- Go: `gofmt`, `golangci-lint`
- Rust: `rustfmt`, `clippy`

**Fix Capabilities**:
- Can only fix automatable issues (formatting, common syntax errors, simple bugs)
- Complex logic errors require human intervention
- Cannot guarantee 100% fix rate for all issues
- Some bugs require contextual understanding and may be misdiagnosed

**Performance Considerations**:
- Large files (>10,000 lines) may be slow to process
- Batch fixing many files takes time
- Static analysis depth is limited (not full program analysis)

**Security**:
- Will not modify .git/ or config files
- Will not execute code (static analysis only)
- Recommended to test in isolated environment
- Critical production code should be manually reviewed

## Language-Specific Notes

### Python
- Default uses Black format (88-character line width)
- Supports type hint checking (mypy)
- Auto-sorts imports (isort)

### JavaScript/TypeScript
- Follows Prettier default rules
- ESLint rules customizable
- TypeScript type errors auto-fixed (simple types only)

### Java
- Google Java Format style
- Supports null checking and resource leak detection
- Unused imports auto-cleaned

### Go
- Strictly follows gofmt standard
- goimports auto-manages imports
- Supports go vet static checks

### Rust
- rustfmt standard formatting
- Clippy lint suggestion fixes
- Ownership and lifetime errors reported (not auto-fixable)

## Error Handling

**Tools Not Installed**:
- Prompts to install missing tools
- Provides installation commands
- Skips step and continues with other fixes

**Fix Failures**:
- Logs failure reason
- Preserves original file unchanged
- Provides manual fix suggestions

**File Permission Issues**:
- Checks read/write permissions
- Prompts permission errors
- Suggests solutions

## Examples

### Example 1: Python Formatting and Syntax Fixing

**Input**:
```python
# bad_code.py
import os,sys
import json

def process_data(data):
  results=[]
  for item in data:
      if item['value']>0:
        results.append(item)
  return results

def main( ):
    data=[{'value':1},{'value':-1}]
    result=process_data(data)
    print(result)
```

**After Fix**:
```python
# bad_code.py
import json
import os
import sys


def process_data(data):
    results = []
    for item in data:
        if item["value"] > 0:
            results.append(item)
    return results


def main():
    data = [{"value": 1}, {"value": -1}]
    result = process_data(data)
    print(result)
```

### Example 2: TypeScript Type Error Fixing

**Input**:
```typescript
// app.ts
function greet(name) {
  return "Hello, " + name;
}

let user = { name: "Alice", age: 30 };
console.log(greet(user.name));
console.log(user.address); // Error: Property 'address' does not exist
```

**After Fix**:
```typescript
// app.ts
function greet(name: string): string {
  return "Hello, " + name;
}

interface User {
  name: string;
  age: number;
}

let user: User = { name: "Alice", age: 30 };
console.log(greet(user.name));
// Removed: console.log(user.address); - Property does not exist
```

### Example 3: Go Code Formatting and Lint Fixing

**Input**:
```go
// main.go
package main
import "fmt"
func main(){
var x int=10
if x>5{
fmt.Println("x is greater than 5")
}
}
```

**After Fix**:
```go
// main.go
package main

import "fmt"

func main() {
	var x int = 10
	if x > 5 {
		fmt.Println("x is greater than 5")
	}
}
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.