tapflow is a self-hosted service that runs iOS simulators and Android emulators in a web browser, letting teams view mobile builds, streams, and recordings on infrastructure they control. Mobile QA teams and other developers use it to test apps without relying on shared physical devices or uploading builds to a cloud provider. The catalogue entries support operating tapflow and its mobile testing workflows.
Borrowing it
Nothing to install: this file belongs to jo-duchan/tapflow. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/jo-duchan/tapflow/main/.claude/commands/write-docs.mdgit clone --depth 1 https://github.com/jo-duchan/tapflowWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/jo-duchan/tapflow/write-docs)<a href="https://agentmods.dev/commands/jo-duchan/tapflow/write-docs"><img src="https://agentmods.dev/badge/commands/jo-duchan/tapflow/write-docs/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/jo-duchan/tapflow/write-docs"><img src="https://agentmods.dev/badge/commands/jo-duchan/tapflow/write-docs.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00078 | $0.05583 |
| Opus 5.5 | $0.00031 | $0.02233 |
| Sonnet 5.5 | $0.00016 | $0.01117 |
| Haiku 4.5 | $0.00008 | $0.00558 |
Grade A, and why
write-docs scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 15d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 276 lines — stays where its author put it; the contents beside it link to each section on GitHub.
아래 주제로 VitePress 문서를 작성하거나 갱신한다: $ARGUMENTS
사전 준비
docs/AGENTS.md— 한/영 동시 작성, 플랫폼 중립 언어, 코드블럭·---금지 규칙의 정본. 이 커맨드는 그 규칙을 다시 적지 않는다. 읽고 따른다.docs/.vitepress/config.ts— 현재 사이드바 구조- 갱신이면 대상 페이지 EN/KO 양쪽
모드
- 새 페이지: 아래 유형 중 하나를 고르고 템플릿에서 시작한다. 등록 3곳(EN 사이드바, KO 사이드바,
llms.txt)을 빠뜨리지 않는다. - 기존 페이지 갱신: 페이지 구조와 헤딩 id를 유지한 채 고친다. 기존 페이지에 frontmatter가 없으면 이번에
description을 추가한다. - 사실이 바뀌는 모든 변경(명령·플래그·기본값·숫자·UI 레이블 등): 같은 사실이 나오는 곳을
docs/전체(EN + KO,docs/public/llms.txt포함)에서 grep해 같은 변경에서 모두 고친다. 감사에서android-34(실제는setup.ts의android-35)가 세 페이지에 퍼져 있었던 것처럼, 한 곳만 고치면 나머지가 틀린 채 남는다.
1. 독자 — 페이지 유형이 정한다
"독자는 이미 tapflow 사용자다"라는 가정은 쓰지 않는다. 그 가정이 온보딩 경로에서 정의 없는 용어와 역할 구분 없는 안내를 만들었다(팀원을 대상으로 한 페이지가 27개 중 2개).
| 유형 | 독자 | 해당 페이지 예 |
|---|---|---|
| 튜토리얼 / 소개 / 팀원 대상 | tapflow를 처음 보는 사람 | Introduction, Quick Start, 팀원 가이드 |
| How-to | tapflow를 세팅하는 운영자 | Environment Setup, Self-Hosting, Agent Setup, Build Distribution |
| 기능 페이지 | 브라우저로 쓰는 팀원 (+ 운영자 설정 절) | Audio, Network Control, Streaming |
| 레퍼런스 | 무언가를 찾아보는 사용자 | CLI, Configuration, REST API |
| 개념 | 동작 원리를 알고 싶은 사람 | Performance, Security |
모든 유형에 공통으로 적용한다.
- 첫 문단은 이 페이지로 무엇을 할 수 있게 되는지 말한다. 기능 페이지라면 무엇을 하는지, 지원 플랫폼, 기본 켜짐 여부까지 쓴다.
- 검색으로 바로 들어와도 읽혀야 한다. 사이드바 순서로 왔다고 가정하지 않고, 전제조건은 링크로 건다.
- 처음 보는 독자 대상 페이지에서는 용어를 처음 나올 때 한 줄로 정의한다. relay(대시보드와 에이전트를 잇는 서버), agent(시뮬레이터·에뮬레이터를 띄우는 Mac 쪽 프로세스), App Center(tapflow 대시보드 안의 빌드 목록 화면으로, Microsoft App Center와 무관) 등이 대상이다. "agent"는 tapflow agent만 뜻하고, Claude Code 같은 도구는 "coding agent"로 쓴다.
- 누가 하는 일인지 구분한다. Mac 세팅은 운영자가 하고, 팀원은 브라우저만 연다.
2. 소스 대조 검증 (작성 전 + 작성 후)
명령, 플래그, 설정 키, 환경 변수, 기본값, 숫자, API 경로, 샘플 출력, 대시보드 UI 레이블은 모두 소스에서 찾은 것만 쓴다. 기억이나 다른 docs 페이지를 근거로 쓰지 않는다. 다른 페이지는 틀려 있을 수 있다.
| 사실 | 찾을 곳 |
|---|---|
| CLI 명령·플래그 | packages/cli/src/index.ts(commander 정의), packages/cli/src/commands/*.ts |
| setup·doctor 동작, 출력 문구 | packages/cli/src/lib/setup.ts, packages/cli/src/lib/doctor.ts, packages/cli/src/commands/*.ts |
| 설정 키·기본값·환경 변수 | packages/relay/src/lib/config.ts, grep -rn "process.env" packages/*/src |
| REST API 경로·인증·스코프 | packages/relay/src/router.ts, packages/relay/src/api/*.ts, packages/relay/src/middleware/ |
| 대시보드 UI 레이블·흐름 | packages/dashboard/src/pages/, packages/dashboard/components/ |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 15d ago Changed 4f1f4d267b6f
- 18d ago Changed dcd10d46a9c3
- 1mo ago Changed 7200a485b17e
- 1mo ago Changed · +124 lines · +19 tokens per session 38594aeb7893
- 2mo ago Changed 3bb619f4c70a
- 2mo ago First seen · 152 lines · 59 tokens per session scan A 26055aad9087
write-docs is a command published in the GitHub repository jo-duchan/tapflow (1,616 stars, last pushed yesterday), licensed MIT. It adds 78 tokens to every session and 5,583 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
write-docs compared with commands from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| write-docsjo-duchan/tapflow | Command | 1.6k | yesterday | MIT | A | 78 | Claude Code |
| instrumentnexus-labs-automation/mobile-observability | Command | 116 | 2mo ago | MIT | A | 0 | Claude Code |
| app-store-auditmjmirza/app-store-compliance | Command | 403 | yesterday | none | A | 35 | Claude Code |
| audit-claudekelvinkosbab/AppBootstrapAI | Command | 8 | today | MIT | A | 27 | Claude Code |
| claudekelvinkosbab/AppBootstrapAI | Command | 8 | today | MIT | A | 19 | Claude Code |
| feature-learnahmed3elshaer/everything-claude-code-mobile | Command | 66 | 4mo ago | MIT | A | 21 | Claude Code |
| checklistgithub/spec-kit | Command | 148k | yesterday | MIT | A | 13 | Claude Code |