Setup Mulmoclaude
receptron/mulmoclaude
Interactively guide MulmoClaude setup following README instructions.
A skill your agent uses to record or convert ApkAnalyzer app flows into screenshots or GIFs for the README or product docs.
$ npx skills add MartinStyk/apk-analyzer --skill capture-app-flow-media -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install MartinStyk/apk-analyzer capture-app-flow-media --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/MartinStyk/apk-analyzer.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/capture-app-flow-media .claude/skills/capture-app-flow-media && 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 "capture-app-flow-media" agent skill from https://github.com/MartinStyk/apk-analyzer/tree/develop/.claude/skills/capture-app-flow-media into .claude/skills/capture-app-flow-media/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "capture-app-flow-media", 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/MartinStyk/apk-analyzer/tree/develop/.claude/skills/capture-app-flow-mediaType 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 MartinStyk/apk-analyzer --skill capture-app-flow-media -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install MartinStyk/apk-analyzer capture-app-flow-media --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MartinStyk/apk-analyzer.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/capture-app-flow-media .agents/skills/capture-app-flow-media && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "capture-app-flow-media" agent skill from https://github.com/MartinStyk/apk-analyzer/tree/develop/.claude/skills/capture-app-flow-media into .agents/skills/capture-app-flow-media/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "capture-app-flow-media", 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 MartinStyk/apk-analyzer --skill capture-app-flow-media -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install MartinStyk/apk-analyzer capture-app-flow-media --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MartinStyk/apk-analyzer.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/capture-app-flow-media .cursor/skills/capture-app-flow-media && 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 "capture-app-flow-media" agent skill from https://github.com/MartinStyk/apk-analyzer/tree/develop/.claude/skills/capture-app-flow-media into .cursor/skills/capture-app-flow-media/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "capture-app-flow-media", 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/MartinStyk/apk-analyzer.git --path .claude/skills/capture-app-flow-media--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 MartinStyk/apk-analyzer --skill capture-app-flow-media -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install MartinStyk/apk-analyzer capture-app-flow-media --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MartinStyk/apk-analyzer.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/capture-app-flow-media .gemini/skills/capture-app-flow-media && 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 "capture-app-flow-media" agent skill from https://github.com/MartinStyk/apk-analyzer/tree/develop/.claude/skills/capture-app-flow-media into .gemini/skills/capture-app-flow-media/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "capture-app-flow-media", 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 MartinStyk/apk-analyzer capture-app-flow-mediaInstalls 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 MartinStyk/apk-analyzer --skill capture-app-flow-media -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/MartinStyk/apk-analyzer.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/capture-app-flow-media .github/skills/capture-app-flow-media && 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 "capture-app-flow-media" agent skill from https://github.com/MartinStyk/apk-analyzer/tree/develop/.claude/skills/capture-app-flow-media into .github/skills/capture-app-flow-media/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "capture-app-flow-media", 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 MartinStyk/apk-analyzer --skill capture-app-flow-media -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install MartinStyk/apk-analyzer capture-app-flow-media --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MartinStyk/apk-analyzer.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/capture-app-flow-media .opencode/skills/capture-app-flow-media && 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 "capture-app-flow-media" agent skill from https://github.com/MartinStyk/apk-analyzer/tree/develop/.claude/skills/capture-app-flow-media into .opencode/skills/capture-app-flow-media/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "capture-app-flow-media", 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.
capture-app-flow-mediaA skill your agent uses to record or convert ApkAnalyzer app flows into screenshots or GIFs for the README or product docs.
Capture App Flow Media is an agent skill from MartinStyk/apk-analyzer. Use to record or convert ApkAnalyzer app flows into screenshots or GIFs for the README or product docs. Triggered by phrases like "add screenshots", "convert videos to gifs", "record a gif of this flow", "capture app screenshots", "update the README screenshots", "make a demo gif".
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Media & Creative, covering Technical documentation. It works with FFmpeg. The repository describes itself as: The most downloaded APK analysis app on Google Play. Detailed reports of every app on your device. No root, no ads, nothing leaves the phone. The licence is GPL-3.0.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d807559. 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.
Shell commands in SKILL.md call:
adbffmpegwingetFrom 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.
Capture App Flow Media loads about 1.7k tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 787 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 MartinStyk/apk-analyzer at commit d807559, republished under its GPL-3.0 licence (© MartinStyk). 787 words, ~1,691 tokens.
.claude/skills/capture-app-flow-media/SKILL.md (or your agent's skills folder).Produces README-ready screenshots or GIFs of real app flows, either from existing MP4 recordings or
from a connected device driven headlessly via adb — no human tapping through the phone. Builds on
the run-app and navigate-app-adb skills; read those first if the app isn't already installed and
running.
Don't improvise taps against a live recording — look up the exact on-screen strings first so the
navigate-app-adb dump→locate→tap loop finds them on the first try instead of burning device time on
trial and error:
grep -n 'string name=".*"' feature/<module>/impl/src/main/res/values/strings.xmlWrite out the flow as a numbered list of screens and taps (starting point → each tap → end state) before recording anything. A flow that wanders is worse than a shorter, deliberate one — one clear interaction per recording beats a long tour.
adb: often not on PATH — see the run-app skill's Step 1 ($env:ANDROID_HOME\platform-tools\adb.exe).ffmpeg: check Get-Command ffmpeg. If missing, install with
winget install --id Gyan.FFmpeg -e --accept-package-agreements --accept-source-agreements — ask
first, since installing software is a system change. The current shell won't pick up the new PATH
entry; find the binary directly under
$env:LOCALAPPDATA\Microsoft\WinGet\Packages\Gyan.FFmpeg_Microsoft.Winget.Source_8wekyb3d8bbwe\ffmpeg-*\bin\ffmpeg.exe
and call it by full path for the rest of the session.adb shell screenrecord blocks the adb client until it stops, so run it as a background/async shell
call, perform the scripted taps while it records, then let it finish or stop it early:
adb -s <serial> shell screenrecord --time-limit 15 --bit-rate 8000000 /sdcard/flow.mp4 # run in background
# ... perform the scripted taps/scrolls against the running recording ...
adb -s <serial> pull /sdcard/flow.mp4 <scratchpad>/flow.mp4
adb -s <serial> shell rm /sdcard/flow.mp4ffmpeg -ss 00:00:0X) rather than padding the gif with a dead opening.file '<path>' per line) and
run ffmpeg -f concat -safe 0 -i list.txt -c copy combined.mp4. Prioritize each sub-screen being on
screen long enough to read over cramming everything into one fast take.adb from PowerShell on Windows, not the Bash tool (Git Bash rewrites /sdcard/... paths) —
see the navigate-app-adb skill's Windows gotchas. This doesn't apply to screenrecord/pull
themselves (binary files pulled by the adb tool, not piped through shell redirection), but does
apply to any uiautomator dump / screencap calls used to locate taps along the way.Two-pass palette generation gives much better quality than a naive single-pass conversion at a given file size:
ffmpeg -y -i flow.mp4 -vf "fps=24,scale=360:-1:flags=lanczos,palettegen" palette.png
ffmpeg -y -i flow.mp4 -i palette.png -filter_complex "fps=24,scale=360:-1:flags=lanczos[x];[x][1:v]paletteuse" out.gifFor existing recordings, use the source MP4 directly and name the output after the flow:
$ffmpeg = (Get-Command ffmpeg).Source
$palette = "$env:TEMP\browse-apps-palette.png"
& $ffmpeg -y -i "$env:USERPROFILE\Desktop\browse-apps.mp4" -vf "fps=24,scale=360:-1:flags=lanczos,palettegen" $palette
& $ffmpeg -y -i "$env:USERPROFILE\Desktop\browse-apps.mp4" -i $palette -filter_complex "fps=24,scale=360:-1:flags=lanczos[x];[x][1:v]paletteuse" "docs/github/browse-apps.gif"The current README demo recordings map to these assets:
| Source recording | README asset |
|---|---|
Desktop\browse-apps.mp4 | docs/github/browse-apps.gif |
Desktop\filter-apps.mp4 | docs/github/filter-apps.gif |
Desktop\app-details.mp4 | docs/github/app-details.gif |
Target 360px width and 24fps. Keep files reasonably small, but don't sacrifice legibility of on-screen text to hit an arbitrary size target — a longer flow covering several screens legitimately runs larger than a single-interaction one.
docs/github/<kebab-case-flow-name>.gif (create the directory if it doesn't exist
yet — it's assets only, not a module, so it needs no AGENTS.md).## Screenshots section (with a matching Table of Contents entry) using
HTML-in-markdown <img>/<table> markup consistent with the header block's existing style. Update
it in place rather than reinventing the layout — a 2-per-row <table> reads better than a single
wide row once there are more than 2-3 images.alt text describing the flow, and a short caption underneath./sdcard for the flow (e.g. an APK copied into
Download/ to pick from a file picker) — adb shell rm.window_dump.xml — a uiautomator dump run from the wrong shell
can leave one behind (see the navigate-app-adb skill's Windows gotcha) even when driven correctly
most of the time; delete it if present.AGENTS.md
commit-authorship rule and the general "don't commit unless asked" convention.spotlessApply, detektDebug, or other Gradle verification — this is a markdown/asset
change, not code.This is a long, tool-noisy loop (many uiautomator dumps, recordings, ffmpeg passes) that produces
little the coordinating conversation needs to keep in its own context beyond the final file list and
README diff. If you're an agent capable of forking or spawning a sub-task for this, that's a good fit
— hand the sub-task the exact scripted flow from step 1, the tool paths from step 2, and steps 3-6
verbatim, and ask it to report back only the final summary (files produced, sizes, deviations from the
script, README confirmation).
© MartinStyk, 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 .claude/skills/capture-app-flow-media of MartinStyk/apk-analyzer.
Open the folder on GitHubat commit d807559
Capture App Flow Media 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 |
|---|---|---|---|---|---|---|
| Capture App Flow Media this skillMartinStyk/apk-analyzer | 370 | — | ~1.7k | Automated safety check: Pass | GPL-3.0 | |
| Setup Mulmoclaudereceptron/mulmoclaude | 371 | — | ~1k | Automated safety check: Notes | MIT | |
| Visual Explainernicobailon/visual-explainer | 10k | — | ~3.3k | Automated safety check: Pass | MIT | |
| Orchardcore Video ProducerOrchardCMS/OrchardCore | 8.2k | — | ~2k | Automated safety check: Pass | BSD-3-Clause | |
| OpenStoryline Install HelperFireRedTeam/FireRed-OpenStoryline | 3.5k | — | ~1.5k | Automated safety check: Notes | Apache-2.0 | |
| Pull Request Explainer Videoheygen-com/hyperframes | 60k | 2 repos | ~8.4k | Automated safety check: Notes | Apache-2.0 |
receptron/mulmoclaude
Interactively guide MulmoClaude setup following README instructions.
nicobailon/visual-explainer
Turns systems, code changes, plans and data into self-contained HTML pages where figures carry the explanation, with options for slide decks and narrated MP4 videos.
OrchardCMS/OrchardCore
Produces narrated Orchard Core videos (feature walkthroughs, module overviews, pull request demos) with one unified look and specification - 1080p, Orchard Core logo, colors and fonts, the same…
FireRedTeam/FireRed-OpenStoryline
Installs, repairs and starts a local source checkout of FireRed-OpenStoryline, from prerequisites and a venv to resources, config and the MCP and web servers.
heygen-com/hyperframes
Turns a GitHub pull request into a code-change explainer video built from its diff, commits and files, rendered with HyperFrames.
hassancs91/claude-faceless-shorts-creator
Builds a roughly 40-second vertical short end to end from a topic, scripting beats, rendering TSX compositions and layering voice and captions.
MartinStyk/apk-analyzer
A skill your agent uses to review production Crashlytics crashes and non-fatals for the latest release and file a GitHub issue for each one that isn't tracked yet.
MartinStyk/apk-analyzer
A skill your agent uses to check GitHub Actions build status or diagnose why a workflow run failed and propose a fix.
MartinStyk/apk-analyzer
A skill your agent uses when creating a new reusable Compose UI component that should live in core:ui-library.
MartinStyk/apk-analyzer
A skill your agent uses when creating a new core or shared library module for domain logic, data access, repositories, managers, or utilities.
MartinStyk/apk-analyzer
A skill your agent uses when creating a new feature module, screen, or feature area.
MartinStyk/apk-analyzer
A skill your agent uses to fix a specific production crash or non-fatal — pulling its Crashlytics data, finding the linked GitHub issue, root-causing it, reproducing it, fixing it, and verifying the…
Works with
Categories
A skill your agent uses to record or convert ApkAnalyzer app flows into screenshots or GIFs for the README or product docs. Capture App Flow Media is an agent skill from MartinStyk/apk-analyzer. Use to record or convert ApkAnalyzer app flows into screenshots or GIFs for the README or product docs.
Capture App Flow Media fits situations like: convert ApkAnalyzer app flows into screenshots; GIFs for the README.
Run `npx skills add MartinStyk/apk-analyzer --skill capture-app-flow-media -a claude-code`. Or copy the skill folder (.claude/skills/capture-app-flow-media in MartinStyk/apk-analyzer) into .claude/skills/capture-app-flow-media in your project. Claude Code loads it when a task matches its description.
Run `npx skills add MartinStyk/apk-analyzer --skill capture-app-flow-media -a codex`. Or copy the skill folder (.claude/skills/capture-app-flow-media in MartinStyk/apk-analyzer) into .agents/skills/capture-app-flow-media 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 MartinStyk/apk-analyzer --skill capture-app-flow-media -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/capture-app-flow-media, .gemini/skills/capture-app-flow-media, .github/skills/capture-app-flow-media and .opencode/skills/capture-app-flow-media in your project.
Going by SKILL.md and its folder, Capture App Flow Media needs the command-line tools its instructions call (adb, ffmpeg and winget).
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.
Capture App Flow Media 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 1.7k tokens (SKILL.md is roughly 6.8k 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 Capture App Flow Media: Setup Mulmoclaude (receptron/mulmoclaude, 371 stars), Visual Explainer (nicobailon/visual-explainer, 10k stars), Orchardcore Video Producer (OrchardCMS/OrchardCore, 8.2k stars) and OpenStoryline Install Helper (FireRedTeam/FireRed-OpenStoryline, 3.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
MartinStyk (a GitHub user) maintains it in MartinStyk/apk-analyzer, which has 370 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on October 5, 2026.
Source: MartinStyk/apk-analyzer on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.