Agent skill

score-style

Score migrated code against style guidelines and best practices. Evaluates code quality independent of functional correctness.

Stars 78
Forks 21

Install this agent skill to your Project

npx add-skill https://github.com/OpenHands/extensions/tree/main/plugins/migration-scoring/skills/score-style

SKILL.md

Evaluate migrated code against style guidelines and best practices.

This skill scores code quality aspects that are independent of functional correctness — focusing on readability, maintainability, and adherence to conventions.

Default Scoring Criteria

Unless a custom rubric is provided, score on these attributes (1-5 scale):

Naming Conventions (1-5)

  • 1: Inconsistent or meaningless names
  • 3: Mostly follows conventions, some issues
  • 5: Clear, consistent, idiomatic names

Code Organization (1-5)

  • 1: Monolithic, hard to navigate
  • 3: Some structure, could be cleaner
  • 5: Well-organized, logical structure

Error Handling (1-5)

  • 1: Missing or swallowed exceptions
  • 3: Basic error handling present
  • 5: Comprehensive, appropriate error handling

Documentation (1-5)

  • 1: No documentation
  • 3: Some documentation, inconsistent
  • 5: Thorough, helpful documentation

Idiomaticity (1-5)

  • 1: Non-idiomatic, smells like translated code
  • 3: Mostly idiomatic, some foreign patterns
  • 5: Fully idiomatic, natural code

Output Format

Save scores as a JSON file:

json
{
  "target_file_a.java": {
    "naming_conventions": 4,
    "code_organization": 3,
    "error_handling": 5,
    "documentation": 4,
    "idiomaticity": 4,
    "justification": "Good naming and error handling. Some methods could be extracted for better organization."
  }
}

Custom Rubric

If a custom rubric is provided, use its attributes and scoring criteria instead of the defaults. The rubric should define:

  • Attribute names
  • Score meanings for each level (1-5)
  • Examples of good/bad code for each attribute

Evaluation Guidelines

What to Look For

Positive indicators:

  • Consistent naming (camelCase for Java, snake_case for Python)
  • Appropriate class/method sizes
  • Single responsibility principle followed
  • Meaningful comments (not obvious ones)
  • Standard library usage over custom implementations
  • Defensive programming practices

Negative indicators:

  • Literal translations (COBOL-style Java)
  • God classes or methods
  • Magic numbers
  • Excessive comments or no comments
  • Reinvented wheels
  • Swallowed exceptions
  • Hardcoded values

Language-Specific Considerations

Java:

  • Streams vs. for loops (both acceptable, but be consistent)
  • Optional vs. null checks
  • Record types for data classes
  • Builder pattern for complex objects

Python:

  • Type hints
  • List comprehensions
  • Context managers
  • Pythonic idioms

Incremental Scoring

If a score file already exists, update it with new scores rather than replacing it entirely.

Expand your agent's capabilities with these related and highly-rated skills.

OpenHands/extensions

releasenotes

Generate formatted changelogs from git history since the last release tag. Use when preparing release notes that categorize changes into breaking changes, features, fixes, and other sections.

78 21
Explore
OpenHands/extensions

bitbucket

Interact with Bitbucket repositories and pull requests using the BITBUCKET_TOKEN environment variable. Use when working with code hosted on Bitbucket or managing Bitbucket resources via API.

78 21
Explore
OpenHands/extensions

add-skill

Add an external skill from a GitHub repository to the current workspace. Use when users want to import, install, or add a skill from a GitHub URL (e.g., `/add-skill https://github.com/OpenHands/extensions/tree/main/skills/codereview` or "add the codereview skill from https://github.com/OpenHands/extensions/"). Handles fetching the skill files and placing them in .agents/skills/.

78 21
Explore
OpenHands/extensions

add-javadoc

Add comprehensive JavaDoc documentation to Java classes and methods. Use when documenting Java code, adding API documentation, or improving code documentation.

78 21
Explore
OpenHands/extensions

flarglebargle

A test skill that responds to the magic word "flarglebargle" with a compliment. Use for testing skill activation and trigger functionality.

78 21
Explore
OpenHands/extensions

codereview-roasted

Brutally honest code review in the style of Linus Torvalds, focusing on data structures, simplicity, and pragmatism. Use when you want critical, no-nonsense feedback that prioritizes engineering fundamentals over style preferences.

78 21
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results