What's inside
FAQ
ai-mime is a Claude Code plugin with hand-picked skills for automation work, indexed on Flowy. Install it with the command on its page. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Repo: prakhar1114/ai_mime
Record a task once. Run it forever.
AI Mime is an automation harness. Screen record yourself doing any repetitive task. An agent watches, learns to do it end-to-end, then compiles it into a fast, deterministic script — plain code for the repeatable parts, an LLM only at the genuine decision points, and computer-use only for surfaces that can't be automated any other way. The task context is captured into a portable Claude Skill so every future run is fast, cheap, and repeatable.
AI Mime also runs your skills. Provide new inputs and run. When the environment shifts and a run breaks, the agent self-heals the script to the new environment instead of leaving you with a failed rerun.
See it in action · Examples · Install · Quick Demo Flow · How it works · Developer guide
The fast path for cloning, configuring, and running AI Mime locally.
>= 3.12, < 3.13user_config.yml.git clone --recurse-submodules https://github.com/prakhar1114/ai_mime
cd ai_mime
uv venv .venv
source .venv/bin/activate
uv pip install -e .
# Required for browser automation skills.
uv tool install --python .venv/bin/python --with-editable packages/llm-resolver harness/browser-harness
Prefer not to build from source? Grab the prebuilt Desktop App.
You do not need to manually create .env or user_config.yml for the normal setup path.
On first launch, the native onboarding wizard guides you through:
[!IMPORTANT] Browser Remote Debugging Requirement (macOS & Windows): Before running browser automations, open
chrome://inspect/#remote-debuggingin your Chrome/Chromium browser and enable remote debugging. Automations will not work without this setting enabled.
You can update provider settings later from the dashboard.
Start the app:
source .venv/bin/activate
start_app
Then use the menu bar app or dashboard:
workflows/<id>/skills/<slug>/.workflows/ directory.| Path | What it contains |
|---|---|
recordings/<id>/manifest.jsonl | Raw captured event stream: screenshots, clicks, typing, hotkeys, extracts, and notes. |
workflows/<id>/schema.json | Coordinate-free semantic workflow generated from the recording. |
workflows/<id>/optimized_plan.json | Executor plan that chooses script, browser_harness, or ui_agent steps. |
workflows/<id>/skills/<slug>/ | Claude Skill-compatible portable package with run.sh, scripts/run.py, inputs, and fallback references. |
workflows/<id>/runs/ | Per-run logs, outputs, copied assets, and replay summaries. |
A packaged desktop app with no source build step is available for macOS.
After downloading, drag the app to Applications and grant the requested permissions on launch.
AI Mime is for work that is easier to show than to describe:
It is not the right fit yet for open-ended research, creative generation, fully autonomous decisions, or scheduled cron-style jobs.
graph LR
A["1. Record<br/>screens + actions"] --> B["2. Reflect<br/>semantic workflow"]
B --> C["3. Optimize<br/>executor plan"]
C --> D["4. Build Skill<br/>portable package"]
D --> E["5. Run / Heal<br/>execute, recover, patch"]
recordings/<id>/.schema.json with task parameters, subtasks, and coordinate-free steps.optimized_plan.json, preferring deterministic script steps, then browser_harness, then ui_agent for true GUI-only work.run.sh, scripts/run.py, input templates, and references/fallback_plan.md.Because the generated package is executable and readable, you can also expose the skill directory to Claude Code or Codex and let terminal agents call the automation directly.
Every repetitive task you do on a screen is programming you are doing by hand. Existing automation tools usually force you into a different grammar:
AI Mime uses a deterministic-first, agent-on-fallback hybrid: scripts for the repeatable spine, LLM calls for bounded judgment, browser harnesses for web automation, and native computer-use only where the task genuinely needs it.
Great at
Not for yet
Rule of thumb: redundant in, creative out. If you would do it the same way every time, it belongs here. Judgment stays with you.
AI Mime is the single-operator core of a larger executable playbook layer for teams.
Stars help others find the project - and let us know it's worth building.
Found a broken run? Open an issue with logs and reproduction details.
.gitignore
.gitmodules
.python-version
AppIcon.appiconset/
Contents.json
icon_128_1x.png
icon_128_2x.png
icon_16_1x.png
icon_16_2x.png
icon_256_1x.png
icon_256_2x.png
icon_32_1x.png
icon_32_2x.png
icon_512_1x.png
icon_512_2x.png
AppIcon.icns
docs/
.nojekyll
architecture.md
CNAME
developer-guide.md
examples.html
images/
run-form.png
site/
run-form-1000.webp
run-form-1500.webp
skill-build-1000.webp
skill-build-1500.webp
start-recording-440.webp
task-recovery-1000.webp
task-recovery-1500.webp
tasks-dashboard-1200.webp
tasks-dashboard-1800.webp
skill-build.png
start-recording.png
task-recovery.png
tasks-dashboard.png
index.html
landing.css
logo/
icon1000.png
icon128.png
icon256.png
icon32.png
icon60.png
manifest.jsonl
reflect_design.md
replay_design.md
schema.json
screenshot_event_design.md
harness/
hooks/
hook-ai_mime.py
LICENSE
packages/
llm-resolver/
pyproject.toml
src/
llm_resolver/
__init__.py
claude_fallback.py
client.py
codex.py
config.py
runtime.py
pyproject.toml
README.md
scratch_kriti.json
scripts/
_create_icns.py
build.sh
create_icns.sh
entitlements.plist
pyinstaller.spec
src/
ai_mime/
__init__.py
agent_runner/
__init__.py
adapters/
__init__.py
base.py
claude_sdk.py
codex_cli.py
registry.py
base_chat.py
bash_safety.py
chat.py
computer_use.py
instructions/
build_skill/
00_direct_build.md
00_rules.md
01_phase_a_confirm_inputs.md
02_phase_b_execute_steps.md
03_phase_c_synthesis.md
04_phase_d_packaging.md
credentials.md
example_skill/
inputs/
inputs.example.json
inputs.template.json
references/
fallback_plan.md
requirements.txt
run.sh
scripts/
run.py
SKILL.md
replay/
00_rules.md
ui_agent/
00_ui_agent.md
mcp.py
models.py
runner.py
skill_build_chat.py
app_data.py
app.py
cli.py
codex_support.py
computer_server_custom.py
credentials_store.py
debug_log.py
editor/
__init__.py
mcp_installer.py
server.py
web/
agent.css
agent.html
agent.js
icon_128.png
icon_16.png
icon_256.png
icon_32.png
marketplace.css
marketplace.html
marketplace.js
reflect.html
reflect.js
replay.css
replay.html
replay.js
skill_build.css
skill_build.html
skill_build.js
tasks.css
tasks.html
tasks.js
mcp_server.py
memory/
__init__.py
store.py
onboarding.py
overlay/
__init__.py
automation_overlay_html.py
conversation_overlay.py
overlay_html.py
ui_common.py
permissions.py
provider_settings.py
record/
__init__.py
audio.py
capture.py
overlay_ui.py
recorder_process.py
storage.py
reflect/
__init__.py
runner.py
schema_compiler.py
schema_utils.py
workflow.py
screenshot.py
skill_links.py
user_config.py
tests/
test_agent_runner.py
test_agent_ui_static.py
test_app_data.py
test_cli.py
test_computer_server_custom.py
test_llm_resolver.py
test_memory_api.py
test_memory.py
test_onboarding.py
test_packaging.py
test_pass_c_optimizer.py
test_replay_ui_static.py
test_skill_build_chat.py
test_skill_run_stream.py
test_task_dashboard.py
user_config.yml
uv.lock© 2026 Flowy · Free and open source
Built for Claude Code · Not affiliated with Anthropic