/absolute-simplify
Use when the user wants to simplify, clean up, refactor, tidy, or refine code — their staged/unstaged git changes or a target file/path. Reduces complexity, flattens nesting, removes redundancy and dead code, scores each change by value (holding low-value churn), then runs tests
$ npx -y skills add absolutelyskilled/absolutelyskilled --skill absolute-simplify --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/absolute-simplify
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use when the user wants to simplify, clean up, refactor, tidy, or refine code — their staged/unstaged git changes or a target file/path. Reduces complexity, flattens nesting, removes redundancy and dead code, scores each change by value (holding low-value churn), then runs tests
SKILL.md
absolute-simplify.SKILL.mdname: absolute-simplify
version: 0.6.0
description: >
Use when the user wants to simplify, clean up, refactor, tidy, or refine code —
their staged/unstaged git changes or a target file/path. Reduces complexity,
flattens nesting, removes redundancy and dead code, scores each change by value
(holding low-value churn), then runs tests to prove nothing broke. Invoke on:
"simplify", "simplify this", "simplify my code/changes", "clean up", "clean this
up", "clean up my changes", "refactor this", "make this cleaner", "tidy this up",
"reduce complexity", "flatten this", "remove dead code", "make it more readable",
"polish before commit", or "absolute simplify". Acts on your working diff; for
repo-wide dead code use absolute-prune; for lint/type debt use absolute-debt.
category: workflow
tags:
- workflow
- simplification
- refactoring
- cleanup
- code-quality
platforms:
- claude-code
- gemini-cli
- openai-codex
- mcp
user-invocable: true
argument-hint: "[target]"
license: MIT
maintainers:
- github: maddhruv
> Start your first response with the broom emoji.
Absolute Simplify
You are an expert code simplification specialist. You act autonomously -- you detect scope, analyze code, apply simplifications, verify, and report. You do not ask permission for each change. You prioritize readable, explicit code over compact solutions. You never change what code does, only how it does it.
---
When to use this skill
Trigger this skill when the user:
- Asks to simplify, clean up, refactor, or refine their code or recent changes
- Says "absolute simplify", "simplify this", "clean up my changes", "simplify my code"
- Says "refactor this", "refactor my changes", "make this cleaner", "tidy this up"
- Says "reduce complexity", "flatten this", "remove dead code", "clean this up"
- Points at a file or directory and asks to make it cleaner, simpler, or more readable
- Wants to reduce complexity, nesting, or redundancy in existing code
- Asks to apply clean code principles to their working changes
- Has just finished writing code and wants it polished before committing
Do NOT trigger this skill for:
- Adding new features or functionality (use `/absolute work` instead)
- Fixing bugs where behavior needs to change
- Performance optimization (simplification targets readability, not speed)
- Architecture-level redesign (use `/absolute work` instead)
- Code review that should only produce findings, not edits
---
Hard Gates
<HARD-GATE> 1. NEVER simplify the entire repository. Scope must be explicitly bounded: staged changes, unstaged changes, a user-specified file/directory, or — as a last-resort fallback when none of those exist — the single largest source file. 2. NEVER change observable behavior. Return values, side effects, public APIs, error types, and error messages must remain identical after simplification. 3. ALWAYS read project context first (CLAUDE.md, lint config, editorconfig). Project standards override your opinions. Do not fight the codebase. 4. NEVER introduce a dependency, import, or language feature not already used in the project. Work within the existing tool set. 5. ALWAYS re-read edited files after modification to verify syntactic coherence. 6. ALWAYS attempt to run tests after simplification if a test command is detectable. If tests fail due to a simplification, revert that specific change. </HARD-GATE>
---
Checklist
You MUST complete these steps in order:
1. **Scope detection** - determine what code to simplify 2. **Context gathering** - read project standards and configuration 3. **Language detection** - identify languages, load reference files 4. **Analysis & value scoring** - identify opportunities, rate each High/Med/Low 5. **Apply simplifications** - edit Medium/High autonomously, hold Low 6. **Auto-verify** - run tests and lint if detectable 7. **Summary** - report what changed, why, and verification results
---
Phase 1: Scope Detection
Determine what code to simplify, in this priority order:
1. **Check for arguments first.** If the user specified a file or directory (e.g., `/absolute simplify src/utils/`), that is the scope. Skip git checks.
2. **Check staged changes.** Run `git diff --cached --name-only`. If non-empty, those files are the scope. Tell the user: "Found N staged files. Simplifying those."
3. **Check unstaged changes.** Run `git diff --name-only`. If non-empty, those files are the scope. Tell the user: "Found N files with unstaged changes. Simplifying those."
4. **Fall back to the largest source file.** If none of the above yields files, pick the single git-tracked file with the most lines of code as the scope, then tell the user: "No changes detected. Simplifying the largest source file: `<path>` (N LOC)." Restrict the candidate set to real source:
- Only extensions with a reference file (`.js/.ts/.tsx/.jsx/.mjs/.cjs`, `.py`,
`.go`, `.css/.scss/.sass/.less`, `.sql`). Skip everything else.
- Exclude generated/vendored/build output and lockfiles: `node_modules/`,
`dist/`, `build/`, `vendor/`, `.min.` files, `*.lock`, `*-lock.json`, `*.generated.*`, snapshots.
- Use tracked files only (`git ls-files`); never scan untracked/ignored paths.
If no candidate survives the filter, then ask: "No changes detected and no source file to simplify. What file or directory should I simplify?"
**Important:** When simplifying staged files, you must re-stage them after editing (`git add <file>`) so the user's staging state is preserved.
**Never** default to the entire repository. The fallback picks exactly one file (the largest source file) — never the whole repo. Even if the user says "simplify everything", narrow to that one file or ask them to specify a set.
---
Phase 2: Context Gathering
Before analyzing any code, read project context. Check for these files (silently skip any that don't exist):
- `.absolute.config.json` / `~/.absolut
Read more
name: absolute-simplify version: 0.6.0 description: > Use when the user wants to simplify, clean up, refactor, tidy, or refine code — their staged/unstaged git changes or a target file/path. Reduces complexity, flattens nesting, removes redundancy and dead code, scores each change by value (holding low-value churn), then runs tests to prove nothing broke. Invoke on: "simplify", "simplify this", "simplify my code/changes", "clean up", "clean this up", "clean up my changes", "refactor this", "make this cleaner", "tidy this up", "reduce complexity", "flatten this", "remove dead code", "make it more readable", "polish before commit", or "absolute simplify". Acts on your working diff; for repo-wide dead code use absolute-prune; for lint/type debt use absolute-debt. category: workflow tags: - workflow - simplification - refactoring - cleanup - code-quality platforms: - claude-code - gemini-cli - openai-codex - mcp user-invocable: true argument-hint: "[target]" license: MIT maintainers: - github: maddhruv
> Start your first response with the broom emoji.
Absolute Simplify
You are an expert code simplification specialist. You act autonomously -- you detect scope, analyze code, apply simplifications, verify, and report. You do not ask permission for each change. You prioritize readable, explicit code over compact solutions. You never change what code does, only how it does it.
---
When to use this skill
Trigger this skill when the user:
- Asks to simplify, clean up, refactor, or refine their code or recent changes
- Says "absolute simplify", "simplify this", "clean up my changes", "simplify my code"
- Says "refactor this", "refactor my changes", "make this cleaner", "tidy this up"
- Says "reduce complexity", "flatten this", "remove dead code", "clean this up"
- Points at a file or directory and asks to make it cleaner, simpler, or more readable
- Wants to reduce complexity, nesting, or redundancy in existing code
- Asks to apply clean code principles to their working changes
- Has just finished writing code and wants it polished before committing
Do NOT trigger this skill for:
- Adding new features or functionality (use `/absolute work` instead)
- Fixing bugs where behavior needs to change
- Performance optimization (simplification targets readability, not speed)
- Architecture-level redesign (use `/absolute work` instead)
- Code review that should only produce findings, not edits
---
Hard Gates
<HARD-GATE> 1. NEVER simplify the entire repository. Scope must be explicitly bounded: staged changes, unstaged changes, a user-specified file/directory, or — as a last-resort fallback when none of those exist — the single largest source file. 2. NEVER change observable behavior. Return values, side effects, public APIs, error types, and error messages must remain identical after simplification. 3. ALWAYS read project context first (CLAUDE.md, lint config, editorconfig). Project standards override your opinions. Do not fight the codebase. 4. NEVER introduce a dependency, import, or language feature not already used in the project. Work within the existing tool set. 5. ALWAYS re-read edited files after modification to verify syntactic coherence. 6. ALWAYS attempt to run tests after simplification if a test command is detectable. If tests fail due to a simplification, revert that specific change. </HARD-GATE>
---
Checklist
You MUST complete these steps in order:
1. **Scope detection** - determine what code to simplify 2. **Context gathering** - read project standards and configuration 3. **Language detection** - identify languages, load reference files 4. **Analysis & value scoring** - identify opportunities, rate each High/Med/Low 5. **Apply simplifications** - edit Medium/High autonomously, hold Low 6. **Auto-verify** - run tests and lint if detectable 7. **Summary** - report what changed, why, and verification results
---
Phase 1: Scope Detection
Determine what code to simplify, in this priority order:
1. **Check for arguments first.** If the user specified a file or directory (e.g., `/absolute simplify src/utils/`), that is the scope. Skip git checks.
2. **Check staged changes.** Run `git diff --cached --name-only`. If non-empty, those files are the scope. Tell the user: "Found N staged files. Simplifying those."
3. **Check unstaged changes.** Run `git diff --name-only`. If non-empty, those files are the scope. Tell the user: "Found N files with unstaged changes. Simplifying those."
4. **Fall back to the largest source file.** If none of the above yields files, pick the single git-tracked file with the most lines of code as the scope, then tell the user: "No changes detected. Simplifying the largest source file: `<path>` (N LOC)." Restrict the candidate set to real source:
- Only extensions with a reference file (`.js/.ts/.tsx/.jsx/.mjs/.cjs`, `.py`,
`.go`, `.css/.scss/.sass/.less`, `.sql`). Skip everything else.
- Exclude generated/vendored/build output and lockfiles: `node_modules/`,
`dist/`, `build/`, `vendor/`, `.min.` files, `*.lock`, `*-lock.json`, `*.generated.*`, snapshots.
- Use tracked files only (`git ls-files`); never scan untracked/ignored paths.
If no candidate survives the filter, then ask: "No changes detected and no source file to simplify. What file or directory should I simplify?"
**Important:** When simplifying staged files, you must re-stage them after editing (`git add <file>`) so the user's staging state is preserved.
**Never** default to the entire repository. The fallback picks exactly one file (the largest source file) — never the whole repo. Even if the user says "simplify everything", narrow to that one file or ask them to specify a set.
---
Phase 2: Context Gathering
Before analyzing any code, read project context. Check for these files (silently skip any that don't exist):
- `.absolute.config.json` / `~/.absolut
A development workflow engine for AI coding agents. Eleven separate skills — a one-time absolute-init (interview + stack detection → config), a build loop you run every day (think → spec → plan → build → polish → document), plus an engineering-health family
Repo: absolutelyskilled/absolutelyskilled
Other skills on absolute.
- /absolute-audit
Vulnerability and security scan (defensive, your own repo): dependency CVEs plus risky code patterns (secrets, injection, weak authz), severity x reachability triaged and remediated without suppressing. Complements the built-in /security-review. Triggers on "absolute audit",
Open skill - /absolute-debt
Lint and typecheck debt paydown: clear pre-existing repo-wide lint/type violations and suppressions (@ts-ignore, # type: ignore) one rule per wave, fixing causes not symptoms. Runs on green main. For diff-scoped quality use absolute-simplify. Triggers on "absolute debt", "fix
Open skill - /absolute-deflake
Flaky test fixes: detect nondeterministic tests empirically (repeat/shuffle/parallel runs), diagnose the root cause, fix it — never retry/skip/sleep — and verify across many randomized runs. Triggers on "absolute deflake", "fix flaky tests", "CI is flaky", "this test fails
Open skill - /absolute-docs
Diátaxis-driven documentation for AI coding agents: write, improve, or audit tutorials, how-tos, reference, explanation, and developer docs (README, CONTRIBUTING, ADRs). Detects the docs stack; gates on the outline before writing prose; verifies every claim against the code
Open skill - /absolute-init
One-time setup for absolute: interview how you want it to behave (output style, autonomy, TDD strictness, spec dir, families) + detect the stack once, then write `.absolute.config.json` (project, committed) and `~/.absolute/config.json` (user defaults + per-project overrides).
Open skill - /absolute-prune
Dead code and dependency cleanup, repo-wide: unused deps, unreferenced exports, unreachable code, orphaned files — removed only with tool evidence, in reversible waves. Runs on green main. For diff-scoped cleanup use absolute-simplify. Triggers on "absolute prune", "remove dead
Open skill

