Skip to content
cccskills
FreePublished on GitHubEnglish overview

analyze-app

Inspect authorized local JavaScript or Electron applications without running them. Understand how features work through file and line references, locate relevant code, and plan an original implementation of similar functionality for your own project.

OriginalShow the original description

Statically inspects a local JavaScript or Electron application you're authorized to study, explains how a feature works with file+line evidence, and helps build an equivalent for your own project. Use when the user wants to understand or reimplement a feature from an app whose source they have (their own app, a licensed target, or an explicit research/CTF context). Parses only — never executes the target.

Run score Not tested

See how to install

Good for

  • Understand how an authorized app feature works
  • Locate code related to a specific feature
  • Plan an original implementation of similar functionality
  • Inspect native files and .NET assembly metadata

Overview

What it does

analyze-app examines local JavaScript and Electron applications you are authorized to study without running them. It investigates module connections and Electron communication between processes, explaining features with file and line references. It locates code related to a particular feature and proposes an original implementation based on that understanding. It also examines native file structures, .NET metadata, and EVM contract bytecode.

When it helps

Use it to understand features in an application you have locally or to design similar functionality for your own project. It also helps clarify the roles of the main and renderer sides of an Electron application.

Example requests

  • “Explain the specified feature in this Electron application, with supporting references.”
  • “Based on the analysis, propose an original implementation for my project.”

Notes

The skill uses ruRE tools from ruflo-rure. You must have authorization, such as ownership of the application, an appropriately licensed target, or an explicit CTF or security research context. Circumventing DRM or paid-feature restrictions is outside its scope. Analysis stops if .asar extraction reaches its limits. It does not disassemble machine code or .NET intermediate code, and EVM analysis does not determine exploitability.

This overview was written by AI (OpenAI Codex) from the public SKILL.md. Check the original below for the exact behavior.

Document check

AI checked the SKILL.md for operations that need care and for setup requirements. The score comes only from actually running the skill (hands-on test).

SafetyAre sending data, deleting files, and running commands disclosed?
AGoodIt requires authorization checks every time, prohibits target execution, stops at extraction limits, and rejects restriction bypass requests.
Easy setupDoes it need few tools or API keys, and are they documented?
BPartly lackingIt identifies the ruflo-rure server and required tools but provides no installation or connection instructions.

Not counted in the score. Rated by AI (OpenAI Codex) as of Oct 23, 2026. Treat it as a guide and read the original before installing.

Disagree? Request a re-evaluation

Tell us which point is wrong and why. No login needed. We will check it against the SKILL.md, redo the evaluation, and show the result here.

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

Files included (1)

  • SKILL.md3.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Analyze App (ruRE — JS/Electron and native-binary and .NET static analysis)

Uses the ruRE tools (server ruflo-rure): rure_extract_asar, rure_analyze_js_app, rure_find_feature, rure_analyze_binary, rure_analyze_dotnet, rure_analyze_evm.

Authorization check — do first, every time. This skill is for understanding and reimplementing functionality you're authorized to study: your own application, a target you've properly licensed, or an explicit CTF/security-research context. If that isn't clearly the case, say so and stop before calling any tool. Refuse requests aimed at circumventing DRM, license checks, anti-tamper mechanisms, or paid-feature gates — reframe or decline those, don't attempt a workaround.

  1. If the target is a packaged .asar file, call rure_extract_asar first and use its unpackedPath for the next step. If truncated: true came back, the archive exceeded the size/file-count cap — tell the user and stop; do not attempt a partial analysis.
  2. Call rure_analyze_js_app on the directory. This returns modules, an import/export graph, and Electron process-boundary findings (main vs. renderer, ipcMain/ipcRenderer/contextBridge usage) — every finding carries a file + line-range evidence pointer.
  3. If the user described a specific feature, call rure_find_feature with that description to narrow down where it likely lives, rather than reading the whole analysis.
  4. When explaining a feature, always cite the evidence (file + line range) the tools returned — never assert how something works without a source pointer.
  5. If a snippet in the tool output says redacted or is the literal string [content redacted by AIDefence — threat or PII detected], say explicitly that part of the analysis was withheld; do not guess at what it might have said.
  6. When asked to "build a version for my project," propose an original implementation informed by the understanding gained — not a copy of the analyzed code — and say so.
  7. For a native ELF/PE/Mach-O file (for example a .node addon or helper executable bundled with the app), call rure_analyze_binary for its format, architecture, sections, linked libraries and imported/exported symbols. It inspects the container only: it does not disassemble, and it never runs the file. A non-empty warnings array means part of the file was malformed or out of range; report that rather than filling the gap.
  8. For a managed .NET assembly (.dll/.exe with a CLR header), call rure_analyze_dotnet for its assembly references, types, P/Invoke native imports and string literals. It reads metadata only: no IL disassembly, nothing is loaded or run. isManaged: false means the file is native; use rure_analyze_binary instead.
  9. For EVM contract bytecode (inline hex or a file), call rure_analyze_evm for the exposed selectors, hazardous opcodes, embedded addresses and topics, proxy status and revert strings. Report hazardous opcodes as inventory, not as vulnerabilities, and say when selector names are missing because the selector is not in the small built-in table. It cannot tell you whether anything is exploitable.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Compare models available through the HuggingFace router with chat-ui configuration, research missing models, and write short English descriptions of their architecture and capabilities. Add entries to both production and development configuration files and commit the changes.

  • Adding newly available router models to chat-ui
  • Writing concise descriptions of model capabilities
  • Updating production and development model entries together
ruvnet/ruflo78.8KUpdated Oct 23, 2026

adr-create

FreeSummary

Create an Architecture Decision Record, a document for recording important design choices, with the next sequential number. It generates a Markdown template, registers the record in AgentDB, and links related decisions found through search.

  • Record the reasoning behind adopting a technology
  • Start an ADR for an API or data model change
  • Document an infrastructure decision
ruvnet/ruflo78.8KUpdated Oct 23, 2026

adr-index

FreeSummary

Build a searchable index and relationship graph from ADRs, records of architectural decisions. Import two supported document formats, refresh existing metadata without duplicate relationships, and review summaries of statuses, missing references, and inconsistencies.

  • Index ADRs imported from another project
  • Refresh a graph that differs from files on disk
  • Set up ADR tracking in an existing codebase
ruvnet/ruflo78.8KUpdated Oct 23, 2026

adr-reindex

FreeSummary

Rebuild the index of ADRs, records of architectural decisions, after files or relationship lines are deleted. It clears stored records and relationships, indexes the files still present, and checks that the final record count matches.

  • Rebuild the index after deleting an ADR file
  • Remove stale relationships after editing an ADR
  • Reconcile the ADR index on a schedule
ruvnet/ruflo78.8KUpdated Oct 23, 2026

adr-review

FreeSummary

Review code changes against accepted Architecture Decision Records, documents that capture agreed design choices. Report violations, outdated references, compliant changes, and areas without ADR coverage, then suggest code fixes or a new decision record where appropriate.

  • Check a pull request before merging
  • Review major code changes against agreed design decisions
  • Find references to superseded ADRs
ruvnet/ruflo78.8KUpdated Oct 23, 2026

adr-verify

FreeSummary

Check saved architecture decision records (ADRs) for broken references, circular replacement relationships, and inconsistent statuses. Use the results to verify imported records or stop a CI check when selected integrity rules fail.

  • Checking ADR integrity after import
  • Blocking CI when ADR issues are found
  • Reviewing ADR data before a release
ruvnet/ruflo78.8KUpdated Oct 23, 2026

See all skills by ruvnet

Report a problem with this skill