Describe your app idea in one line. Get a shipped iOS & Android app. AI App Studio is a team of 30 AI specialists — a CEO, product manager, designers, iOS/Android engineers, a code reviewer, QA, and a release manager — that works like a real software studio.
> /plugin marketplace add vmobifystudio/app-dev-team> /plugin install app-dev-team@mobify-studio
Repo: vmobifystudio/app-dev-team
What's inside
Describe your app idea in one line. Get a shipped iOS & Android app.
AI App Studio is a team of 30 AI specialists — a CEO, product manager, designers, iOS/Android engineers, a code reviewer, QA, and a release manager — that works like a real software studio. It takes your idea from scope → design → code → review → store, building in parallel, reviewing and fixing its own work, and stopping for you at only the two moments that matter: what we're building and whether to ship.
Ships as the app-dev-team Claude Code plugin — see Install.
# In Claude Code, from an empty folder:
/app-run "A habit tracker for new parents, iOS + Android, freemium"
That one command spins up the whole studio. It pauses once so you can approve the plan, then builds the app autonomously — parallel engineers, automated code review, QA, and a bug-fix loop — giving you a short standup after each round, and pauses again only when it's ready to ship.
Already have an app? Point it at your existing code instead and it works in reverse — reads the codebase, grades it against professional standards, and closes the gaps:
/app-onboard # understand the existing app
/app-audit # score it, list the issues, fix them
Most "AI builds your app" tools are a single agent improvising — it writes some code, forgets the plan, and leaves you to be the project manager. Real apps aren't built that way. They're built by a team with roles, handoffs, conventions, and a review gate.
AI App Studio models that team. Each role is a focused AI specialist that does one job well and hands off to the next:
flowchart TD
idea([💡 Your one-line idea])
subgraph EXEC["🎩 Executive — decides what and why"]
direction LR
CEO[CEO<br/>vision and goals]
CPO[CPO<br/>product spec]
CTO[CTO<br/>tech and architecture]
end
subgraph MGMT["🗂️ Management — plans and coordinates"]
direction LR
TL[Tech Lead<br/>build specs]
TM[Tech Manager<br/>runs the board · merge gate]
end
subgraph ENG["⚙️ Engineering — builds and verifies"]
direction LR
IOS[iOS dev]
AND[Android dev]
BE[Backend dev]
MON[Monetization]
REV[Code Reviewer]
QA[QA]
VER[Verification]
end
subgraph GROW["🎨 Design and Growth"]
direction LR
UX[UX Designer]
ASO[Store Listing]
DATA[Analytics]
end
subgraph REL["🚀 Platform and Release"]
direction LR
OPS[DevOps]
SEC[Security]
RM[Release Manager]
end
idea --> EXEC --> MGMT --> ENG --> GROW --> REL --> ship([📦 Shipped app on the store])
The engineers work in parallel. The code reviewer is a real gate — nothing merges until it passes (and on iOS it runs ~25 specialist auditors for accessibility, concurrency, security, and more). QA files bugs, the team fixes them in a loop, and you get a daily standup the whole way.
You stay in control at exactly two gates. Everything between them runs on its own.
flowchart LR
A([💡 idea]) --> B["/app-init<br/>vision · spec · architecture"]
B --> G1{{"🔒 GATE 1<br/>scope-lock<br/><i>you approve the plan</i>"}}
G1 --> C["/app-plan<br/>parallel board"]
C --> D["/app-build loop<br/>parallel devs → code review →<br/>merge → QA → bug fixes → standup"]
D --> E["ship-readiness<br/>store assets · security · analytics"]
E --> G2{{"🚀 GATE 2<br/>ship<br/><i>you confirm</i>"}}
G2 --> F([📦 store upload])
style G1 fill:#fde68a,stroke:#b45309,color:#000
style G2 fill:#bbf7d0,stroke:#15803d,color:#000
"Mostly autonomous" means it shows you the seams. It never invents intent when a requirement is ambiguous — it writes the blocker into the standup and surfaces it to you verbatim, instead of guessing and building the wrong thing.
The board is the team's only memory across agent invocations, and every row is written by an agent editing a Markdown table. So two checks run mechanically rather than on trust:
scripts/board-doctor.mjs) runs before any agent is spawned, every round.
It catches the failure the loop is structurally blind to: a ticket whose dependency is blocked
is never "ready" and never in review, so the sprint would otherwise exit and report success
without ever mentioning it. It also catches missing/invalid owners, broken and circular
dependencies, self-review, tickets that reached qa/done without an approval on record, and a
breached review-cycle cap. Anomalies stop the loop; nothing spawns until the board is repaired.scripts/verify-done.sh) checks a developer's DONE: APP-NNN against git
before the row moves to review — branch exists, commits are actually there, files changed, and
the test command exits zero. A self-reported "tests: all green" is never taken at face value.hooks/require-review-verdict.sh) is a Claude Code SubagentStop
hook: a code-reviewer subagent cannot stop until the board's own event log shows a real
approved/changes verdict it recorded, or a documented BLOCKED refusal. Found live, on this
plugin's own PR review: a reviewer went idle three times, producing nothing, and two nudges didn't
change that. The first version of this hook checked the agent's own transcript for the right
words — an independent review reproduced that a transcript merely quoting the required command
satisfied it with zero work done. It now checks the append-only log directly; a false claim can't
forge a real log line the way it can forge a sentence.scripts/wave-integrate.mjs --check-baseline) — on a failed
wave, checks whether the unmodified integration branch also fails the same suite before blaming
the tickets in it. Opt-in and additive: it changes nothing about a green wave, and never turns a
real failure into a pass — it only tells you whether the failure pre-dates the wave.Every gate above is plain Node + POSIX sh with no dependencies, and the board-doctor skill
carries a manual checklist so a vanilla install without Node still performs the check by hand.
Agents don't shout into one shared room, and they don't route every sentence through a human.
docs/team/messages.jsonl is an append-only event log — question, answer,
handoff, blocker, escalation, decision — so an IC can ask the tech lead one question and
keep working, instead of hard-blocking and paying for a full re-spawn. docs/team/messages.md is
its generated view; channels and threads are queries over the log, never places state is written.answer
that names no artifact is refused too: a closed ledger is not delivery.node scripts/board-render.mjs docs/31-board.md --out docs/32-board-view.md
A terminal kanban, per-owner load, a NEEDS ATTENTION block, and a Mermaid dependency graph that
renders on GitHub — with stranded and blocked tickets outlined in red. /app-status prints it;
/app-build regenerates it each round.
The reviewer no longer just reads a diff. It applies the defect-hunting skill, mined from a real
remediation programme where twelve screen-by-screen review rounds found nothing new and one round
organised by data path found dozens of live defects:
contains() over prose — one was tripped by its own comment. New rules must
be watched failing before they are trusted.verification-engineer owns this at release time and gates /app-ship.
Two more additions to the review itself: it now exercises a ticket's acceptance criteria black-box,
before opening the diff — running the actual behavior rather than reading the code first, so the
reviewer isn't reasoning from the same source that may have produced the bug. And how much ceremony a
review carries scales with the ticket's own size (process-tiering, XS through XL) — a one-line fix
doesn't walk the same process as a multi-screen feature, except nothing ever lightens for a ticket
touching auth, payments, PII, or anything security-reviewer owns, regardless of size.
node scripts/team-doctor.mjs
board-doctor validates a project's board. team-doctor validates the team definition — the
gaps that are invisible by construction: a role nothing ever spawns, a role that can own a ticket
but that /app-build never launches (the ticket is never picked up and never reported), a
referenced skill that doesn't exist, a handoff pointing at nobody, a doc one role writes that no
role reads. Each of those was a live defect found by hand once.
FAQ
app-dev-team is a Claude Code plugin with 32 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes accessibility-gate, agent-isolation, architecture-builder. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it