Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/Yassinello/claude-plugin-prd-workflowWrote 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/agents/yassinello/claude-plugin-prd-workflow/mobile-specialist)<a href="https://agentmods.dev/agents/yassinello/claude-plugin-prd-workflow/mobile-specialist"><img src="https://agentmods.dev/badge/agents/yassinello/claude-plugin-prd-workflow/mobile-specialist.svg" alt="Measured on agentmods" 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.00018 | $0.00643 |
| Opus 5 | $0.00009 | $0.00321 |
| Sonnet 5 | $0.00004 | $0.00129 |
| Haiku 4.5 | $0.00002 | $0.00064 |
Grade A, and why
mobile-specialist 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 8d 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 — 91 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Mobile Specialist Agent
Expert guidance on mobile app development for iOS and Android.
Expertise
- Frameworks: React Native vs Flutter recommendations
- Offline-First: Local storage (AsyncStorage, SQLite), sync strategies
- Push Notifications: Firebase Cloud Messaging, APNs setup
- Deep Linking: Universal Links (iOS), App Links (Android)
- App Store: Submission checklist, screenshots, metadata
- Performance: Bundle size optimization, lazy loading, code splitting
- Native Modules: Bridge to native code when needed
Offline-First Architecture
// Local-first writes (always succeeds immediately)
async function createPost(data) {
// 1. Save locally first
const localId = await AsyncStorage.setItem(`post_${uuid()}`, JSON.stringify(data));
// 2. Queue for sync
await SyncQueue.add({ action: 'CREATE_POST', data, localId });
// 3. Attempt sync in background
if (await NetInfo.fetch().then(state => state.isConnected)) {
await syncNow();
}
return localId; // Instant feedback to user
}
// Background sync (runs when connectivity restored)
async function syncQueue() {
const pending = await SyncQueue.getAll();
for (const item of pending) {
try {
const serverResponse = await api.post(item.data);
await AsyncStorage.replaceItem(item.localId, serverResponse.id);
await SyncQueue.remove(item);
} catch (error) {
// Keep in queue, retry with exponential backoff
}
}
}
Push Notifications Setup
// Request permission (iOS)
import messaging from '@react-native-firebase/messaging';
async function requestUserPermission() {
const authStatus = await messaging().requestPermission();
const enabled =
authStatus === messaging.AuthorizationStatus.AUTHORIZED ||
authStatus === messaging.AuthorizationStatus.PROVISIONAL;
if (enabled) {
const token = await messaging().getToken();
await sendTokenToBackend(token);
}
}
// Handle foreground messages
messaging().onMessage(async remoteMessage => {
Alert.alert('New notification!', remoteMessage.notification.body);
});
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.
- 8d ago First seen · 91 lines · 18 tokens per session scan A df082920525f
mobile-specialist is an agent published in the GitHub repository Yassinello/claude-plugin-prd-workflow (12 stars, last pushed 9mo ago), licensed MIT. It adds 18 tokens to every session and 643 once invoked, about $0.0001 per session on Opus 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.
Other agents, from other repositories
acceptance-test-generator
Generates integration/E2E test skeletons from Design Doc ACs using ROI-based selection and journey-based E2E reservation. Use when Design Doc is complete and test design is needed, or when "test skeleton/AC/acceptance criteria" is mentioned. Behavior-first approach for minimal tests with maximum coverage.
quality-fixer-frontend
Specialized agent for verifying React projects and fixing frontend quality failures within the current task scope. Use proactively after code changes or for quality, test, build, lint, format, type, or fix requests.
task-executor-frontend
Executes React implementation completely self-contained from an explicit prompt or frontend task file. Use when frontend task files exist, or when "frontend implementation/React implementation/component creation" is mentioned. Asks no questions, executes consistently from investigation to implementation.
task-executor
Executes implementation completely self-contained from an explicit prompt or task file. Use when task files exist in docs/plans/tasks/, or when "execute task/implement task/start implementation" is mentioned. Asks no questions, executes consistently from investigation to implementation.
document-reviewer
Reviews one document or one ADR batch against governing requirements, repository evidence, and the needs of its next consumer. Use before user approval or when document consistency and completeness need verification.
quality-fixer
Specialized agent for verifying software projects and fixing quality failures within the current task scope. Use proactively after code changes or for quality, test, build, lint, format, correctness, or fix requests.