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 when working an implementation ticket as any IC role — app, backend, web, CLI, library, or a specialist like monetization. Holds the ticket lifecycle every one of them runs: branch-before-you-write isolation, the choke-point rule, the read order, the commit and
$ npx -y skills add vmobifystudio/app-dev-team --skill ic-workflow --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ic-workflowContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when working an implementation ticket as any IC role — app, backend, web, CLI, library, or a specialist like monetization. Holds the ticket lifecycle every one of them runs: branch-before-you-write isolation, the choke-point rule, the read order, the commit and
name: ic-workflow description: Use when working an implementation ticket as any IC role — app, backend, web, CLI, library, or a specialist like monetization. Holds the ticket lifecycle every one of them runs: branch-before-you-write isolation, the choke-point rule, the read order, the commit and daily-fragment discipline, and the CODE output contract. Triggers the moment an IC agent is handed a ticket ID. Product-agnostic: the language, framework and hazards live in the agent file that invokes this.
Every IC on this team runs the same loop, whatever the product is. Only the language, the conventions pack and the hazards differ — those live in your own agent file. Everything below is the same for all of you, and it is the part that has actually gone wrong in live runs.
Use the `agent-isolation` skill — worktree discipline, the ban on blanket staging, confirming the mutation landed, the stop-and-report rule when HEAD moves under you, and the measured cost of skipping all of it. The one thing it does not spell out: **branch before you write, never after.** `git checkout -b feat/APP-NNN-short-slug` is your *first* action, not your seventh. If you were given no worktree, say so in your first line. Write-up: `${CLAUDE_PLUGIN_ROOT}/docs/research/2026-07-29-dry-run-parallel-agent-collision.md`.
Before that first write, run `context-preflight` against the project and ticket. It checks branch, dirty tree, active worktrees, ticket row, and source-of-truth documents. For dependency, SDK, API, or toolchain changes also run `dependency-policy`; do not choose versions from memory.
Run the `defect-hunting` skill §1 procedure before you edit a function that touches persisted or user-visible state — it holds the writer/reader enumeration and the question that does the work.
You are given:
You do not start coding until you have read all three. If any is missing or ambiguous, you stop and write your blocker to a **per-run fragment** at `docs/daily/<today>-<role>-<ticket>.md` — not the canonical daily file, because `tech-manager` concatenates fragments to avoid write-races between parallel agents — then exit.
0. **Create your branch first.** Inside your worktree (or the repo root if you were not given one): `git checkout -b feat/APP-NNN-short-slug`. Nothing is written before this exists.
1. **Read, in order.** Your own agent file names the impl spec you work from — read that first. Then whichever of these the ticket actually touches:
and error states and the edge cases
surface. Use the tokens and the existing components rather than rolling your own.
consent gate are defined there, not invented here. An `APP-NNN-analytics` ticket that invents its own event names produces a funnel nobody can query.
2. **Re-read the ticket's acceptance criteria.**
3. **Plan** the change in 5-10 lines of plain prose in your scratch — files you'll touch, new types, tests.
4. **Implement.** Follow the impl spec's patterns; do not invent a new one. Your agent file lists the language rules and banned constructs that apply to you. Universal, whatever you build: no debug print/log noise — use the spec's logger — and no unhandled failure path. If what you build has a user-facing surface, user-visible strings go into the localization file from the start and every interactive element carries an accessibility label; retrofitting either is far more expensive than doing it now. The two skills that hold those rules are `localisation` and `accessibility-gate` — run the second on your own diff before you claim done, because `code-reviewer` will, and its `FAIL` is a `REQUEST CHANGES`.
5. **Test.** Unit tests for the logic you added and for the layer that persists or fetches it, plus whatever integration, UI or snapshot test the spec requires for this ticket.
6. **Build and run the tests locally** with your project's command — fix until green.
7. **Commit on the branch you created in step 0**, staging explicit paths only. Commit message: `APP-NNN: <one-line summary>` with a body listing what changed and why. Then confirm the mutation landed: `git diff --cached --numstat` before commit, `git show --stat` after.
8. **Drop a one-paragraph status note** at `docs/daily/<today>-<role>-<ticket>.md` **inside your worktree, and commit it with your change** — never to the repo root. It reaches `main` when your branch merges; a fragment on `main` for unmerged work describes something that has not shipped. Summarise what shipped, what's still in flight, and blockers. **This is not optional and it is not for you** — `tech-manager` builds the standup by concatenating these fragments, and it is the only input it has. Across six dry-run agent-runs, five skipped this and the standup aggregated nothing. `/app-build` now refuses to move your ticket to review without it.
Use the `team-protocol` skill: the channel, the anti-ping-pong guard, and the ask-before-you-block rule — send the question, keep working on another part of the ticket, and only write `BLOCKED` when nothing else on the ticket can proceed, naming who must answer what.
Return the **CODE
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…