Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计通过

absolute-simplify绝对简化

Agent Skill

absolute-simplify 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

1,098

周安装

44

GitHub Stars

134

下载量

356
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:absolute-simplify(绝对简化)
来源仓库:https://github.com/absolutelyskilled/absolutelyskilled
仓库路径:skills/absolute-simplify
安装命令:
npx skills add https://github.com/absolutelyskilled/absolutelyskilled --skill absolute-simplify
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/absolutelyskilled/absolutelyskilled --skill absolute-simplify

简介

absolute-simplify 专注于信息简化与结构梳理,通过标准化输出格式提升复杂内容的清晰度与可读性。

  • 适用于需要将冗长文本、技术文档或分析结果提炼为简明要点或可视化结构的场景。
  • 激活时显示专属 ASCII 艺术横幅,始终以扫帚图标开头响应,确保风格一致且易于识别。
  • 安装依赖 GitHub 仓库,使用前需核实权限边界、维护频率,以及是否触发外部调用或数据处理行为。
  • 注意该技能侧重表达形式而非内容生成,应配合原始资料使用以避免信息失真或过度简化。

SKILL.md

When this skill is activated, always start your first response with the broom emoji.

Absolute Simplify

Activation Banner

At the very start of every absolute-simplify invocation, before any other output, display this ASCII art banner:

 █████╗ ██████╗ ███████╗ ██████╗ ██╗     ██╗   ██╗████████╗███████╗
██╔══██╗██╔══██╗██╔════╝██╔═══██╗██║     ██║   ██║╚══██╔══╝██╔════╝
███████║██████╔╝███████╗██║   ██║██║     ██║   ██║   ██║   █████╗
██╔══██║██╔══██╗╚════██║██║   ██║██║     ██║   ██║   ██║   ██╔══╝
██║  ██║██████╔╝███████║╚██████╔╝███████╗╚██████╔╝   ██║   ███████╗
╚═╝  ╚═╝╚═════╝ ╚══════╝ ╚═════╝ ╚══════╝ ╚═════╝    ╚═╝   ╚══════╝
███████╗██╗███╗   ███╗██████╗ ██╗     ██╗███████╗██╗   ██╗
██╔════╝██║████╗ ████║██╔══██╗██║     ██║██╔════╝╚██╗ ██╔╝
███████╗██║██╔████╔██║██████╔╝██║     ██║█████╗   ╚████╔╝
╚════██║██║██║╚██╔╝██║██╔═══╝ ██║     ██║██╔══╝    ╚██╔╝
███████║██║██║ ╚═╝ ██║██║     ███████╗██║██║        ██║
╚══════╝╚═╝╚═╝     ╚═╝╚═╝     ╚══════╝╚═╝╚═╝        ╚═╝

Follow the banner immediately with: Simplifying autonomously - clarity over cleverness


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-brainstorm instead)
  • Fixing bugs where behavior needs to change
  • Performance optimization (simplification targets readability, not speed)
  • Architecture-level redesign (use clean-architecture instead)
  • Code review that should only produce findings, not edits (use code-review-mastery)

Hard Gates


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 - identify simplification opportunities with expert judgment
  5. Apply simplifications - edit files autonomously
  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. Ask the user. If none of the above yields files, ask: "No changes detected. 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. Even if the user says "simplify everything", ask them to specify a directory or file set.


Phase 2: Context Gathering

