Official agent skill

Code Simplifier

by Azure in Azure/azqr

Analyzes recently modified code and creates pull requests with simplifications that improve clarity, consistency, and maintainability while preserving functionality

OfficialMITAuto-check passedDevelopment

Install Code Simplifier

skills CLI
$ npx skills add Azure/azqr --skill code-simplifier -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Azure/azqr code-simplifier --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Azure/azqr.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/code-simplifier .claude/skills/code-simplifier && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
code-simplifier
GitHub stars
794
Token cost
~2.9k tokens
SKILL.md length
900 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

Analyzes recently modified code and creates pull requests with simplifications that improve clarity, consistency, and maintainability while preserving functionality

  • Works in 8 steps: Preserve Functionality → Enhance Clarity → Apply Project Standards → …
  • Tasks that involve Code simplification
  • SKILL.md covers Overview, When to Use This Skill, Simplification Principles and Workflow, plus 5 more sections
  • Calls git, make and npm

What it does

Code Simplifier is an agent skill from Azure/azqr, published by the product's own GitHub organization. Analyzes recently modified code and creates pull requests with simplifications that improve clarity, consistency, and maintainability while preserving functionality

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Code simplification and Pull requests. It works with Microsoft Azure. The licence is MIT.

When your agent uses it

  • Tasks that involve Code simplification
  • Tasks that involve Pull requests

Example prompts

  • “Use the code-simplifier skill to analyz recently modified code and creates pull requests with simplifications that improve clarity, consistency, and…”
  • “/code-simplifier”

Requirements

  • Python 3
  • Node.js

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Preserve Functionality
  2. Enhance Clarity
  3. Apply Project Standards
  4. Maintain Balance
  5. Identify Recently Modified Code
  6. Analyze and Simplify Code
  7. Validate Changes
  8. Create Pull Request

What it can do on your machine

Read from SKILL.md and the folder at commit 3cf9f0a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • make
    • npm
    • cargo
    • mvn
    • go
    • tsx
    • java
    • php
    • pytest

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git and npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Code Simplifier loads about 2.9k tokens when it runs. Until then it costs about 45 tokens; SKILL.md has 900 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~45
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Azure/azqr at commit 3cf9f0a, republished under its MIT licence (© Azure). 900 words, ~2,905 tokens.

