mobile-demo-record
Skill16k starsChanged 12 days agoMITView on GitHub
Run apps/mobile on the iOS simulator against the local stack, drive it with Maestro, and capture clean screen recordings. Use when asked to record, film, screenshot, or demo the mobile app, or to verify a mobile change in the real app.
- Reads credentials
1 other project uses a version of this; 1 new project in the last 4 weeks, against 0 the 4 before.
Adopted by
Surging: 1 new project took it in the last 4 weeks, none the 4 weeks before.thin data
Most recently taken up by
- superset-sh/supersetword for word, first seen Nov 2, 2026
Who's talking about ParadevAI/Paradev
- Alex Hitt“Paradev GitHub Explained: Parallel AI Workspaces, Worktrees, Ports, and Security Tradeoffs”YouTube · Oct 29, 2026 · 432 views
- benjamincanac/whichcodingtools“[Outdated] superset was renamed to Paradev”GitHub · Nov 4, 2026 · 1 reactions
- @github-trending-js.bsky.social“📦 ParadevAI / Paradev ⭐ 15,665 (+53) 🗒 TypeScript Paradev (formerly Superset) is an agentic IDE to …”Bluesky · Oct 28, 2026 · 1 likes
- sudosubin/agents.nix“claude-code-marketplaces.github.paradevai.paradev: 0-unstable-2026-11-10 → 0-unstable-2026-11-11”GitHub · Nov 11, 2026
- sudosubin/agents.nix“agent-skills.github.paradevai.paradev: bdd0a5b → 45118b8”GitHub · Nov 10, 2026
The biggest 5 of 64 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 64
Talked about on GitHub, the web, Bluesky and YouTube (64 times).
On GitHub · 50
- Nov 4, 2026[Outdated] superset was renamed to Paradev — benjamincanac/whichcodingtools1 reaction · 1 comment
- Nov 11, 2026claude-code-marketplaces.github.paradevai.paradev: 0-unstable-2026-11-10 → 0-unstable-2026-11-11 — sudosubin/agents.nix0 reactions
- Nov 10, 2026agent-skills.github.paradevai.paradev: bdd0a5b → 45118b8 — sudosubin/agents.nix0 reactions
- Nov 10, 2026claude-code-marketplaces.github.paradevai.paradev: d456e51 → d11a91f — sudosubin/agents.nix0 reactions
- Nov 10, 2026claude-code-marketplaces.github.paradevai.paradev: bdd0a5b → d456e51 — sudosubin/agents.nix0 reactions
45 more on GitHub
- Nov 10, 2026claude-code-marketplaces.github.paradevai.paradev: 0-unstable-2026-11-09 → 0-unstable-2026-11-10 — sudosubin/agents.nix0 reactions
- Nov 10, 2026agent-skills.github.paradevai.paradev: 0-unstable-2026-11-09 → 0-unstable-2026-11-10 — sudosubin/agents.nix0 reactions
- Nov 9, 2026claude-code-marketplaces.github.paradevai.paradev: a865880 → cedc22d — sudosubin/agents.nix0 reactions
- Nov 9, 2026agent-skills.github.paradevai.paradev: b5b6302 → 88b6412 — sudosubin/agents.nix0 reactions
- Nov 9, 2026claude-code-marketplaces.github.paradevai.paradev: e847be5 → a865880 — sudosubin/agents.nix0 reactions
- Nov 9, 2026agent-plugins.github.paradevai.paradev: 0-unstable-2026-11-03 → 0-unstable-2026-11-09 — sudosubin/agents.nix0 reactions
- Nov 9, 2026claude-code-plugins.github.paradevai.paradev: 0-unstable-2026-11-03 → 0-unstable-2026-11-09 — sudosubin/agents.nix0 reactions
- Nov 9, 2026agent-skills.github.paradevai.paradev: 0-unstable-2026-11-08 → 0-unstable-2026-11-09 — sudosubin/agents.nix0 reactions
- Nov 9, 2026claude-code-marketplaces.github.paradevai.paradev: 0-unstable-2026-11-08 → 0-unstable-2026-11-09 — sudosubin/agents.nix0 reactions
- Nov 8, 2026agent-skills.github.paradevai.paradev: b77bc04 → 041c296 — sudosubin/agents.nix0 reactions
- Nov 8, 2026claude-code-marketplaces.github.paradevai.paradev: b77bc04 → 106428f — sudosubin/agents.nix0 reactions
- Nov 8, 2026agent-skills.github.paradevai.paradev: 5aa1cf3 → b77bc04 — sudosubin/agents.nix0 reactions
- Nov 8, 2026claude-code-marketplaces.github.paradevai.paradev: 61645f4 → b77bc04 — sudosubin/agents.nix0 reactions
- Nov 8, 2026claude-code-marketplaces.github.paradevai.paradev: 0-unstable-2026-11-07 → 0-unstable-2026-11-08 — sudosubin/agents.nix0 reactions
- Nov 8, 2026agent-skills.github.paradevai.paradev: 0-unstable-2026-11-07 → 0-unstable-2026-11-08 — sudosubin/agents.nix0 reactions
- Nov 7, 2026agent-skills.github.paradevai.paradev: 0-unstable-2026-11-06 → 0-unstable-2026-11-07 — sudosubin/agents.nix0 reactions
- Nov 7, 2026claude-code-marketplaces.github.paradevai.paradev: 0-unstable-2026-11-06 → 0-unstable-2026-11-07 — sudosubin/agents.nix0 reactions
- Nov 7, 2026🔍 CLI Discovery: 2026-11-07 — 7 candidates found — RealZST/harnesskit-resources0 reactions
- Nov 7, 2026Import sessions and worktrees from Conductor, Claude Code and Codex (Paradev, Ace) — alexec/Agents0 reactions · 5 comments
- Nov 7, 2026claude-code-marketplaces.github.paradevai.paradev: 9c6f098 → 19db630 — sudosubin/agents.nix0 reactions
- Nov 6, 2026agent-skills.github.paradevai.paradev: 9c6f098 → 19db630 — sudosubin/agents.nix0 reactions
- Nov 6, 2026agent-skills.github.paradevai.paradev: 53f1ac1 → 9c6f098 — sudosubin/agents.nix0 reactions
- Nov 6, 2026claude-code-marketplaces.github.paradevai.paradev: 08cb35c → 9c6f098 — sudosubin/agents.nix0 reactions
- Nov 6, 2026agent-skills.github.paradevai.paradev: 0-unstable-2026-11-05 → 0-unstable-2026-11-06 — sudosubin/agents.nix0 reactions
- Nov 6, 2026claude-code-marketplaces.github.paradevai.paradev: 0-unstable-2026-11-05 → 0-unstable-2026-11-06 — sudosubin/agents.nix0 reactions
- Nov 6, 2026agent-skills.github.paradevai.paradev: bcc2455 → 533cf1c — sudosubin/agents.nix0 reactions
- Nov 5, 2026agent-skills.github.paradevai.paradev: 3b5472d → bcc2455 — sudosubin/agents.nix0 reactions
- Nov 5, 2026Update Superset as an open-source alternative to Conductor: renamed to Paradev, now MIT — junaid33/opensource.builders0 reactions
- Nov 5, 2026claude-code-marketplaces.github.paradevai.paradev: 0cbf9fb → bcc2455 — sudosubin/agents.nix0 reactions
- Nov 5, 2026agent-skills.github.paradevai.paradev: 0-unstable-2026-11-04 → 0-unstable-2026-11-05 — sudosubin/agents.nix0 reactions
- Nov 5, 2026claude-code-marketplaces.github.paradevai.paradev: 0-unstable-2026-11-04 → 0-unstable-2026-11-05 — sudosubin/agents.nix0 reactions
- Nov 4, 2026agent-skills.github.paradevai.paradev: 4cc2e79 → 45e426e — sudosubin/agents.nix0 reactions
- Nov 4, 2026data(superset): rename to Paradev, MIT license, new links — benjamincanac/whichcodingtools0 reactions · 1 comment
- Nov 4, 2026Rename Superset to Paradev — filipecalegario/awesome-vibe-coding0 reactions
- Nov 4, 2026Resource suggestion: Paradev — RoggeOhta/awesome-codex-cli0 reactions
- Nov 4, 2026claude-code-marketplaces.github.paradevai.paradev: 4cccb5b → 44d0ad4 — sudosubin/agents.nix0 reactions
- Nov 4, 2026Undo the files an agent changed in a turn — alexec/Agents0 reactions · 1 comment
- Nov 4, 2026agent-skills.github.paradevai.paradev: 0-unstable-2026-11-03 → 0-unstable-2026-11-04 — sudosubin/agents.nix0 reactions
- Nov 4, 2026claude-code-marketplaces.github.paradevai.paradev: 0-unstable-2026-11-03 → 0-unstable-2026-11-04 — sudosubin/agents.nix0 reactions
- Nov 4, 2026agent-skills.github.paradevai.paradev: 142df44 → 615ea54 — sudosubin/agents.nix0 reactions
- Nov 3, 2026claude-code-marketplaces.github.paradevai.paradev: 0745d4b → 2e42c29 — sudosubin/agents.nix0 reactions
- Nov 3, 2026agent-plugins.github.paradevai.paradev: 0-unstable-2026-11-02 → 0-unstable-2026-11-03 — sudosubin/agents.nix0 reactions
- Nov 3, 2026claude-code-plugins.github.paradevai.paradev: 0-unstable-2026-11-02 → 0-unstable-2026-11-03 — sudosubin/agents.nix0 reactions
- Nov 3, 2026agent-skills.github.paradevai.paradev: 0-unstable-2026-11-02 → 0-unstable-2026-11-03 — sudosubin/agents.nix0 reactions
- Nov 3, 2026claude-code-marketplaces.github.paradevai.paradev: 0-unstable-2026-11-02 → 0-unstable-2026-11-03 — sudosubin/agents.nix0 reactions
On the web · 11
- Nov 4, 2026Paradev: Run Armies of Coding Agents Side by Side — dev.to
- Nov 2, 2026Paradev's Workspace Wants to Run an Army of Coding Agents in Parallel — startuply.vc
- Oct 27, 2026The next developer tool fight isn't about which agent writes the best code. It's about who helps you manage ten of them at once. | A.X.Praveen Kumar — linkedin.com
- Oct 26, 2026Excited to announce Paradev (formerly Superset) raise a $11.5m seed round led by Union Square Ventures, with participation from Y Combinator, BoxGroup, Orange Collective, Paul Graham and many more amazing funds and … | Avi Peltz — linkedin.com
- Oct 26, 2026For my personal projects, I used to use iTerm with a bunch of split panes, but after switching to Superset (now Paradev) I immediately noticed a significant QOL improvement! If ur looking … | Brian Wang — linkedin.com
6 more on the web
- Oct 26, 2026Meet Paradev (formerly Superset)! We’re thrilled to back them as part of their $11.5M seed round led by Union Square Ventures 🚀 | commit — linkedin.com
- Oct 26, 2026Paradev is building the IDE for running coding agents. | Fredrik Björk — linkedin.com
- Oct 26, 2026This time last year Paradev (formerly Superset) didn't even exist. Today, we're used by 1 in 8 Fortune 500 companies. Over 100,000 developers from 180+ countries. | Kiet Ho — linkedin.com
- Oct 26, 2026Paradev introduces a unified workspace designed to run Claude Code, Codex, OpenCode, and other coding agents simultaneously without disrupting existing workflows. | Kirill Pokidov — linkedin.com
- Oct 26, 2026Superset is now Paradev, and we raised an $11.5M seed led by Union Square Ventures, alongside Y Combinator, BoxGroup, Orange Collective and many amazing funds and angels. | Paradev (formerly Superset) — linkedin.com
- Oct 26, 2026Elite developers use Paradev (formerly Superset) (paradev.com) - and today they announced a $11.5m funding round led by Union Square Ventures! | Dan Von Kohorn — linkedin.com
On Bluesky · 2
- Oct 28, 2026📦 ParadevAI / Paradev ⭐ 15,665 (+53) 🗒 TypeScript Paradev (formerly Superset) is an agentic IDE to orchestrate 100+ coding agents in… — @github-trending-js.bsky.social1 likes and repost
- Nov 7, 2026📦 ParadevAI / Paradev ⭐ 16,014 (+62) 🗒 TypeScript Paradev is an open-source Codex App and Conductor alternative. Orchestrate an army… — @github-trending-js.bsky.social0 likes and reposts · 1 reply
On YouTube · 1
- Oct 29, 2026Paradev GitHub Explained: Parallel AI Workspaces, Worktrees, Ports, and Security Tradeoffs — Alex Hitt432 views
Other versions1 project uses a version of this.
Word for word · 1
- superset-sh/superset★ 16k100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository14 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- cdp-verificationSkill
- db-migrationsSkill
- decideSkill
- dev-doctorSkill
- incident-triageSkill
- mobile-demo-filmSkill
- mobile-eas-devSkill
- mobile-sim-verificationSkill
- redesignSkill
- superset-settingsSkill
- ticket-formatSkill
- trpc-compatSkill
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 3 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 15
No real data in frame: Use the dev account (admin@local.test) and a demo org with demo projects.
- Very specific: line 24
Start each in its own Paradev terminal (superset terminals create --local --workspace $SUPERSET_WORKSPACE_ID --command "...".
- Very specific: line 52
No dev client installed, or it crashes on launch after a native dependency change?
- Very specific: line 65
Write one flow per story. Prefer tapOn by visible text, add a testID when text is ambiguous.
- Distinctive: line 112
Run capture commands from a scratch directory.
- Very specific: line 123
Stop with SIGINT only. Any other signal leaves an unplayable file.
- Very specific: line 129
Before changing simulator variants, record the existing appearance, content size, and AppleLanguages value (including whether it was unset) …
- Distinctive: line 139
Delete only the rows and objects created for this recording: subscriptions, hosts, demo sessions, and, for Pages, published pages, …
- Distinctive: line 143
Stop every service started for the recording, including the usercontent Worker and storage stand-in when used.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Recording the mobile app
There is no CDP for mobile. The equivalent is the iOS simulator, booted headless, driven by
Maestro, recorded with simctl. Nothing here opens a window on the user's display.
Rules
- Real app state only. Record real sessions, real pull requests, real pages. No mockups, no DOM-style fakery. Seed the data the story needs, then delete it.
- No real data in frame. Use the dev account (
admin@local.test) and a demo org with demo projects. Read every frame of the contact sheet for names, emails, repo names, and tokens before sharing anything. - One take per story. A host that has connected once is no longer "never connected", a read page is no longer unread. Reset or reseed state before each take.
- Report what you recorded against: worktree, API port, simulator UDID, app build date.
Stack
Start each in its own Paradev terminal
(superset terminals create --local --workspace $SUPERSET_WORKSPACE_ID --command "...";
without --local the call silently returns nothing). Ports come from .paradev/ports.json
and the root .env.
| Service | Command | Trap |
| API | cd apps/api && bun run dev | A 500 "password authentication failed" means the worktree's Neon branch was cleaned up. Recreate it and rewrite the "# Workspace Database" lines in .env. |
| Relay | cd apps/relay && while true; do CI=1 WRANGLER_SEND_METRICS=false node_modules/.bin/wrangler dev --port $RELAY_PORT --var NEXT_PUBLIC_API_URL:http://localhost:$API_PORT --local; done | wrangler dev dies with an empty error whenever a client aborts mid-request, which every app relaunch does. Hence the loop. |
| Metro | cd apps/mobile && CI=1 bunx expo start --dev-client --port 8081 | CI=1 disables file watching: restart Metro after code edits. Pre-warm the first bundle by curling the launchAsset.url from curl -H 'expo-platform: ios' localhost:8081, or the dev client times out. |
apps/mobile/app.config.ts loads the repo-root .env with override: true, so every local
bundle points at this workspace's API no matter what apps/mobile/.env says.
Simulator
U=$(xcrun simctl list devices available | grep -m1 "iPhone 17 Pro (" | grep -oE '[0-9A-F-]{36}')
xcrun simctl boot $U && xcrun simctl bootstatus $U -b
xcrun simctl ui $U appearance light
xcrun simctl status_bar $U override --time "9:41" --batteryState discharging \
--batteryLevel 100 --cellularBars 4 --wifiBars 3 --dataNetwork wifi
xcrun simctl spawn $U defaults write sh.superset.mobile EXDevMenuIsOnboardingFinished -bool YES
xcrun simctl openurl $U "superset://expo-development-client/?url=http%3A%2F%2Flocalhost%3A8081&disableAutoLaunch=1&disableFab=1"simctl bootdoes not launch Simulator.app. Keep it that way.- The status bar override resets on shutdown. Reapply it after every boot.
- No dev client installed, or it crashes on launch after a native dependency change? Rebuild:
From
apps/mobile(cd apps/mobilefrom the repo root), runbunx expo prebuild -p ios, thenxcodebuild -workspace ios/Superset.xcworkspace -scheme Superset -configuration Debug -sdk iphonesimulator -derivedDataPath <scratch>/dd(about 10 minutes), thenxcrun simctl install $U <path to Superset.app>. SetSENTRY_DISABLE_AUTO_UPLOAD=true. Never setCODE_SIGNING_ALLOWED=NO: it drops the keychain entitlement and the app crashes on first SecureStore read. Pure JS changes need no rebuild.
Driving
Maestro needs JAVA_HOME=/opt/homebrew/opt/openjdk/libexec/openjdk.jdk/Contents/Home. Flows
live in apps/mobile/.maestro/flows/. Sign in with tapOn: { id: dev-sign-in-button }.
- Write one flow per story. Prefer
tapOnby visible text, add atestIDwhen text is ambiguous.inputTexttypes character by character, which reads as a person typing on film. - Maestro takes 7 to 25 seconds to start. Launch it before you start recording, and begin the
flow with a
waitForAnimationToEndor a shortextendedWaitUntilso the take opens on a settled screen. - The dev session has
plan: null, so Home shows the paywall. Seed asubscriptionsrow on the worktree's Neon branch (planpro,reference_id= the org id,stripe_subscription_idsub_temp_...) and delete it after. - Need a host without a second machine?
POST /api/trpc/host.ensurewith the session JWT registers one, and holdingws://localhost:$RELAY_PORT/v2/control?hostId=<org>:<machineId>open withAuthorization: Bearer <jwt>marks it online. Delete thev2_users_hostsandv2_hostsrows after. For a story with a real agent working, point the app at a real local host-service instead. - Maestro matches the whole accessibility label, and rows carry extra text (the Settings row is
, Pages,). Match with a regex:tapOn: ".*Pages.*". Dump what it sees withmaestro --udid $U hierarchy. - Metro fails with
ENOENT ... react-native-worklets/.worklets/<n>.js? Its cache outlived the generated files. Restart it with--clear.
Pages in the app
Pages need three more things locally, none of which setup provides:
- Object storage. The API writes page files to
R2_ENDPOINT(localhost:9000, nothing listens there) while the usercontent Worker reads its own local R2. Run a minimal S3 stand-in on :9000 (PUT withx-amz-copy-source, GET, HEAD,POST ?delete), publish throughpage.assets.uploadthenpage.publish, then copy every stored object across withbunx wrangler r2 object put superset-private-dev/<key> --local --env dev --file <f> --content-type <type>fromapps/usercontent. - The Worker's secret.
apps/usercontent/.dev.varsneedsUSERCONTENT_TOKEN_SECRETset to the value in the root.env, or every page answers 500. Start it withcd apps/usercontent && bun run dev. - Transport security. The dev build allows local networking only, and
<id>.frame.usercontent.localhostdoes not count, so the page fails with error -1022. On the simulator's installed copy only:PlistBuddy -c "Set :NSAppTransportSecurity:NSAllowsArbitraryLoads true" -c "Add :NSAppTransportSecurity:NSAllowsArbitraryLoadsInWebContent bool true" "$(xcrun simctl get_app_container $U sh.superset.mobile app)/Info.plist", then relaunch. Revert it after.
tRPC calls from a script need authorization: Bearer <jwt> plus
x-superset-organization-id, because the JWT carries no active organization. Tap to comment
did not open the comment popover under Maestro on the simulator (2026-09-19, cause unknown);
film comments through "Show all comments" and Reply instead.
Capturing
Run capture commands from a scratch directory. Use an absolute path to the Maestro flow when recording outside the repo.
mkdir -p raw shots cfr
xcrun simctl io $U recordVideo --codec h264 --force raw/01-story.mov & REC=$!
maestro test <repo>/apps/mobile/.maestro/flows/<story>.yml
kill -INT $REC; wait $REC
xcrun simctl io $U screenshot shots/01.png- Stop with
SIGINTonly. Any other signal leaves an unplayable file. recordVideowrites a frame only when the screen changes, so the file is variable frame rate and wall-clock marks do not map to video time. Normalize before choosing cut points:ffmpeg -i raw/01-story.mov -vf fps=30 -an -c:v libx264 -crf 14 -pix_fmt yuv420p cfr/01.mp4.- A screenshot after a
sleepnever catches a sub-second flash. Record, then extract frames withffmpeg -vf fps=10. - Before changing simulator variants, record the existing appearance, content size, and
AppleLanguagesvalue (including whether it was unset) so cleanup can restore them. - Variants:
simctl ui $U appearance dark,simctl ui $U content_size extra-extra-extra-large, andsimctl spawn $U defaults write "Apple Global Domain" AppleLanguages -array de-DEfollowed by a relaunch.
For a framed demo video, use the shared mobile-demo-film skill after recording.
Cleanup
Delete only the rows and objects created for this recording: subscriptions, hosts, demo sessions, and, for Pages, published pages, comments, and their objects in the S3 stand-in and local R2. Restore any organization or user names changed for the demo.
Stop every service started for the recording, including the usercontent Worker and storage
stand-in when used. Restore the simulator's prior appearance, content size, and
AppleLanguages value (remove the override if it was originally unset), revert any installed
app transport-security changes, clear status-bar overrides, then xcrun simctl shutdown $U.
Recordings and screenshots stay in the scratch directory unless the user asks for them in
the repo.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