Before analyzing any code, read project context. Check for these files (silently skip any that don't exist):

  • CLAUDE.md / .claude/ - project coding standards
  • .editorconfig - formatting rules
  • .eslintrc* / eslint.config.* / biome.json - JS/TS linting rules
  • .prettierrc* - formatting config
  • tsconfig.json / jsconfig.json - TypeScript settings
  • pyproject.toml / setup.cfg / .flake8 / ruff.toml - Python settings
  • go.mod - Go module info
  • package.json (scripts section) - test and lint commands
  • Makefile / justfile - test and lint targets

What you're extracting:

  • Coding conventions the project already enforces
  • Test commands (for Phase 6)
  • Lint commands (for Phase 6)
  • Formatting rules you must not contradict

Do NOT dump this information to the user. Internalize it and move on.


Phase 3: Language Detection & Reference Loading

Inspect file extensions in the working set:

ExtensionsLoad reference
.js, .ts, .tsx, .jsx, .mjs, .cjsreferences/javascript.md
.py, .pyireferences/python.md
.goreferences/golang.md

Always load references/simplification-catalog.md (universal patterns).

If multiple languages are in scope, load all relevant references. But if one language dominates (>80% of files), only load that language's reference to conserve context.

If a language is not covered by a reference file (e.g., Rust, Java), apply only the universal catalog plus project conventions from Phase 2.


Phase 4: Analysis

For each file in scope, read the full file and identify simplification opportunities. Work through this priority order:

  1. Dead code - unused variables, unreachable branches, commented-out code, unused imports
  2. Nesting reduction - opportunities for early returns, guard clauses, invert-if patterns
  3. Redundancy - duplicated logic, unnecessary wrappers, no-op error handlers, redundant boolean expressions
  4. Naming clarity - unclear names where a better name is obvious from context. Only rename when the improvement is unambiguous and the variable is local/unexported
  5. Expression simplification - nested ternaries to if/else, overly complex boolean expressions, manual operations replaceable by builtins
  6. Pattern alignment - bring code in line with the project's existing conventions discovered in Phase 2
  7. Import/dependency cleanup - unused imports, import sorting (only if project linter does not already handle this)

Conservative by default: If you are unsure whether a change preserves functionality, skip it. List it in the summary as "Skipped (conservative)" so the user can decide.

Extra caution on test files: Files matching *test*, *spec*, *_test.go, test_*.py get extra scrutiny. Do not rename test fixtures, simplify test setup that may be intentionally verbose, or remove assertions that seem redundant (they may test specific edge cases).


Phase 5: Apply Simplifications

  1. Batch changes per file. Make all edits to a single file in one pass, not 10 separate edit operations.
  2. Edit, then re-read. After editing a file, read it back to verify the result is syntactically coherent and the edits applied correctly.
  3. Re-stage if needed. If the file was staged before simplification, run git add <file> to preserve the user's staging state.
  4. Preserve all functionality. Never change:

- Return values or types - Side effects (logging, mutations, I/O) - Public API signatures (function names, parameters, exports) - Error types or messages - Event handlers or callback signatures

  1. When in doubt, skip. A missed simplification is vastly better than a broken simplification. The user can always ask for more.

Phase 6: Auto-Verify

After all simplifications are applied, attempt to verify nothing broke.

Detect test commands (check in this order):

  • package.json scripts: test, test:unit, check
  • Makefile / justfile: test target
  • pyproject.toml: [tool.pytest] section -> pytest
  • go.mod exists -> go test./...

Detect lint commands:

  • package.json scripts: lint, typecheck, check
  • Makefile / justfile: lint target
  • ruff.toml / pyproject.toml with [tool.ruff] -> ruff check
  • go.mod exists -> go vet./...

Run and interpret:

  • Set a 60-second timeout on test/lint commands. If they time out, report "Tests timed out - manual verification recommended" and do not revert.
  • If tests pass, report it.
  • If tests fail, analyze which test(s) broke:

- If clearly caused by a simplification: revert that specific change, re-run - If pre-existing failure (was already failing): note it, do not revert

  • If lint fails with violations from simplified code: fix them.
  • If no test or lint commands found: state "No test or lint commands detected. Manual verification recommended."

Phase 7: Summary

Output a structured summary of everything that happened:

## Simplification Summary

**Scope**: [staged changes | unstaged changes | <path>]
**Files modified**: N
**Simplifications applied**: M

### Changes by file

#### `path/to/file.ts`
- [Line X] Replaced nested ternary with if/else for clarity
- [Line Y] Extracted guard clause, reduced nesting from 4 to 2
- [Line Z] Removed unused import `lodash`

#### `path/to/other.py`
- [Line A] Replaced manual dict with dataclass
- [Line B] Simplified `not (not x)` to `x`

### Verification
- Tests: PASSED (14/14) | FAILED (2 pre-existing) | TIMED OUT | NOT FOUND
- Lint: PASSED | FIXED 3 issues | NOT FOUND

### Skipped (conservative)
- `file.ts:42` - Could simplify callback but unclear if ordering matters
- `utils.go:18` - Exported function rename would break callers

After the summary, always end with a celebratory sign-off message. Pick one that matches the scale of work done. Be genuine and a little jolly -- the user just got cleaner code for free.

Examples (pick or improvise based on the actual numbers):

  • Small (1-3 changes): ✨ 3 simplifications applied. Your code just got a little breezier!
  • Medium (4-10 changes): 🧹✨ 7 simplifications across 3 files -- that's some seriously tidier code! Ship it with confidence.
  • Large (10+ changes): 🎉🧹✨ 14 simplifications across 6 files! Your codebase just lost mass and gained clarity. Future-you sends thanks.
  • Zero changes (already clean): 👀 Looked through everything -- your code is already clean. Nothing to simplify here. Nice work!
  • All skipped (too uncertain): 🤔 Found a few potential improvements but skipped them all to be safe. Check the "Skipped" list above -- you might want to apply some manually.

Keep it to one line. Don't overdo it -- one or two emojis, one sentence. Match the energy to the impact.

Keep the rest of the summary concise. One line per change. Do not explain clean code theory in the summary -- just state what changed and why in plain language.


Key Principles

  • Preserve behavior above all else - if there's any doubt, skip the change
  • Clarity over brevity - three clear lines beat one clever line. Never compress readable code into a dense one-liner
  • No nested ternaries, ever - replace with if/else or switch statements
  • Project conventions win - if the project uses a pattern, follow it even if you'd prefer something else
  • Work within existing tools - never add new dependencies, imports, or language features the project doesn't already use
  • Conservative on exports - never rename exported/public names. Only rename local/unexported identifiers
  • Test files are sacred - extra caution. Verbose test setup may be intentional. "Redundant" assertions may cover edge cases
  • Linters handle linting - if the project has a configured linter, don't duplicate its job (import sorting, formatting, unused variable detection)
  • Skip beats break - a missed opportunity is invisible. A broken function is a production incident. Always err on the side of caution
  • Re-stage what was staged - preserve the user's git workflow. If they had files staged, keep them staged after simplification

Gotchas

  1. Editing staged files un-stages them. When you edit a staged file, git un-stages it. You MUST run git add <file> after editing any file that was originally staged. Forgetting this silently breaks the user's commit workflow.
  2. Project linters already handle some simplifications. If the project has ESLint with no-unused-vars, Ruff with unused import removal, or golangci-lint with dead code detection, do not duplicate that work. Check lint config in Phase 2. Let the linter handle what it already handles.
  3. Test file simplification can change test semantics. Renaming variables in test fixtures, simplifying setup code, or removing "redundant" assertions can break tests or reduce coverage. Apply extra conservatism to test files.
  4. Auto-verify can time out on slow test suites. Large projects have test suites that take minutes. The 60-second timeout prevents hanging. Report the timeout and let the user run tests manually.
  5. Multi-language repos overload context. A monorepo with JS, Python, and Go files in scope loads 4 reference files (3 language + 1 universal). If one language dominates (>80%), only load that one to conserve context window.
  6. Renaming exported names breaks other files. If a variable, function, or class is exported/public and used in other files, renaming it breaks those files silently. Only rename local/unexported identifiers. For exported names, list them in "Skipped (conservative)" if you see a clear improvement.

Anti-Patterns and Common Mistakes

Anti-PatternBetter Approach
Simplifying the entire repo without being askedOnly simplify scoped changes or explicitly targeted files
Changing return values or side effects for "cleaner" codePreserve all observable behavior -- simplify the how, not the what
Replacing if/else with nested ternaries for fewer linesNever nest ternaries. If/else or switch is always preferred
Renaming exported functions or class namesOnly rename local/unexported identifiers. Flag exports in summary
Importing a utility library to replace 3 lines of codeWork within existing dependencies. Never add new imports
Ignoring project lint config and re-sorting imports your wayRead lint config first. Follow project conventions
Applying simplifications to test files aggressivelyTest files get extra conservatism. Verbose setup may be intentional
Making 10 separate edits to one fileBatch all changes to a file in one pass
Skipping re-read after editAlways re-read the file to verify syntactic coherence
Not re-staging files that were stagedAfter editing staged files, run git add to preserve staging state
Running tests without a timeoutCap test runs at 60 seconds. Report timeout, don't hang
Presenting analysis and asking for permissionThis is an autonomous skill. Analyze, apply, verify, report

References

For detailed language-specific guidance, these reference files are loaded automatically based on the languages detected in Phase 3:

  • references/simplification-catalog.md - Always loaded. Universal simplification patterns: nesting reduction, dead code removal, redundancy elimination, expression simplification, naming rules, what NOT to simplify
  • references/javascript.md - Loaded for.js/.ts/.tsx/.jsx files. ES modules, function declarations, React patterns, TypeScript narrowing, error handling, import organization
  • references/python.md - Loaded for.py files. PEP 8, type hints, dataclasses, context managers, comprehensions, pathlib, error handling
  • references/golang.md - Loaded for.go files. Effective Go patterns, error handling idioms, interface design, table-driven tests, defer patterns

Only load a reference file when that language is in scope. Do not preload all references.


Companion check

On first activation of this skill in a conversation: check which companion skills are installed by running ls ~/.claude/skills/ ~/.agent/skills/ ~/.agents/skills/.claude/skills/.agent/skills/.agents/skills/ 2>/dev/null. Compare the results against the recommended_skills field in this file's frontmatter. For any that are missing, mention them once and offer to install: `` npx skills add AbsolutelySkilled/AbsolutelySkilled --skill <name> ` Skip entirely if recommended_skills` is empty or all companions are already installed.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.43%
按下载量换算126

Claude

29.79%
按下载量换算106

Cursor

16.36%
按下载量换算58

Gemini CLI

8.81%
按下载量换算31

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills