Options
asgeirtj/system_prompts_leaks
Present multiple design options as a vertical stack of anchored turns
How to write Morphe patches — bytecodePatch DSL, compatibility, extensions, options, finalization.
$ npx skills add Paresh-Maheshwari/morphe-ai --skill patch-anatomy -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Paresh-Maheshwari/morphe-ai patch-anatomy --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Paresh-Maheshwari/morphe-ai.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.kiro/skills/patch-anatomy .claude/skills/patch-anatomy && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "patch-anatomy" agent skill from https://github.com/Paresh-Maheshwari/morphe-ai/tree/main/.kiro/skills/patch-anatomy into .claude/skills/patch-anatomy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "patch-anatomy", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Paresh-Maheshwari/morphe-ai/tree/main/.kiro/skills/patch-anatomyType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Paresh-Maheshwari/morphe-ai --skill patch-anatomy -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Paresh-Maheshwari/morphe-ai patch-anatomy --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Paresh-Maheshwari/morphe-ai.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.kiro/skills/patch-anatomy .agents/skills/patch-anatomy && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "patch-anatomy" agent skill from https://github.com/Paresh-Maheshwari/morphe-ai/tree/main/.kiro/skills/patch-anatomy into .agents/skills/patch-anatomy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "patch-anatomy", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Paresh-Maheshwari/morphe-ai --skill patch-anatomy -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Paresh-Maheshwari/morphe-ai patch-anatomy --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Paresh-Maheshwari/morphe-ai.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.kiro/skills/patch-anatomy .cursor/skills/patch-anatomy && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "patch-anatomy" agent skill from https://github.com/Paresh-Maheshwari/morphe-ai/tree/main/.kiro/skills/patch-anatomy into .cursor/skills/patch-anatomy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "patch-anatomy", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Paresh-Maheshwari/morphe-ai.git --path .kiro/skills/patch-anatomy--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Paresh-Maheshwari/morphe-ai --skill patch-anatomy -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Paresh-Maheshwari/morphe-ai patch-anatomy --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Paresh-Maheshwari/morphe-ai.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.kiro/skills/patch-anatomy .gemini/skills/patch-anatomy && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "patch-anatomy" agent skill from https://github.com/Paresh-Maheshwari/morphe-ai/tree/main/.kiro/skills/patch-anatomy into .gemini/skills/patch-anatomy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "patch-anatomy", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Paresh-Maheshwari/morphe-ai patch-anatomyInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Paresh-Maheshwari/morphe-ai --skill patch-anatomy -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Paresh-Maheshwari/morphe-ai.git skills-src && mkdir -p .github/skills && cp -r skills-src/.kiro/skills/patch-anatomy .github/skills/patch-anatomy && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "patch-anatomy" agent skill from https://github.com/Paresh-Maheshwari/morphe-ai/tree/main/.kiro/skills/patch-anatomy into .github/skills/patch-anatomy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "patch-anatomy", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Paresh-Maheshwari/morphe-ai --skill patch-anatomy -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Paresh-Maheshwari/morphe-ai patch-anatomy --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Paresh-Maheshwari/morphe-ai.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.kiro/skills/patch-anatomy .opencode/skills/patch-anatomy && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "patch-anatomy" agent skill from https://github.com/Paresh-Maheshwari/morphe-ai/tree/main/.kiro/skills/patch-anatomy into .opencode/skills/patch-anatomy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "patch-anatomy", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
patch-anatomyHow to write Morphe patches — bytecodePatch DSL, compatibility, extensions, options, finalization.
Patch Anatomy is an agent skill from Paresh-Maheshwari/morphe-ai. How to write Morphe patches — bytecodePatch DSL, compatibility, extensions, options, finalization. Use when creating new patches or understanding patch structure.
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Morphe's AI-powered Android APK patching workspace — multi-agent pipeline for APK analysis, target hunting, patch writing & deployment. The licence is GPL-3.0.
Read from SKILL.md and the folder at commit 2d7fde2. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are kotlin and java).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Patch Anatomy loads about 2.4k tokens when it runs. Until then it costs about 44 tokens; SKILL.md has 357 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Paresh-Maheshwari/morphe-ai at commit 2d7fde2, republished under its GPL-3.0 licence (© Paresh-Maheshwari). 357 words, ~2,391 tokens.
.claude/skills/patch-anatomy/SKILL.md (or your agent's skills folder).When to use: Writing patches — bytecodePatch DSL, compatibility declarations, extensions, options, finalization. Keep patches minimal — put complex logic in extensions.
⚠️ Pinned source: morphe-patcher
6f189f9. Official docs may lag the source — the pinned source wins if anything contradicts this file.
| Type | Use When | Performance |
|---|---|---|
bytecodePatch | Modifying Dalvik bytecode | Fast — no resource decoding |
rawResourcePatch | Modifying raw files/assets | Medium |
resourcePatch | Modifying decoded XML | Slow — decodes all resources |
Always prefer bytecodePatch.
val COMPATIBILITY_XYZ = Compatibility(
packageName = "app.xyz.mobile",
name = "XYZ App",
apkFileType = ApkFileType.XAPK,
appIconColor = 0xFF3300, // 0xRRGGBB — six-digit hex, zero alpha byte
targets = listOf(
AppTarget(version = "2.0.0"),
AppTarget(version = "1.0.42"),
)
)
@Suppress("unused")
val disableAdsPatch = bytecodePatch(
name = "Disable ads",
description = "Disables ads in the app.",
default = true // omit or set false for universal patches (enforced by builder)
) {
compatibleWith(COMPATIBILITY_XYZ)
dependsOn(disableAdsResourcePatch)
extendWith("disable-ads.mpe") // ← extension artifact is .mpe, not .mpp
execute {
showAdsFingerprint.method.addInstructions(0, """
invoke-static {}, LDisableAdsPatch;->shouldDisableAds()Z
move-result v0
return v0
""")
}
finalize {
// Post-processing after all dependent patches execute
}
}addInstructions — Deprecation NoteaddInstructions(String) (no-index form) is deprecated. Always supply the index:
// ✅ Current
method.addInstructions(0, "const/4 v0, 0x1\nreturn v0")
// ❌ Deprecated — will be deleted
method.addInstructions("const/4 v0, 0x1\nreturn v0")val patch = bytecodePatch(name = "Configurable") {
val value by stringOption(name = "Color")
val custom by option<String>(name = "Custom option")
execute { println(value) }
}Options can be shared across patches:
val sharedOption = stringOption(name = "Shared")
bytecodePatch(name = "A") { val v by sharedOption() }
bytecodePatch(name = "B") { val v by sharedOption() }Extensions are precompiled DEX files (.mpe) merged into the patched app before patch execution.
public class ComplexPatch {
public static void doSomething() { /* complex logic */ }
}Referenced in patches:
val patch = bytecodePatch(name = "Complex") {
extendWith("complex-patch.mpe") // ← .mpe not .mpp
execute {
fingerprint.method.addInstructions(0, "invoke-static {}, LComplexPatch;->doSomething()V")
}
}extendWithAll — variable extension countWhen the set of extensions is not known until patch time (e.g., determined by a dependency):
extendWithAll(Supplier { listOf(stream1, stream2) })val patch = bytecodePatch(name = "Main") {
dependsOn(bytecodePatch(name = "Dep") {
execute { print("1") }
finalize { print("4") }
})
execute { print("2") }
finalize { print("3") }
}
// Output: 1234 (execute in dependency order, finalize in reverse)val COMPAT = Compatibility(
packageName = "com.example.app", // must match Android package name regex
name = "App Name", // required when packageName is non-null, must be non-blank
description = "Optional description.",
apkFileType = ApkFileType.XAPK, // see ApkFileType below
appIconColor = 0x6200EE, // 0xRRGGBB — alpha byte MUST be 0x00
signatures = setOf(
"a1b2c3...64hexchars" // SHA-256 from apksigner verify --print-certs, 64 hex chars
),
targets = listOf( // must be non-empty; newest first
AppTarget(version = "2.0.0", minSdk = 28, isExperimental = true),
AppTarget(version = "1.0.0", minSdk = 26),
)
)packageName + name go together — if packageName is set, name must also be non-blank.appIconColor is 0xRRGGBB (six-digit). The alpha byte must be 0x00 (zero) or the
constructor throws. E.g. 0x6200EE ✅, 0xFF6200EE ❌.signatures — each string must be exactly 64 hex characters (SHA-256).targets — must be non-empty. Use AppTarget(version = null) for "any version".targets throw IllegalArgumentException.including / excludingval COMPAT_PLUS = COMPAT.including(AppTarget(version = "3.0.0"))
val COMPAT_MINUS = COMPAT.excluding("1.0.0", "1.0.42")enum class ApkFileType {
APK, // single APK (recommended)
APK_REQUIRED, // single APK (required — other formats rejected)
APKM, // APKMirror bundle (recommended)
APKM_REQUIRED, // APKMirror bundle (required)
APKS, // bundletool APKS (recommended)
APKS_REQUIRED, // bundletool APKS (required)
XAPK, // APKPure XAPK (recommended)
XAPK_REQUIRED, // APKPure XAPK (required)
}Non-_REQUIRED variants are recommendations; _REQUIRED variants enforce the format.
data class AppTarget(
val version: String?, // null = any version
val versionCodes: Map<SupportedAbi, Int>? = null,
val isExperimental: Boolean = false,
val minSdk: Int? = null,
val description: String? = null,
)
enum class SupportedAbi { ARM64_V8A, ARMEABI_V7A, X86_64, X86 }versionCodes is only needed for apps that ship multiple releases per user-visible version
(e.g., Meta apps). Pass a single Int overload to use the same code for all ABIs:
AppTarget(version = "2.0.0", versionCode = 20000)
// expands to Map<SupportedAbi, Int> for all entriesDeclare how a patch behaves for a given install target (Manager / CLI evaluates before selection):
import app.morphe.patcher.patch.InstallerType // STANDARD, MOUNT, SHIZUKU
import app.morphe.patcher.patch.ApkArchitecture // ARM64_V8A, ARMEABI_V7A, X86_64, X86, UNIVERSAL
import app.morphe.patcher.patch.PatchAvailability // ENABLED, DISABLED, REQUIRED, UNAVAILABLE
import app.morphe.patcher.patch.AvailabilityResolver
val patch = bytecodePatch(name = "Root Only Feature") {
availability { installer, arch ->
if (installer == InstallerType.MOUNT) PatchAvailability.ENABLED
else PatchAvailability.UNAVAILABLE
}
execute { /* … */ }
}Patches without an availability block fall back to their default flag.
categoryOptional free-form group for UI display:
val patch = bytecodePatch(name = "Remove Banner Ads") {
category("Ads")
execute { /* … */ }
}default Flag WarningUniversal patches (no compatibleWith) with default = true are overridden to false with a
console warning at build time. Always set default = false for universal patches.
patches/src/main/kotlin/app/<group>/patches/
├── shared/ # Shared across all apps
├── <app>/
│ ├── shared/Constants.kt
│ └── <category>/
│ ├── Fingerprints.kt
│ └── SomePatch.kt
extensions/<name>/src/main/java/ # Extension code (produces .mpe)@Suppress("unused") on top-level patch valsimport app.morphe.patcher.Fingerprint
import app.morphe.patcher.string
import app.morphe.patcher.methodCall
import app.morphe.patcher.fieldAccess
import app.morphe.patcher.newInstance
import app.morphe.patcher.instanceOf
import app.morphe.patcher.checkCast
import app.morphe.patcher.opcode
import app.morphe.patcher.literal
import app.morphe.patcher.resourceLiteral
import app.morphe.patcher.anyInstruction
import app.morphe.patcher.extensions.InstructionExtensions.addInstruction
import app.morphe.patcher.extensions.InstructionExtensions.addInstructions
import app.morphe.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
import app.morphe.patcher.extensions.InstructionExtensions.getInstruction
import app.morphe.patcher.patch.bytecodePatch
import app.morphe.patcher.patch.rawResourcePatch
import app.morphe.patcher.patch.resourcePatch
import app.morphe.patcher.patch.ApkFileType
import app.morphe.patcher.patch.AppTarget
import app.morphe.patcher.patch.Compatibility
import app.morphe.patcher.patch.InstallerType
import app.morphe.patcher.patch.ApkArchitecture
import app.morphe.patcher.patch.PatchAvailability
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction© Paresh-Maheshwari, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .kiro/skills/patch-anatomy of Paresh-Maheshwari/morphe-ai.
Open the folder on GitHubat commit 2d7fde2
Patch Anatomy next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Patch Anatomy this skillParesh-Maheshwari/morphe-ai | 178 | — | ~2.4k | Automated safety check: Pass | GPL-3.0 | |
| Optionsasgeirtj/system_prompts_leaks | 69k | — | ~918 | Automated safety check: Pass | CC0-1.0 | |
| Browser Extension Buildersickn33/agentic-awesome-skills | 47k | 2 repos | ~2.3k | Automated safety check: Pass | MIT | |
| Browser Extension Launchsickn33/agentic-awesome-skills | 47k | 1 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Browser Extension Reversesickn33/agentic-awesome-skills | 47k | 1 repos | ~695 | Automated safety check: Pass | MIT | |
| Browser Extension Reversezhaoxuya520/reverse-skill | 41k | 2 repos | ~366 | Automated safety check: Pass | MIT |
asgeirtj/system_prompts_leaks
Present multiple design options as a vertical stack of anchored turns
sickn33/agentic-awesome-skills
Expert in building browser extensions that solve real problems - Chrome, Firefox, and cross-browser extensions.
sickn33/agentic-awesome-skills
Builds, tests, packages, and prepares Chrome extensions for store launch from a plain-language idea; use for new extensions, fixes, releases, and submission recovery.
sickn33/agentic-awesome-skills
Authorized reverse engineering of Chrome/Firefox extensions: manifest analysis, background workers, content scripts, and extension-based credential or data-exposure research.
zhaoxuya520/reverse-skill
A skill your agent uses for authorized reverse engineering of browser extensions (Chrome/Firefox) including manifest analysis, background workers, and extension-based credential or traffic logic…
davila7/claude-code-templates
Expert in building browser extensions that solve real problems - Chrome, Firefox, and cross-browser extensions.
Paresh-Maheshwari/morphe-ai
Build, test, deploy, and troubleshoot Morphe patches — gradle commands, CLI usage, git workflow, common errors and fixes.
Paresh-Maheshwari/morphe-ai
Complete Morphe development environment setup — prerequisites, cloning repos, gradle auth, IDE config, build commands.
Paresh-Maheshwari/morphe-ai
Complete guide to Morphe fingerprinting — how to identify obfuscated methods using stable characteristics.
Paresh-Maheshwari/morphe-ai
Morphe CLI v1.17.0 (morphe-desktop) complete command reference — patch, list-patches, list-versions, options-create, utility install/uninstall.
Paresh-Maheshwari/morphe-ai
Morphe FAQ, current pinned official app targets, and app-specific notes.
Paresh-Maheshwari/morphe-ai
Complete reference for all Morphe utility libraries — BytecodeUtils, ResourceUtils, FreeRegisterProvider, Settings, UI, Extensions.
How to write Morphe patches — bytecodePatch DSL, compatibility, extensions, options, finalization. Patch Anatomy is an agent skill from Paresh-Maheshwari/morphe-ai. How to write Morphe patches — bytecodePatch DSL, compatibility, extensions, options, finalization.
Patch Anatomy fits situations like: creating new patches; understanding patch structure.
Run `npx skills add Paresh-Maheshwari/morphe-ai --skill patch-anatomy -a claude-code`. Or copy the skill folder (.kiro/skills/patch-anatomy in Paresh-Maheshwari/morphe-ai) into .claude/skills/patch-anatomy in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Paresh-Maheshwari/morphe-ai --skill patch-anatomy -a codex`. Or copy the skill folder (.kiro/skills/patch-anatomy in Paresh-Maheshwari/morphe-ai) into .agents/skills/patch-anatomy in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Paresh-Maheshwari/morphe-ai --skill patch-anatomy -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/patch-anatomy, .gemini/skills/patch-anatomy, .github/skills/patch-anatomy and .opencode/skills/patch-anatomy in your project.
SKILL.md names no scripts, command-line tools or credentials: Patch Anatomy is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Patch Anatomy is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Patch Anatomy: Options (asgeirtj/system_prompts_leaks, 69k stars), Browser Extension Builder (sickn33/agentic-awesome-skills, 47k stars), Browser Extension Launch (sickn33/agentic-awesome-skills, 47k stars) and Browser Extension Reverse (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Paresh-Maheshwari (a GitHub user) maintains it in Paresh-Maheshwari/morphe-ai, which has 178 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on September 29, 2026.
Source: Paresh-Maheshwari/morphe-ai on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.