
Agent Skill for operating renef.io — Android ARM64 dynamic instrumentation: hook native/Java, patch memory, trace syscalls, bypass SSL pinning/root detection; port Frida & GameGuardian scripts to renef Lua.
A Claude Code plugin that makes AI agents operate renef.io correctly — the dynamic-instrumentation engine for Android ARM64: hook native & Java functions, scan/read/write/patch process memory, trace syscalls, and bypass SSL pinning / root detection through Lua 5.4 scripts (memfd injection, no ptrace).
This is an operator's manual, not a tutorial. An agent that can already write Frida hooks,
GameGuardian (gg.*) cheats, or game-hacking Lua has the concepts — it just lacks renef's exact
syntax and workflow, and without it emits Frida JavaScript, dotted Java class names, absolute
hook addresses, retval.replace(), or gg.* calls, none of which work in renef. The skill gives
the agent a precise syntax contract, a self-lint to run over its own scripts, a task →
playbook map, translation tables from other tools, and copy-paste recipes.
renef-skills/
├── .claude-plugin/
│ └── plugin.json # plugin manifest
├── CONTRIBUTING.md # how to contribute VERIFIED findings (no confidential target data)
└── skills/
└── renef/
├── SKILL.md # operator framing: roles, syntax contract, self-lint, task playbook
├── probe.lua # RUN FIRST — ground-truths the API/behavior of your renef build
└── references/
├── methodology.md # the investigation loop: solve a NEW bypass yourself
├── debugging.md # renef hides errors — recover them; failure-symptom table; hot-hook race; RASP
├── lua-api.md # full Lua API: Module/Memory/hook/Jni/Java/Thread/File/Syscall/OS/KCov
├── cli.md # commands, flags, connection modes, build/deploy, companion tools
├── from-other-tools.md # translate Frida JS + GameGuardian (gg.*) / game-hacking Lua → renef
├── recipes.md # worked examples: SSL/root bypass, WebView, tracing, memory, CTF…
└── gotchas.md # pitfalls, doc/runtime discrepancies, troubleshooting
The skill uses progressive disclosure: SKILL.md stays compact (the model loads it when a task
involves renef), and the larger reference files are pulled in only when needed.
This is a standard Agent Skill (SKILL.md with name + description frontmatter). It is
loaded on demand — the agent sees the skill's description and pulls in the full content only
when a task involves renef.
One copy, two agents. Both Claude Code and OpenCode read the
.claude/skills/directories. Installing into~/.claude/skills/renef/(global) or.claude/skills/renef/(per-project) makes the skill work in both with no conversion.
# Global — available in all your projects, for both Claude Code and OpenCode:
mkdir -p ~/.claude/skills && cp -r skills/renef ~/.claude/skills/renef
# Or per-project:
mkdir -p .claude/skills && cp -r skills/renef .claude/skills/renef
Then just describe a renef task — the skill activates automatically (in OpenCode it's exposed via
the native skill tool).
OpenCode-native locations also work if you prefer them: .opencode/skills/renef/SKILL.md
(project) or ~/.config/opencode/skills/renef/SKILL.md (global). OpenCode additionally scans
.agents/skills/ and ~/.agents/skills/.
Add this repo as a plugin source (or to a marketplace you control) and enable the renef plugin —
the bundled skill registers automatically. (.claude-plugin/plugin.json is the manifest.)
Skill auto-discovery isn't universal yet. Two portable options:
AGENTS.md (read by many agents, incl. OpenCode/Cursor/Zed)
orients it to the project and tells it to read skills/renef/SKILL.md..cursor/rules/*.mdc that includes skills/renef/SKILL.md). The content is plain Markdown.Just describe the task — the skill triggers on renef-related work:
verify function in libapp.so and log its args"Renef targets Android ARM64 and is for authorized security testing, app hardening review, CTFs, and reverse-engineering of software you own or are permitted to analyze. Follow applicable law and the target app's terms.
This plugin is documentation/instructions only; it ships no renef binaries.