agentleFS
QuirkybrainQuirkybrain/claude-code-swe-framework/.claude/skills/reverse-engineering/SKILL.md

reverse-engineering

Skill1 starsChanged 53 days agoMITView on GitHub

Derive software structure, Contracts, architecture, UML/models, and cautiously inferred requirements from existing code, tests, schemas, configuration, and runtime evidence. Use when documentation is missing, stale, or must be reconciled with implementation.

32 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use ida-reverse, game-automation and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • DorianGalloSkill

    ida-reverse

    IDA Pro 逆向分析辅助技能。当用户提到逆向、反编译、分析二进制/PE/ELF/APK/DLL/SO、破解、找密码、漏洞分析、病毒分析、firmware 固件分析,或需要分析 exe/dll/so/elf/macho/sys 等文件时,务必使用此技能。

    Also in 6 projects that use this

  • rehan-remadeSkill

    game-automation

    Launch, see and drive a real game so an agent can test its own mods. Covers launching via Steam or the exe, windowed mode at a fixed size, screenshots of the game window (GPU-safe capture), clicking and typing into menus, holding keys, relative mouse, crash-reporter cleanup, killing by PID, reading logs, scripted test scenes, and an in-game JSON bridge that lets an agent observe and act. Windows-first (also from WSL), with notes for Linux and macOS. Use when a mod must be verified in game, when navigating menus automatically, or when building a repeatable test or demo scene.

    Also in 4 projects that use this

  • rehan-remadeSkill

    game-recon

    Figure out how a specific installed game can be modded, before writing any mod code. Covers where it's installed, the engine and version, managed vs native code, anti-cheat, loaders already present, save and config folders, and the community's modding route. Also whether this machine can run it (a Windows game on macOS or Linux, x64 on ARM). Use when the user asks "can I mod <game>?", "what engine is <game>", "how do people mod <game>", or at the start of any modding task. Produces MODDING_PLAN.md.

    Also in 4 projects that use this

  • DorianGalloSkill

    attack-chain

    Also in 5 projects that use this

  • +4 more from rehan-remade
  • +4 more from DorianGallo

The file

We split this skill into the rules it gives an agent

8 rules. 0 are common, 5 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 25 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Run for legacy/existing projects, code-to-model requests, missing architecture/Contract documentation, maintenance intake, or design-code …

    line 14
  2. Distinctive:

    Treat existing tests and behavior as evidence, not automatic truth.

    line 26
  3. Very specific:

    Create target-relevant UML/domain/behavioral models with confidence and source links.

    line 35
  4. Very specific:

    Update traceability from each conclusion back to code/test/config evidence.

    line 40
  5. Very specific:

    Follow Code → Structure → Architecture → UML/Model → Requirement Inference.

    line 44
  6. Distinctive:

    Do not infer user intent solely because code implements behavior.

    line 45
  7. Distinctive:

    Use Clarification Gate to confirm inferred product intent, Failure Diagnosis for unexplained runtime behavior, and Architecture Decision …

    line 67
  8. Distinctive:

    Stop when target-relevant structure and inferences are documented with evidence/confidence, or when access/ambiguity blocks further …

    line 71

“Common” is measured: kept by at least 6 in 10 of the 25 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Reverse Engineering

Purpose

Recover an evidence-backed engineering model from existing implementation without confusing observed behavior with confirmed user intent.

Trigger

Run for legacy/existing projects, code-to-model requests, missing architecture/Contract documentation, maintenance intake, or design-code drift analysis.

Inputs

  • Scoped code revision, tests, schemas, configuration, build/deployment evidence, and runtime observations.
  • Existing Requirements, models, architecture, documentation, decisions, and target.
  • Project Constraints, known incidents, and terminology.

Prerequisites

  • Define the reverse-engineering scope and desired output depth.
  • Confirm access and avoid executing unsafe/untrusted code without authorization.
  • Treat existing tests and behavior as evidence, not automatic truth.

Procedure

  1. Inventory the scoped implementation, entry points, packages, build/runtime boundaries, and dependencies.
  2. Trace representative control flows, data flows, persistent state, errors, trust boundaries, and external integrations.
  3. Derive structure: layers, modules, Components, ownership, dependencies, and coupling.
  4. Recover observable Contracts: inputs, outputs, data structures, behavior, errors, boundaries, protocols, and versions.
  5. Infer architecture styles, deployment topology, quality mechanisms, and material decisions; cite code/config evidence.
  6. Create target-relevant UML/domain/behavioral models with confidence and source links.
  7. Compare recovered structure with existing design Artifacts and record drift/conflicts.
  8. Infer candidate product Requirements only from supported behavior/evidence.
  9. Label every inferred Requirement INFERRED, never USER_CONFIRMED; distinguish accidental behavior and defects.
  10. Set derived Artifacts UNVERIFIED until independent validation or user confirmation.
  11. Update traceability from each conclusion back to code/test/config evidence.

Decision Rules

  • Follow Code → Structure → Architecture → UML/Model → Requirement Inference; skip a layer only with explicit rationale.
  • Do not infer user intent solely because code implements behavior.
  • Tests reveal expected behavior claimed by their authors, not necessarily current business intent.
  • Separate observed fact, reasoned inference, and assumption.
  • Limit analysis to the target; do not document the entire system by default.

Outputs

  • Structure/Component and dependency view.
  • Recovered Contracts and architecture/model Artifacts.
  • Drift/conflict report and evidence index.
  • Candidate Requirements labeled INFERRED, with confidence and confirmation needs.
  • UNVERIFIED states and traceability links.

Failure Cases

  • Code does not build or important runtime paths are inaccessible.
  • Generated/vendor code obscures ownership.
  • Dynamic behavior cannot be established statically.
  • Existing artifacts conflict with implementation without clear authority.

Escalation

Use Clarification Gate to confirm inferred product intent, Failure Diagnosis for unexplained runtime behavior, and Architecture Decision only after recovered evidence is sufficient. Keep unknowns explicit.

Stop Conditions

Stop when target-relevant structure and inferences are documented with evidence/confidence, or when access/ambiguity blocks further recovery. Do not rewrite implementation or promote inferred Requirements automatically.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.