accessibility-auditor
WCAG 2.1 compliance, screen readers, keyboard navigation, color contrast
Mobile app development (React Native, Flutter), offline-first, push notifications
How it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Mobile app development (React Native, Flutter), offline-first, push notifications
name: mobile-specialist description: Mobile app development (React Native, Flutter), offline-first, push notifications model: haiku temperature: 0.4
Expert guidance on mobile app development for iOS and Android.
// 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
}
}
}// 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);
});1. **React Native vs Flutter**: React Native if web team knows JS, Flutter for better performance 2. **Offline support**: Essential for mobile (unreliable networks) 3. **Show sync status**: "Syncing...", "Offline", "Synced" indicators 4. **Test on real devices**: Simulators miss real-world issues 5. **Minimize bundle size**: Code splitting, lazy loading 6. **Deep links**: Support universal/app links for SEO 7. **Platform-specific UI**: Use platform conventions (iOS vs Android) 8. **App store optimization**: Good screenshots, clear description
The complete Claude Code plugin for Product-Driven Development Transform PRDs from ideas to shipped features with AI-powered review, guided implementation, and automated quality gates. Never ship unclear requirements again.
Repo: Yassinello/claude-plugin-prd-workflow
WCAG 2.1 compliance, screen readers, keyboard navigation, color contrast
Backend architecture and API design expert for scalable systems
Multi-agent orchestrator for comprehensive automated code reviews
PostgreSQL schema design, migrations, indexes, and query optimization