accessibility-gate
Use as a pass/fail gate on any diff with a user-facing surface — by code-reviewer during review, by qa-engineer during the test pass, and by any IC before…
Use at project start — /app-init, /app-onboard, or /app-run's first step — to decide which of the roles this product actually needs, and to write the durable roster the rest of the flow reads. Triggers whenever a command is about to fan out to a team, or a gate is about to run
$ npx -y skills add vmobifystudio/app-dev-team --skill role-activation --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/role-activationContext preview
The summary Claude sees to decide when to auto-load this skill.
Use at project start — /app-init, /app-onboard, or /app-run's first step — to decide which of the roles this product actually needs, and to write the durable roster the rest of the flow reads. Triggers whenever a command is about to fan out to a team, or a gate is about to run
name: role-activation description: Use at project start — /app-init, /app-onboard, or /app-run's first step — to decide which of the roles this product actually needs, and to write the durable roster the rest of the flow reads. Triggers whenever a command is about to fan out to a team, or a gate is about to run for a role that may not be on this project.
The roster is not fixed. A three-screen utility does not need a CEO *and* a CPO, and a backend service does not need an ASO specialist, a store-readiness gate, or a runtime gate hunting for an `.xcodeproj`. Activation has **two axes**, and both are decided once, up front, and written down.
`cli` | `library`. Which specialists exist at all.
**A deactivated role is recorded, never silently absent.** Everything below exists to serve that one rule: an absent role and a skipped role must stay distinguishable six months later.
**Greenfield** — from `docs/01-intake.md`, which `requirements-intake` has already written:
**utility** when the intake describes a single-purpose tool with one core action and no subscription, content library, or AI system; **flagship** otherwise. State the derived tier and its evidence in the Gate 1 brief — it is a scope decision, and Gate 1 is where scope is approved.
**Brownfield** — from `brownfield-onboarding` Step 1 detection, never from a README:
| Detected | Product type | |---|---| | `*.xcodeproj` / `*.xcworkspace` only | `ios-app` | | `settings.gradle*` + `app/` only | `android-app` | | both of the above | `mobile-app` | | `package.json` with a web framework, or any `public/`+`index.html` | `web-app` | | server framework or `Dockerfile`/`Procfile`, no UI surface | `backend-service` | | a binary entry point (`bin`, `cmd/`, `main.go`, `[[bin]]`) and no UI | `cli` | | a package manifest that publishes, with no entry point | `library` |
Tier for brownfield: derive from the app's size and shape (module count, subscription/ads SDKs present), and say which signal decided it. **When detection is ambiguous, ask the user one question — do not guess.** A wrong product type turns off the wrong specialists.
The matrix below decides *when* a role activates. It does not decide whether the role should exist at all — that is a separate, cheaper question, and skipping it is how a role catalogue grows past what any product actually needs. Once a role clears this bar, `docs/03-decision-rights.md` is where its actual authority — propose, challenge, decide, execute, record evidence — is written down; this table only answers whether the role should exist, not what it may do once it does.
**A role is justified only if it needs at least one of:**
| Tag | Meaning | |---|---| | `authority` | independent decision authority — it decides something no other role can decide for it | | `context` | an independent context that must not inherit another role's framing (an evidence-gatherer that reasoned from the thing it's evidence-gathering *for* would confirm its own hypothesis) | | `capability` | a materially different capability or security boundary (a different platform, a different attack surface, a different tool) | | `duties` | accountability that must remain separate for governance reasons (the author cannot be the sole reviewer, the actor cannot be the sole auditor) |
Everything else is a skill, an operating mode, a checklist, or a gate inside an existing role — not a new agent file. This is the test Phase 2 of the studio's own revamp already applied once, cutting a ~40-role plan to today's 29; the table below re-applies it to the roster as it stands now.
| Role | Tag | Why | |---|---|---| | `ceo` | `authority` | final scope/vision authority no other role holds | | `cpo` | `authority` | product-decision authority distinct from engineering | | `cto` | `authority` | technical-strategy authority distinct from product | | `chief-of-staff` | `context` | one founder-facing decision-brief context, deliberately not the CEO's own strategic framing — its own description says it "is only worth running if it removes more decisions than it creates" | | `product-manager` | `capability` | day-to-day ticket-clarification capability below CPO's strategic layer, so CPO is not the bottleneck for every clarification | | `product-researcher` | `context` | evidence-gathering that must not inherit the CPO's framing, or it would confirm its own hypothesis rather than test it | | `tech-lead` | `authority` | technical-design authority distinct from CTO's strategic layer | | `tech-manager` | `authority` | execution/scheduling authority — the only role that merges | | `ux-architect` | `capability` | information-architecture/flow capability distinct from screen composition | | `product-designer` | `capability` | visual/screen-composition capability, deliberately not self-approving its own fidelity | | `ios-developer` | `capability` | Swift/SwiftUI platform capability | | `android-developer` | `capability` | Kotlin/Compose platform capability | | `backend-developer` | `capability` | server/API/infra-as-code capability | | `web-developer` | `capability` | browser-platform capability — the IC that makes product type `web-app` staffed | | `monetization-engineer` | `capability` | billing/ads correctness is a distinct capability and a distinct financial-blast-radius boundary from general implementation | | `aso-specialist` | `capability` | store-listing/keyword capability, distinct from product or engineering | | `data-analyst` | `capability` | analytics-schema and consent-gate capability | | `devops-engin
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.
Repo: vmobifystudio/app-dev-team
Use as a pass/fail gate on any diff with a user-facing surface — by code-reviewer during review, by qa-engineer during the test pass, and by any IC before…
Use before spawning any agent that writes files, and by every developer/fixer agent as its first and last action. Gives each agent its own git worktree,…
Use to produce the technical architecture doc and engineering principles for a mobile app. Used primarily by the CTO agent. Triggers on "design the…
Use to validate docs/31-board.md before spawning any agent, and to verify a developer's "DONE" claim before moving a row to review. Triggers as step 0 of…
Use when pointing the team at an EXISTING, already-built app instead of a blank project — detects the stack, reverse-engineers the as-built architecture, and…
Use when deciding or revisiting how the product makes money — pricing, tiers, trial shape, ad load, unit economics — by ceo when setting the model, by cpo when…