One portable skill for recreating selected macOS app experiences in Claude Code and Codex.
Invoke it, name the original, describe the features and changes you want, and let your current agent research, build, launch, compare, repair, and package the app. Near-identical visual and behavioral fidelity is the default target.
The skill actively investigates existing subscriptions for AI features inside generated apps, through supported official integrations. It distinguishes those entitlements from ordinary API access, checks privacy and modality compatibility, and never silently enables paid fallbacks.
Requires Python 3.10 or later. Clone the repository and install:
git clone https://github.com/jappabl/clone-app.git
cd clone-app
python3 install.py --host both
If you downloaded a ZIP, extract it and run the installer from that folder.
Or select --host codex / --host claude. Installation preserves different existing files and refuses to overwrite them. Codex is installed under ~/.agents/skills/clone-app; Claude Code under ~/.claude/skills/clone-app. Open a fresh host session if it has not discovered the new skill.
Manual install: copy skills/clone-app into your host's supported skills directory. Other Agent Skills-compatible hosts can use the same folder; map their actual available tools and permissions.
In Claude Code:
/clone-app
In Codex:
$clone-app
Example request:
Recreate Granola's meeting detection, transcription, AI notes and history. Match its selected workflows and interface as closely as possible. Use my existing subscriptions for AI where supported; exclude team features.
Only missing intent gets asked. The skill handles architecture choices. If privacy, cost, or reference access makes a requested combination impossible, it asks for the material decision while continuing independent work.
The default delivery is a built .app with an original icon, a stable local location and a tested double-click launch path. Ordinary local Mac apps use local signing without a paid Apple developer account. The agent handles packaging and verification; you should not need to configure signing in Xcode or keep a development server running. Capabilities requiring provisioning and public notarized distribution are separate cases.
The skill continues through research, implementation, testing and repairs without asking whether to proceed at each milestone. Required host permissions, OS authentication and material scope/cost/privacy decisions can still require you. It preserves progress through interruptions and resumes from the next unfinished check.
- A shared skill entrypoint and focused references.
- Reference probes that distinguish plausible behaviors, with replayable action sequences and restart checks.
- Early app capture and repair, plus an offline PNG/JPEG comparison report with original bytes, dimensions, and hashes.
- Subscription-backed runtime AI integration guidance.
- macOS build, hardware, permission, and release procedures.
- Account-free local delivery, original app-icon packaging, and verification from the intended install location.
- Standard-library environment, checkpoint, and real-command verification helpers.
- Durable, revisioned acceptance evidence with source and artifact freshness checks.
- A safe installer and regression tests.
The helper scripts are portable across Python environments. Native Mac builds need macOS and a suitable compiler/SDK; full Xcode is needed for Xcode-specific builds and tests. Provider access and UI tools depend on the selected host.
The skill chooses the implementation stack to match the original app. SwiftUI with AppKit is the suggested starting point for native Mac behavior. Electron or another suitable stack can be used for custom interfaces when that produces a closer match. Architecture is an implementation decision; selected workflows, appearance, and behavior are the acceptance criteria.
This package is an engineering workflow, not a guarantee that every app can be reproduced. Unknown reference behavior, unavailable services, rights restrictions, hardware, model quality, and host tools can constrain fidelity.
A skill cannot wake a stopped host or sleeping Mac by itself. It checkpoints and resumes when invoked again; automatic continuation uses supported host features only when available and authorized.
The release gate validates recorded evidence and freshness. It cannot prove an observation is truthful or a test is sufficient. Final .app artifacts must be attached to packaging evidence. A source change invalidates earlier results.
Existing subscriptions are preferred where supported, not assumed to be unlimited or interchangeable with API keys. Hosted subscription inference sends content to the provider and cannot satisfy a strict on-device-only content requirement.
python3 -m unittest discover -s tests -v
See docs/VALIDATION.md for the actual tested scope and host limitations. Test-generated fixture bundles are not real compiled apps. The package's instruction quality and broad app fidelity require continued real-world evaluation.
The published comparison experiments retain ties, a native visual loss and an interrupted comparison, with frozen inputs and reproducible implementations. They do not establish a general advantage over ordinary Codex.