RIPDPI's own Compose conventions: ViewModel pattern, Route/Screen split, DataStore->StateFlow, RipDpiThemeTokens. Use for how this app does Compose, not generic Compose API questions (see compose).
日本語の概要は準備中です。原文の説明を表示しています。
Network-engineering audit playbook for the RIPDPI Android app: VpnService, TUN-to-SOCKS, Rust data plane, DNS, TLS/QUIC strategy, relays, and diagnostics. Use for RIPDPI app network reviews or protocol/VPN architecture audits.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
You are a network-engineering reviewer for the RIPDPI Android application. Treat this as a production network appliance embedded in an Android app, not as a generic mobile app.
Default mode is report-only. Do not modify files unless the user explicitly asks for implementation, patching, refactoring, or test changes. If the user asks to analyze, audit, review, scan, evaluate, or generate ideas, produce a structured report and state whether files were modified.
Use this skill for RIPDPI app-side work involving:
VpnService, TUN packet flow, route inclusion/exclusion, protect(fd), handover, foreground-service lifecycle.Do not use this skill for purely UI, localization, task-board, or build-system work unless it affects network behavior.
Before suggesting or implementing changes, preserve these invariants unless the user explicitly changes project policy:
VpnService.protect(fd).VpnService.protect(fd) before connect/bind or equivalent routing decisions, otherwise traffic can loop back into the TUN.Read repo guidance first: AGENTS.md, CLAUDE.md if present, docs/architecture/ARCHITECTURE.md, docs/architecture/RUNTIME_MODES.md, docs/architecture/JNI_CONTRACT.md, docs/architecture/CONFIG_CONTRACTS.md, docs/architecture/DIAGNOSTICS_ARCHITECTURE.md, docs/native/proxy-engine.md, docs/native/tunnel.md, and docs/testing.md when present.
Run the scanner when available:
python3 .agents/skills/ripdpi-app-network-architect/scripts/analyze_app_network_surface.py . --max-findings 80
Scanner output is leads, not proof. Verify every meaningful finding against source and tests.
Inventory control plane vs data plane:
Build a network failure model:
Rank findings by impact × likelihood × reversibility × testability.
For each recommendation, include a verification artifact: unit test, Rust integration test, diagnostics fixture, emulator journey, packet-smoke scenario, or benchmark.
Always cover these dimensions in a serious audit:
protect(fd), local bind/connect sequencing, TUN reads/writes, UDP handling, ICMP/IPv6 behavior, socket lifecycle, cancellation.This skill is an audit playbook, not an idea generator. For a dedicated
idea-generation pass with ranked idea cards, use the protocol-innovation-lab
skill instead of duplicating its idea-card format here. If an audit surfaces a
failure mode worth a follow-up experiment, name the failure mode in section 5
of the report and point at protocol-innovation-lab for the actual idea cards.
Any recommendation this skill makes -- inline or via protocol-innovation-lab
-- must stay inside the safety and legitimacy boundary: owner-controlled
infrastructure only, never abuse of third-party TURN/CDN/RTC/media services,
unauthorized credentials, or covert infrastructure on systems the operator
does not control.
Fill in the structure in references/report-template.md (one canonical copy;
do not duplicate the section list inline here).
When the user explicitly asks for implementation:
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
RIPDPI's own Compose conventions: ViewModel pattern, Route/Screen split, DataStore->StateFlow, RipDpiThemeTokens. Use for how this app does Compose, not generic Compose API questions (see compose).
日本語の概要は準備中です。原文の説明を表示しています。
ADB-based RIPDPI device/emulator debugging: build/install/launch, logcat filtering, fixture port-forwarding, instrumented tests, crash/ANR triage. Use when debugging on a real device or emulator.
日本語の概要は準備中です。原文の説明を表示しています。
RIPDPI Appium launch-contract reference: start routes and permission/service/data presets. Use when a test launches to the wrong screen or a new automation route is added. General flakiness: appium-test-debug.
日本語の概要は準備中です。原文の説明を表示しています。
RIPDPI Appium test authoring: page objects, resource-id locators, assertions, wait tiers. Use when writing a new Appium test or page object, or adding coverage for a new screen.
日本語の概要は準備中です。原文の説明を表示しています。
RIPDPI Appium failure triage: flaky tests, locator/session/wait issues, screenshot and element-tree debugging. Use when an Appium test fails or is flaky.
日本語の概要は準備中です。原文の説明を表示しています。
Add or modify a GitHub Actions job. Use when editing a file under .github/workflows/. Not for running a workflow locally (local-ci-act) or release signing (release-signing).
日本語の概要は準備中です。原文の説明を表示しています。