Download SKILL.mdSave it as .claude/skills/code-simplifier/SKILL.md (or your agent's skills folder).
name
code-simplifier
description
Analyzes recently modified code and creates pull requests with simplifications that improve clarity, consistency, and maintainability while preserving functionality

Code Simplifier Skill

Expert guidance for analyzing and simplifying recently modified code to improve clarity, consistency, and maintainability while preserving exact functionality.

Overview

This skill enables agents to:

  • Analyze code changes from the last 24 hours
  • Apply targeted simplifications that improve code quality
  • Create pull requests with improvements
  • Validate changes through tests and linting

When to Use This Skill

Use this skill when:

  • User asks to simplify or refactor recent code changes
  • User wants to improve code quality without changing functionality
  • User requests code review with automatic improvements
  • Scheduled code quality checks are needed

Simplification Principles

1. Preserve Functionality
  • NEVER change what the code does - only how it does it
  • All original features, outputs, and behaviors must remain intact
  • Run tests before and after to ensure no behavioral changes
2. Enhance Clarity
  • Reduce unnecessary complexity and nesting
  • Eliminate redundant code and abstractions
  • Improve readability through clear variable and function names
  • Consolidate related logic
  • Remove unnecessary comments that describe obvious code
  • IMPORTANT: Avoid nested ternary operators - prefer switch statements or if/else chains
  • Choose clarity over brevity - explicit code is often better than compact code
3. Apply Project Standards
  • Use project-specific conventions and patterns
  • Follow established naming conventions
  • Apply consistent formatting
  • Use appropriate language features (modern syntax where beneficial)
4. Maintain Balance

Avoid over-simplification that could:

  • Reduce code clarity or maintainability
  • Create overly clever solutions that are hard to understand
  • Combine too many concerns into single functions
  • Remove helpful abstractions that improve code organization
  • Prioritize "fewer lines" over readability
  • Make the code harder to debug or extend

Workflow

Phase 1: Identify Recently Modified Code
1.1 Find Recent Changes

Identify files modified in the last 24 hours from all sources:

Option A: Local File Changes (filesystem-based)

bash
# Find files modified in the last 24 hours (includes uncommitted changes)
find . -type f -mtime -1 -not -path './.git/*' -not -path './node_modules/*' -not -path './vendor/*'

# Or using git to find modified files (staged and unstaged)
git status --porcelain

# Find recently modified tracked files
git diff --name-only HEAD~10  # Adjust based on commit frequency

Option B: Git History (committed changes)

bash
# Get yesterday's date in ISO format
YESTERDAY=$(date -d '1 day ago' '+%Y-%m-%d' 2>/dev/null || date -v-1d '+%Y-%m-%d')

# List recent commits
git log --since="24 hours ago" --pretty=format:"%H %s" --no-merges

# List files changed in recent commits
git log --since="24 hours ago" --name-only --pretty=format:"" | sort -u

Option C: GitHub PRs and Commits (remote changes)

Use GitHub tools to:

  • Search for pull requests merged in the last 24 hours
  • Get details of merged PRs to understand what files were changed
  • List commits from the last 24 hours to identify modified files

Combine all sources to get a comprehensive list of recently modified files.

1.2 Extract Changed Files

From all identified sources (local changes, commits, PRs):

  • Collect files modified on the filesystem in the last 24 hours
  • List changed files from recent commits
  • List changed files from merged PRs
  • Deduplicate the combined file list
  • Focus on source code files (.go, .js, .ts, .tsx, .jsx, .py, .rb, .java, .cs, .php, .cpp, .c, .rs, etc.)
  • Exclude test files, lock files, generated files, and vendored dependencies
bash
# Example: Combine filesystem and git changes, filter source files
{
  find . -type f -mtime -1 -not -path './.git/*' 2>/dev/null
  git log --since="24 hours ago" --name-only --pretty=format:"" 2>/dev/null
  git diff --name-only 2>/dev/null
} | sort -u | grep -E '\.(go|js|ts|tsx|jsx|py|rb|java|cs|php|cpp|c|rs)$'
1.3 Determine Scope

If no files were changed in the last 24 hours (no local modifications, no commits, no merged PRs), exit gracefully:

✅ No code changes detected in the last 24 hours.
Code simplifier has nothing to process today.

If files were changed (from any source: local edits, commits, or PRs), proceed to Phase 2.

Phase 2: Analyze and Simplify Code
2.1 Review Project Standards

Before simplifying, review the project's coding standards:

  • Check for style guides, coding conventions, or contribution guidelines
  • Look for language-specific conventions (STYLE.md, CONTRIBUTING.md, README.md)
  • Identify established patterns in the codebase
2.2 Perform Code Analysis

For each changed file:

  1. Read the file contents
  2. Identify refactoring opportunities:
    • Long functions that could be split
    • Duplicate code patterns
    • Complex conditionals that could be simplified
    • Unclear variable names
    • Missing or excessive comments
    • Non-idiomatic patterns
  3. Design the simplification:
    • What specific changes will improve clarity?
    • How can complexity be reduced?
    • What patterns should be applied?
    • Will this maintain all functionality?
Show full SKILL.md (342 more words)Show less
2.3 Apply Simplifications

Make surgical, focused changes that preserve all original behavior. Use targeted edits rather than full file rewrites.

Phase 3: Validate Changes
3.1 Run Tests

After making simplifications, run the project's test suite:

bash
# Common test commands (adapt to the project)
make test          # If Makefile exists
npm test           # For Node.js projects
pytest             # For Python projects
./gradlew test     # For Gradle projects
mvn test           # For Maven projects
cargo test         # For Rust projects
go test ./...      # For Go projects

If tests fail:

  • Review the failures carefully
  • Revert changes that broke functionality
  • Adjust simplifications to preserve behavior
  • Re-run tests until they pass
3.2 Run Linters

Ensure code style is consistent:

bash
# Common lint commands (adapt to the project)
make lint          # If Makefile exists
npm run lint       # For Node.js projects
pylint . || flake8 . # For Python projects
cargo clippy       # For Rust projects
golangci-lint run  # For Go projects

Fix any linting issues introduced by the simplifications.

3.3 Check Build

Verify the project still builds successfully:

bash
# Common build commands (adapt to the project)
make build         # If Makefile exists
npm run build      # For Node.js projects
./gradlew build    # For Gradle projects
mvn package        # For Maven projects
cargo build        # For Rust projects
go build ./...     # For Go projects
Phase 4: Create Pull Request
4.1 Determine If PR Is Needed

Only create a PR if:

  • ✅ Actual code simplifications were made
  • ✅ All tests pass (or no tests exist)
  • ✅ Linting is clean (or no linter configured)
  • ✅ Build succeeds (or no build step exists)
  • ✅ Changes improve code quality without breaking functionality

If no improvements were made or changes broke tests, exit gracefully:

✅ Code analyzed from last 24 hours.
No simplifications needed - code already meets quality standards.
4.2 Generate PR Description

Use this structure for the PR:

markdown
## Code Simplification - [Date]

This PR simplifies recently modified code to improve clarity, consistency, and maintainability while preserving all functionality.

### Files Simplified

- `path/to/file1.ext` - [Brief description of improvements]
- `path/to/file2.ext` - [Brief description of improvements]

### Improvements Made

1. **Reduced Complexity**
   - [Specific example]

2. **Enhanced Clarity**
   - [Specific example]

3. **Applied Project Standards**
   - [Specific example]

### Changes Based On

Recent changes from:
- #[PR_NUMBER] - [PR title]
- Commit [SHORT_SHA] - [Commit message]

### Testing

- ✅ All tests pass (or indicate if no tests exist)
- ✅ Linting passes (or indicate if no linter configured)
- ✅ Build succeeds (or indicate if no build step)
- ✅ No functional changes - behavior is identical

### Review Focus

Please verify:
- Functionality is preserved
- Simplifications improve code quality
- Changes align with project conventions
- No unintended side effects

---

*Automated by Code Simplifier Agent*

Common Simplification Patterns

Reduce Nesting
go
// Before
func process(data []Item) error {
    if data != nil {
        if len(data) > 0 {
            for _, item := range data {
                if item.Valid {
                    // process
                }
            }
        }
    }
    return nil
}

// After
func process(data []Item) error {
    if len(data) == 0 {
        return nil
    }
    for _, item := range data {
        if !item.Valid {
            continue
        }
        // process
    }
    return nil
}
Replace Nested Ternaries with Switch/If
javascript
// Before
const status = isError ? 'error' : isLoading ? 'loading' : isSuccess ? 'success' : 'idle';

// After
let status;
if (isError) {
    status = 'error';
} else if (isLoading) {
    status = 'loading';
} else if (isSuccess) {
    status = 'success';
} else {
    status = 'idle';
}
python
# Before
def validate_user(user):
    if user.name is None:
        return False
    if len(user.name) == 0:
        return False
    if user.email is None:
        return False
    if '@' not in user.email:
        return False
    return True

# After
def validate_user(user):
    if not user.name:
        return False
    if not user.email or '@' not in user.email:
        return False
    return True
Improve Variable Names
go
// Before
func calc(d []int) int {
    t := 0
    for _, v := range d {
        t += v
    }
    return t
}

// After
func calculateSum(values []int) int {
    total := 0
    for _, value := range values {
        total += value
    }
    return total
}

Scope Control Guidelines

  • Focus on recent changes: Only refine code modified in the last 24 hours (local files, commits, or merged PRs)
  • Include all change sources: Consider filesystem modifications, staged changes, commits, and merged PRs
  • Don't over-refactor: Avoid touching unrelated code
  • Preserve interfaces: Don't change public APIs
  • Incremental improvements: Make targeted, surgical changes

Exit Conditions

Exit gracefully without creating a PR if:

  • No code was changed in the last 24 hours
  • No simplifications are beneficial
  • Tests fail after changes
  • Build fails after changes
  • Changes are too risky or complex

Quality Checklist

Before creating a PR, verify:

  • Functionality is preserved (all tests pass)
  • Code is clearer and more readable
  • No nested ternary operators introduced
  • Variable names are descriptive
  • Unnecessary complexity removed
  • Project conventions followed
  • Build succeeds
  • Linting passes
  • Changes are focused and surgical

Output Requirements

The agent MUST either:

  1. If no changes in last 24 hours: Output a brief status message
  2. If no simplifications beneficial: Output a brief status message
  3. If simplifications made: Create a PR with the changes and detailed description

© Azure, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/code-simplifier of Azure/azqr.

Open the folder on GitHubat commit 3cf9f0a

Compare with similar skills

Code Simplifier next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Code Simplifier compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Code Simplifier this skillAzure/azqr794—~2.9kAutomated safety check: PassMIT
Code ReviewAzure/Azurite2.3k—~734Automated safety check: PassMIT
Reviewtisfeng/Easydict15k—~659Automated safety check: PassGPL-3.0
Azurite Pull Request ReviewAzure/AgentBaker157—~3.9kAutomated safety check: PassMIT
Create PRmicrosoft/aspire6.3k—~4kAutomated safety check: PassMIT
Code ReviewAzure/sap-automation145—~7kAutomated safety check: PassMIT

Similar skills

  • Code Review

    Azure/Azurite

    Official

    Review Azurite pull requests with service-aware checks for Blob, Queue, and Table behavior, API compatibility, tests, and release notes.

    2.3k GitHub stars~734 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Review

    tisfeng/Easydict

    审查本地工作树、提交、range、文件或模块,找出有证据的缺陷。GitHub PR 审查使用 review-pr;代码清理使用 code-simplifier。

    15k GitHub stars~659 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Official

    Reviews Azurite pull requests with checks for Blob, Queue and Table API compatibility, auth paths, persistence, tests and changelog, ending in a fixed comment format.

    157 GitHub stars~3.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Create PR

    microsoft/aspire

    Official

    Create a pull request using the repository PR template. An agent skill from microsoft/aspire.

    6.3k GitHub stars~4k tokensUpdated today
    DevelopmentAuto-check passed
  • Code Review

    Azure/sap-automation

    Official

    Review pull requests in the SAP Deployment Automation Framework.

    145 GitHub stars~7k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Unblock Dependabot PR

    kubernetes-sigs/cloud-provider-azure

    Official

    Diagnose and unblock failed Dependabot pull requests in cloud-provider-azure by closing Kubernetes minor-version dependency bumps, classifying CI failures, syncing Go modules, retesting quota-flaked…

    294 GitHub stars~1.5k tokensUpdated today
    DevelopmentAuto-check passed

More from Azure/azqr

  • Skill Creator

    Azure/azqr

    Official

    Create new skills, modify and improve existing skills, and measure skill performance.

    794 GitHub starsUsed in 89 repos~8.2k tokens
    Auto-check passed
  • Kql Validator

    Azure/azqr

    Official

    Validate KQL (Kusto Query Language) files used in Azure Quick Review (azqr) against their recommendation definitions.

    794 GitHub stars~703 tokensUpdated 2 days ago
    Auto-check passed
  • Review Areas

    Azure/azqr

    Official

    In-depth code review that fans out parallel subagents across review areas — CRITICAL after non-trivial development.

    794 GitHub stars~1.6k tokensUpdated 2 days ago
    Auto-check passed
  • Azqr Developer

    Azure/azqr

    Official

    Expert guidance for developing and contributing to Azure Quick Review (azqr) - A Go-based CLI tool for Azure resource compliance analysis

    794 GitHub stars~3k tokensUpdated 2 days ago
    Auto-check passed

Works with

Categories

Questions about Code Simplifier

What does Code Simplifier do?

Analyzes recently modified code and creates pull requests with simplifications that improve clarity, consistency, and maintainability while preserving functionality. Code Simplifier is an agent skill from Azure/azqr, published by the product's own GitHub organization.

When should I use Code Simplifier?

Code Simplifier fits situations like: tasks that involve Code simplification; tasks that involve Pull requests.

How do I install Code Simplifier in Claude Code?

Run `npx skills add Azure/azqr --skill code-simplifier -a claude-code`. Or copy the skill folder (.agents/skills/code-simplifier in Azure/azqr) into .claude/skills/code-simplifier in your project. Claude Code loads it when a task matches its description.

How do I install Code Simplifier in Codex?

Run `npx skills add Azure/azqr --skill code-simplifier -a codex`. Or copy the skill folder (.agents/skills/code-simplifier in Azure/azqr) into .agents/skills/code-simplifier in your project. Codex loads it when a task matches its description.

Can I use Code Simplifier in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Azure/azqr --skill code-simplifier -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/code-simplifier, .gemini/skills/code-simplifier, .github/skills/code-simplifier and .opencode/skills/code-simplifier in your project.

What does Code Simplifier need to run?

Going by SKILL.md and its folder, Code Simplifier needs the command-line tools its instructions call (git, make, npm, cargo, mvn and go). Our summary lists: Python 3; Node.js.

Does Code Simplifier access the network?

SKILL.md contains no URLs. Its commands use git and npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Code Simplifier safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Code Simplifier use?

Code Simplifier is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Code Simplifier use?

About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Code Simplifier?

Skills that share tags, products or a category with Code Simplifier: Code Review (Azure/Azurite, 2.3k stars), Review (tisfeng/Easydict, 15k stars), Azurite Pull Request Review (Azure/AgentBaker, 157 stars) and Create PR (microsoft/aspire, 6.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Code Simplifier?

Azure (a GitHub organization, an official publisher) maintains it in Azure/azqr, which has 794 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 5, 2026.

Source: Azure/azqr on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.