specweave 1.0.239 → 1.0.241

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/CLAUDE.md +31 -30
  2. package/README.md +1 -1
  3. package/bin/specweave.js +16 -0
  4. package/dist/plugins/specweave-ado/lib/ado-permission-gate.d.ts.map +1 -1
  5. package/dist/plugins/specweave-ado/lib/ado-permission-gate.js +17 -2
  6. package/dist/plugins/specweave-ado/lib/ado-permission-gate.js.map +1 -1
  7. package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts +7 -0
  8. package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts.map +1 -1
  9. package/dist/plugins/specweave-github/lib/github-feature-sync.js +53 -0
  10. package/dist/plugins/specweave-github/lib/github-feature-sync.js.map +1 -1
  11. package/dist/plugins/specweave-jira/lib/jira-permission-gate.d.ts.map +1 -1
  12. package/dist/plugins/specweave-jira/lib/jira-permission-gate.js +17 -2
  13. package/dist/plugins/specweave-jira/lib/jira-permission-gate.js.map +1 -1
  14. package/dist/plugins/specweave-testing/lib/playwright-cli-detector.d.ts +1 -0
  15. package/dist/plugins/specweave-testing/lib/playwright-cli-detector.d.ts.map +1 -1
  16. package/dist/plugins/specweave-testing/lib/playwright-cli-detector.js +7 -3
  17. package/dist/plugins/specweave-testing/lib/playwright-cli-detector.js.map +1 -1
  18. package/dist/plugins/specweave-testing/lib/playwright-cli-runner.d.ts.map +1 -1
  19. package/dist/plugins/specweave-testing/lib/playwright-cli-runner.js +27 -19
  20. package/dist/plugins/specweave-testing/lib/playwright-cli-runner.js.map +1 -1
  21. package/dist/plugins/specweave-testing/lib/playwright-routing.d.ts +8 -0
  22. package/dist/plugins/specweave-testing/lib/playwright-routing.d.ts.map +1 -1
  23. package/dist/plugins/specweave-testing/lib/playwright-routing.js +10 -7
  24. package/dist/plugins/specweave-testing/lib/playwright-routing.js.map +1 -1
  25. package/dist/src/adapters/agents-md-generator.js +1 -1
  26. package/dist/src/adapters/agents-md-generator.js.map +1 -1
  27. package/dist/src/adapters/claude/README.md +1 -1
  28. package/dist/src/adapters/claude-md-generator.js +1 -1
  29. package/dist/src/adapters/claude-md-generator.js.map +1 -1
  30. package/dist/src/cli/commands/init.d.ts.map +1 -1
  31. package/dist/src/cli/commands/init.js +10 -1
  32. package/dist/src/cli/commands/init.js.map +1 -1
  33. package/dist/src/cli/commands/refresh-marketplace.d.ts.map +1 -1
  34. package/dist/src/cli/commands/refresh-marketplace.js +7 -67
  35. package/dist/src/cli/commands/refresh-marketplace.js.map +1 -1
  36. package/dist/src/cli/commands/team.d.ts +20 -0
  37. package/dist/src/cli/commands/team.d.ts.map +1 -0
  38. package/dist/src/cli/commands/team.js +101 -0
  39. package/dist/src/cli/commands/team.js.map +1 -0
  40. package/dist/src/cli/helpers/init/claude-settings-env.d.ts +16 -0
  41. package/dist/src/cli/helpers/init/claude-settings-env.d.ts.map +1 -0
  42. package/dist/src/cli/helpers/init/claude-settings-env.js +44 -0
  43. package/dist/src/cli/helpers/init/claude-settings-env.js.map +1 -0
  44. package/dist/src/cli/helpers/init/plugin-installer.d.ts.map +1 -1
  45. package/dist/src/cli/helpers/init/plugin-installer.js +9 -13
  46. package/dist/src/cli/helpers/init/plugin-installer.js.map +1 -1
  47. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -1
  48. package/dist/src/cli/helpers/issue-tracker/index.js +12 -6
  49. package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
  50. package/dist/src/cli/helpers/issue-tracker/types.d.ts +2 -0
  51. package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +1 -1
  52. package/dist/src/cli/helpers/issue-tracker/types.js.map +1 -1
  53. package/dist/src/core/increment/discipline-checker.js +1 -1
  54. package/dist/src/core/increment/discipline-checker.js.map +1 -1
  55. package/dist/src/core/increment/status-commands.d.ts.map +1 -1
  56. package/dist/src/core/increment/status-commands.js +7 -0
  57. package/dist/src/core/increment/status-commands.js.map +1 -1
  58. package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts +2 -2
  59. package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts.map +1 -1
  60. package/dist/src/core/lazy-loading/llm-plugin-detector.js +63 -25
  61. package/dist/src/core/lazy-loading/llm-plugin-detector.js.map +1 -1
  62. package/dist/src/core/reflection/reflect-handler.js +2 -2
  63. package/dist/src/core/reflection/reflect-handler.js.map +1 -1
  64. package/dist/src/core/session/handoff-context.js +2 -2
  65. package/dist/src/core/session/handoff-context.js.map +1 -1
  66. package/dist/src/sync/ado-reconciler.d.ts.map +1 -1
  67. package/dist/src/sync/ado-reconciler.js +21 -2
  68. package/dist/src/sync/ado-reconciler.js.map +1 -1
  69. package/dist/src/sync/engine.d.ts.map +1 -1
  70. package/dist/src/sync/engine.js +2 -0
  71. package/dist/src/sync/engine.js.map +1 -1
  72. package/dist/src/sync/github-reconciler.d.ts.map +1 -1
  73. package/dist/src/sync/github-reconciler.js +52 -26
  74. package/dist/src/sync/github-reconciler.js.map +1 -1
  75. package/dist/src/sync/jira-reconciler.d.ts.map +1 -1
  76. package/dist/src/sync/jira-reconciler.js +16 -3
  77. package/dist/src/sync/jira-reconciler.js.map +1 -1
  78. package/dist/src/sync/providers/ado.d.ts.map +1 -1
  79. package/dist/src/sync/providers/ado.js +4 -2
  80. package/dist/src/sync/providers/ado.js.map +1 -1
  81. package/dist/src/sync/providers/github.d.ts.map +1 -1
  82. package/dist/src/sync/providers/github.js +11 -0
  83. package/dist/src/sync/providers/github.js.map +1 -1
  84. package/dist/src/sync/providers/jira.d.ts.map +1 -1
  85. package/dist/src/sync/providers/jira.js +14 -2
  86. package/dist/src/sync/providers/jira.js.map +1 -1
  87. package/dist/src/sync/sync-coordinator.d.ts.map +1 -1
  88. package/dist/src/sync/sync-coordinator.js +31 -6
  89. package/dist/src/sync/sync-coordinator.js.map +1 -1
  90. package/dist/src/utils/auto-install.js +4 -4
  91. package/dist/src/utils/auto-install.js.map +1 -1
  92. package/package.json +2 -2
  93. package/plugins/FINAL-AUDIT-RECOMMENDATIONS.md +3 -3
  94. package/plugins/SKILLS-VS-AGENTS.md +1 -1
  95. package/plugins/specweave/PLUGIN.md +0 -2
  96. package/plugins/specweave/commands/export-skills.md +1 -1
  97. package/plugins/specweave/commands/role-orchestrator.md +1 -1
  98. package/plugins/specweave/hooks/log-decision.sh +6 -0
  99. package/plugins/specweave/hooks/stop-auto-v5.sh +17 -1
  100. package/plugins/specweave/hooks/stop-reflect.sh +16 -2
  101. package/plugins/specweave/hooks/stop-sync.sh +17 -9
  102. package/plugins/specweave/hooks/user-prompt-submit.sh +119 -35
  103. package/plugins/specweave/lib/vendor/sync/github-reconciler.js +52 -26
  104. package/plugins/specweave/lib/vendor/sync/github-reconciler.js.map +1 -1
  105. package/plugins/specweave/scripts/read-grill-context.sh +149 -0
  106. package/plugins/specweave/skills/code-review/SKILL.md +608 -0
  107. package/plugins/specweave/skills/done/SKILL.md +1 -1
  108. package/plugins/specweave/skills/grill/SKILL.md +91 -0
  109. package/plugins/specweave/skills/performance/SKILL.md +6 -0
  110. package/plugins/specweave/skills/security/SKILL.md +7 -0
  111. package/plugins/specweave/skills/security-patterns/SKILL.md +6 -0
  112. package/plugins/specweave/skills/tdd-orchestrator/SKILL.md +1 -1
  113. package/plugins/specweave/skills/team-build/SKILL.md +1 -1
  114. package/plugins/specweave/skills/team-orchestrate/SKILL.md +1 -1
  115. package/plugins/specweave/skills/tech-lead/SKILL.md +7 -0
  116. package/plugins/specweave-ado/lib/ado-permission-gate.js +18 -2
  117. package/plugins/specweave-ado/lib/ado-permission-gate.ts +19 -2
  118. package/plugins/specweave-frontend/skills/frontend/SKILL.md +138 -2
  119. package/plugins/specweave-frontend/skills/i18n-expert/SKILL.md +989 -0
  120. package/plugins/specweave-github/hooks/github-auto-create-handler.sh +23 -1
  121. package/plugins/specweave-github/lib/github-feature-sync.js +41 -0
  122. package/plugins/specweave-github/lib/github-feature-sync.ts +62 -0
  123. package/plugins/specweave-infrastructure/PLUGIN.md +2 -1
  124. package/plugins/specweave-infrastructure/skills/gcp-deep-dive/SKILL.md +1172 -0
  125. package/plugins/specweave-infrastructure/skills/observability/SKILL.md +6 -0
  126. package/plugins/specweave-infrastructure/skills/opentelemetry/SKILL.md +6 -0
  127. package/plugins/specweave-jira/lib/jira-permission-gate.js +18 -2
  128. package/plugins/specweave-jira/lib/jira-permission-gate.ts +19 -2
  129. package/plugins/specweave-mobile/PLUGIN.md +1 -2
  130. package/plugins/specweave-mobile/README.md +13 -12
  131. package/plugins/specweave-mobile/skills/capacitor-ionic/SKILL.md +4 -18
  132. package/plugins/specweave-mobile/skills/deep-linking-push/SKILL.md +4 -22
  133. package/plugins/specweave-mobile/skills/expo/SKILL.md +4 -24
  134. package/plugins/specweave-mobile/skills/mobile-testing/SKILL.md +4 -22
  135. package/plugins/specweave-mobile/skills/react-native-expert/SKILL.md +404 -47
  136. package/plugins/specweave-testing/PLUGIN.md +3 -11
  137. package/plugins/specweave-testing/lib/playwright-cli-detector.js +8 -3
  138. package/plugins/specweave-testing/lib/playwright-cli-detector.ts +8 -3
  139. package/plugins/specweave-testing/lib/playwright-cli-runner.js +25 -20
  140. package/plugins/specweave-testing/lib/playwright-cli-runner.ts +24 -19
  141. package/plugins/specweave-testing/lib/playwright-routing.js +1 -6
  142. package/plugins/specweave-testing/lib/playwright-routing.ts +11 -8
  143. package/plugins/specweave-testing/skills/accessibility-testing/SKILL.md +998 -0
  144. package/plugins/specweave-testing/skills/e2e-testing/SKILL.md +29 -28
  145. package/plugins/specweave-testing/skills/mutation-testing/SKILL.md +769 -0
  146. package/plugins/specweave-testing/skills/performance-testing/SKILL.md +961 -0
  147. package/plugins/specweave-testing/skills/qa-engineer/SKILL.md +2 -0
  148. package/plugins/specweave/.specweave/logs/decisions.jsonl +0 -12
  149. package/plugins/specweave/.specweave/logs/reflect/reflect.log +0 -8
  150. package/plugins/specweave/.specweave/logs/stop-auto.log +0 -6
  151. package/plugins/specweave/.specweave/logs/stop-sync.log +0 -10
  152. package/plugins/specweave/.specweave/state/dashboard.json +0 -43
  153. package/plugins/specweave/skills/infrastructure/SKILL.md +0 -86
  154. package/plugins/specweave/skills/qa-lead/SKILL.md +0 -77
  155. package/plugins/specweave-mobile/skills/mobile-architect/SKILL.md +0 -30
  156. package/plugins/specweave-testing/commands/e2e-setup.md +0 -1103
  157. package/plugins/specweave-testing/commands/test-coverage.md +0 -983
  158. package/plugins/specweave-testing/commands/test-generate.md +0 -1160
  159. package/plugins/specweave-testing/commands/test-init.md +0 -413
  160. package/plugins/specweave-testing/commands/ui-automate.md +0 -182
  161. package/plugins/specweave-testing/commands/ui-inspect.md +0 -82
@@ -25,6 +25,12 @@ Design and implement comprehensive observability systems covering metrics, logs,
25
25
  - Prevent alert fatigue
26
26
  - Debug microservices latency
27
27
 
28
+ ## Scope Boundaries
29
+
30
+ This skill covers **OBSERVABILITY STRATEGY**: SLIs/SLOs, error budgets, dashboards, alerting design.
31
+
32
+ - For OpenTelemetry instrumentation details → use `/sw-infra:opentelemetry`
33
+
28
34
  ## Core Concepts
29
35
 
30
36
  ### Three Pillars of Observability
@@ -23,6 +23,12 @@ Design and implement comprehensive observability using OpenTelemetry (OTel). Pro
23
23
  - Kubernetes observability setup
24
24
  - Cost optimization for telemetry data
25
25
 
26
+ ## Scope Boundaries
27
+
28
+ This skill covers **OTEL IMPLEMENTATION**: Collector configuration, auto-instrumentation, sampling strategies.
29
+
30
+ - For high-level observability strategy and SLOs → use `/sw-infra:observability`
31
+
26
32
  ## OTel Architecture Overview
27
33
 
28
34
  ```
@@ -1,5 +1,19 @@
1
1
  import { promises as fs } from "node:fs";
2
2
  import * as path from "node:path";
3
+ function resolvePresetPermissions(preset) {
4
+ switch (preset) {
5
+ case "bidirectional":
6
+ return { canUpsert: true, canUpdateStatus: true };
7
+ case "push-only":
8
+ return { canUpsert: true, canUpdateStatus: true };
9
+ case "full-control":
10
+ return { canUpsert: true, canUpdateStatus: true };
11
+ case "read-only":
12
+ return { canUpsert: false, canUpdateStatus: false };
13
+ default:
14
+ return { canUpsert: false, canUpdateStatus: false };
15
+ }
16
+ }
3
17
  const DEFAULT_SYNC_SETTINGS = {
4
18
  canUpsertInternalItems: false,
5
19
  canUpdateExternalItems: false,
@@ -126,10 +140,12 @@ async function createJiraPermissionGate(projectRoot = process.cwd()) {
126
140
  try {
127
141
  const content = await fs.readFile(configPath, "utf-8");
128
142
  const config = JSON.parse(content);
143
+ const preset = config?.sync?.preset;
144
+ const presetDefaults = resolvePresetPermissions(preset);
129
145
  const settings = {
130
146
  canUpsertInternalItems: config?.sync?.settings?.canUpsertInternalItems ?? false,
131
- canUpdateExternalItems: config?.sync?.settings?.canUpdateExternalItems ?? false,
132
- canUpdateStatus: config?.sync?.settings?.canUpdateStatus ?? false
147
+ canUpdateExternalItems: config?.sync?.settings?.canUpdateExternalItems ?? presetDefaults.canUpsert,
148
+ canUpdateStatus: config?.sync?.settings?.canUpdateStatus ?? presetDefaults.canUpdateStatus
133
149
  };
134
150
  return new JiraPermissionGate(settings, configPath);
135
151
  } catch {
@@ -55,6 +55,19 @@ export interface SyncSettings {
55
55
  canUpdateStatus: boolean;
56
56
  }
57
57
 
58
+ /**
59
+ * Resolve preset permissions for fallback when explicit settings are absent
60
+ */
61
+ function resolvePresetPermissions(preset?: string): { canUpsert: boolean; canUpdateStatus: boolean } {
62
+ switch (preset) {
63
+ case 'bidirectional': return { canUpsert: true, canUpdateStatus: true };
64
+ case 'push-only': return { canUpsert: true, canUpdateStatus: true };
65
+ case 'full-control': return { canUpsert: true, canUpdateStatus: true };
66
+ case 'read-only': return { canUpsert: false, canUpdateStatus: false };
67
+ default: return { canUpsert: false, canUpdateStatus: false };
68
+ }
69
+ }
70
+
58
71
  /**
59
72
  * Default settings (all disabled for safety)
60
73
  */
@@ -219,10 +232,14 @@ export async function createJiraPermissionGate(
219
232
  const content = await fs.readFile(configPath, 'utf-8');
220
233
  const config = JSON.parse(content);
221
234
 
235
+ // v1.0.240 FIX: Honor preset (e.g., "bidirectional") when explicit settings absent
236
+ const preset = config?.sync?.preset;
237
+ const presetDefaults = resolvePresetPermissions(preset);
238
+
222
239
  const settings: SyncSettings = {
223
240
  canUpsertInternalItems: config?.sync?.settings?.canUpsertInternalItems ?? false,
224
- canUpdateExternalItems: config?.sync?.settings?.canUpdateExternalItems ?? false,
225
- canUpdateStatus: config?.sync?.settings?.canUpdateStatus ?? false,
241
+ canUpdateExternalItems: config?.sync?.settings?.canUpdateExternalItems ?? presetDefaults.canUpsert,
242
+ canUpdateStatus: config?.sync?.settings?.canUpdateStatus ?? presetDefaults.canUpdateStatus,
226
243
  };
227
244
 
228
245
  return new JiraPermissionGate(settings, configPath);
@@ -12,8 +12,7 @@ Comprehensive mobile development plugin covering native iOS (SwiftUI), native An
12
12
 
13
13
  | Skill | Description |
14
14
  |-------|-------------|
15
- | mobile-architect | Mobile system design and architecture for iOS, Android, and cross-platform |
16
- | react-native-expert | React Native and Expo expert for environment setup, native modules, and performance |
15
+ | react-native-expert | React Native and Expo architect and expert: architecture, setup, native modules, performance, and debugging |
17
16
  | swiftui | iOS native development with SwiftUI, Swift 6, SwiftData, and modern Apple frameworks |
18
17
  | jetpack-compose | Android native development with Jetpack Compose, Kotlin, Material Design 3, and Hilt |
19
18
  | flutter | Cross-platform development with Flutter and Dart 3+, Riverpod, GoRouter |
@@ -66,15 +66,16 @@ The SpecWeave Mobile plugin provides specialized skills and agents for modern Re
66
66
  - Monorepo configuration
67
67
  - Hermes bytecode optimization
68
68
 
69
- ### Mobile Architect Agent
69
+ ### React Native Expert (Architecture + Implementation)
70
70
 
71
- The `mobile-architect` agent specializes in:
71
+ The `react-native-expert` skill covers both architecture and hands-on implementation:
72
72
  - Application architecture design for React Native / Expo
73
73
  - State management selection (Zustand, TanStack Query, Jotai, Legend State)
74
74
  - Navigation with Expo Router and React Navigation
75
75
  - Performance architecture with modern React features
76
76
  - Platform-specific strategies (iOS design patterns, Android edge-to-edge)
77
- - Testing architecture
77
+ - Environment setup, Metro bundler, native modules
78
+ - Device testing, debugging, and performance optimization
78
79
  - Build and deployment pipelines with EAS
79
80
 
80
81
  ## Installation
@@ -110,15 +111,15 @@ You: "I need to debug network requests in my app"
110
111
  → mobile-debugging skill activates
111
112
  ```
112
113
 
113
- ### Invoke the Mobile Architect Skill
114
+ ### Invoke the React Native Expert Skill
114
115
 
115
- For architectural decisions and system design:
116
+ For architectural decisions, system design, setup, and debugging:
116
117
 
117
118
  ```
118
- Use the Skill tool to invoke the mobile-architect skill:
119
+ Use the Skill tool to invoke the react-native-expert skill:
119
120
 
120
121
  Skill({
121
- skill: "sw-mobile:mobile-architect",
122
+ skill: "sw-mobile:react-native-expert",
122
123
  args: "Design a scalable React Native architecture for a social media app with feed, messaging, and profile features. Include state management, navigation, and performance considerations."
123
124
  })
124
125
  ```
@@ -157,10 +158,10 @@ Skill({
157
158
 
158
159
  ### 4. Architecture Design
159
160
 
160
- **User invokes**: mobile-architect agent
161
+ **User invokes**: react-native-expert skill
161
162
 
162
163
  **What happens**:
163
- - Agent analyzes requirements
164
+ - Skill analyzes requirements
164
165
  - Recommends folder structure
165
166
  - Selects state management solution
166
167
  - Designs navigation architecture
@@ -258,11 +259,11 @@ import { FlashList } from "@shopify/flash-list";
258
259
  ### Example 3: Architecture Design
259
260
 
260
261
  ```
261
- User invokes: mobile-architect agent
262
+ User invokes: react-native-expert skill
262
263
 
263
264
  "Design architecture for a social media app with posts, comments, and real-time chat"
264
265
 
265
- Agent response:
266
+ Skill response:
266
267
  # Architecture Recommendation: Social Media App
267
268
 
268
269
  ## Folder Structure (Feature-Based)
@@ -312,7 +313,7 @@ React Navigation with:
312
313
 
313
314
  - Check the [React Native Setup Guide](.specweave/docs/public/guides/mobile/react-native-setup-guide.md)
314
315
  - Review skill documentation in `skills/*/SKILL.md`
315
- - Invoke the mobile-architect agent for architectural questions
316
+ - Invoke the react-native-expert skill for architectural questions
316
317
 
317
318
  ## Contributing
318
319
 
@@ -9,25 +9,11 @@ context: fork
9
9
 
10
10
  Comprehensive expertise in **Capacitor 6+** and **Ionic Framework** for building cross-platform mobile applications from web technologies. Covers architecture, native API access, custom plugin development, deployment, and when to choose Capacitor over React Native or Flutter.
11
11
 
12
- ## CRITICAL: Fetching Current Documentation
12
+ ## Fetching Current Documentation
13
13
 
14
- **Before providing version-specific guidance, ALWAYS fetch the latest documentation:**
14
+ **Before providing version-specific guidance, verify current versions.** Capacitor releases frequently, and plugin APIs evolve. Always verify current APIs before recommending specific patterns.
15
15
 
16
- ```typescript
17
- // Capacitor
18
- mcp__plugin_context7_context7__resolve-library-id({
19
- libraryName: "@capacitor/core",
20
- query: "Capacitor latest version features and plugin API"
21
- });
22
-
23
- // Ionic Framework
24
- mcp__plugin_context7_context7__resolve-library-id({
25
- libraryName: "@ionic/angular",
26
- query: "Ionic Framework latest version components and features"
27
- });
28
- ```
29
-
30
- **Why?** Capacitor releases frequently, and plugin APIs evolve. Always verify current APIs before recommending specific patterns.
16
+ For library documentation, use WebSearch or install Context7 manually: `claude plugin install context7@claude-plugins-official`
31
17
 
32
18
  ## Capacitor 6+ Architecture
33
19
 
@@ -809,6 +795,6 @@ describe('Product List', () => {
809
795
  ## Related Skills
810
796
 
811
797
  - `expo` - Expo/React Native for comparison
812
- - `mobile-architect` - Architecture decisions
798
+ - `react-native-expert` - Architecture and RN/Expo expertise
813
799
  - `mobile-testing` - Testing Ionic/Capacitor apps
814
800
  - `deep-linking-push` - Deep linking and push in Capacitor
@@ -9,29 +9,11 @@ context: fork
9
9
 
10
10
  Comprehensive expertise in **deep linking** (Universal Links, App Links, deferred deep linking) and **push notifications** (APNs, FCM, rich notifications, silent push) across iOS, Android, React Native, and Flutter.
11
11
 
12
- ## CRITICAL: Fetching Current Documentation
12
+ ## Fetching Current Documentation
13
13
 
14
- **Before providing version-specific guidance, ALWAYS fetch the latest documentation:**
14
+ **Before providing version-specific guidance, verify current versions.** Library APIs for notifications, deep linking, and routing evolve frequently.
15
15
 
16
- ```typescript
17
- // expo-notifications
18
- mcp__plugin_context7_context7__resolve-library-id({
19
- libraryName: "expo-notifications",
20
- query: "Expo notifications setup push notification configuration"
21
- });
22
-
23
- // Firebase Messaging (Flutter)
24
- mcp__plugin_context7_context7__resolve-library-id({
25
- libraryName: "firebase_messaging",
26
- query: "Firebase Cloud Messaging Flutter setup and configuration"
27
- });
28
-
29
- // Expo Router deep linking
30
- mcp__plugin_context7_context7__resolve-library-id({
31
- libraryName: "expo-router",
32
- query: "Deep linking URL handling and navigation"
33
- });
34
- ```
16
+ For library documentation, use WebSearch or install Context7 manually: `claude plugin install context7@claude-plugins-official`
35
17
 
36
18
  ---
37
19
 
@@ -808,6 +790,6 @@ function trackNotificationTap(notificationId: string, action: string) {
808
790
  ## Related Skills
809
791
 
810
792
  - `expo` - Expo-specific notification and linking setup
811
- - `mobile-architect` - Navigation architecture for deep link routing
793
+ - `react-native-expert` - Navigation architecture for deep link routing
812
794
  - `mobile-testing` - Testing deep links and notifications
813
795
  - `capacitor-ionic` - Capacitor deep linking and push setup
@@ -9,31 +9,11 @@ context: fork
9
9
 
10
10
  Comprehensive expertise in **Expo SDK 52+**, the **managed workflow**, and the **React Native New Architecture** (Fabric, TurboModules, JSI). Covers the full lifecycle from project creation through App Store and Play Store submission using EAS.
11
11
 
12
- ## CRITICAL: Fetching Current Documentation
12
+ ## Fetching Current Documentation
13
13
 
14
- **Before providing version-specific guidance, ALWAYS fetch the latest documentation:**
14
+ **Before providing version-specific guidance, verify current versions.** Expo SDK releases every ~3 months and React Native every ~8 weeks. Static version numbers go stale quickly.
15
15
 
16
- ```typescript
17
- // Expo SDK - get current version info
18
- mcp__plugin_context7_context7__resolve-library-id({
19
- libraryName: "expo",
20
- query: "Expo SDK latest version features and migration guide"
21
- });
22
-
23
- // Expo Router - get current routing docs
24
- mcp__plugin_context7_context7__resolve-library-id({
25
- libraryName: "expo-router",
26
- query: "Expo Router file-based routing configuration"
27
- });
28
-
29
- // React Native - New Architecture status
30
- mcp__plugin_context7_context7__resolve-library-id({
31
- libraryName: "react-native",
32
- query: "React Native New Architecture Fabric TurboModules"
33
- });
34
- ```
35
-
36
- **Why?** Expo SDK releases every ~3 months and React Native every ~8 weeks. Static version numbers go stale quickly. Always verify current versions before recommending specific APIs.
16
+ For library documentation, use WebSearch or install Context7 manually: `claude plugin install context7@claude-plugins-official`
37
17
 
38
18
  ## Expo SDK 52+ and the Managed Workflow
39
19
 
@@ -655,7 +635,7 @@ eas submit --platform android --latest
655
635
 
656
636
  ## Related Skills
657
637
 
658
- - `mobile-architect` - Architecture decisions and patterns
638
+ - `react-native-expert` - Architecture decisions and patterns
659
639
  - `react-native-expert` - Bare RN setup, Metro, debugging
660
640
  - `mobile-testing` - Comprehensive testing strategies
661
641
  - `deep-linking-push` - Deep linking and push notification details
@@ -9,29 +9,11 @@ context: fork
9
9
 
10
10
  Comprehensive mobile testing expertise across **iOS**, **Android**, **React Native**, and **Flutter**. Covers the full testing pyramid from unit tests through E2E, plus CI/CD integration, device farms, performance testing, and accessibility automation.
11
11
 
12
- ## CRITICAL: Fetching Current Documentation
12
+ ## Fetching Current Documentation
13
13
 
14
- **Before providing version-specific guidance, ALWAYS fetch the latest documentation:**
14
+ **Before providing version-specific guidance, verify current versions.** Testing frameworks like Detox, Testing Library, and Maestro evolve frequently.
15
15
 
16
- ```typescript
17
- // Detox - React Native E2E testing
18
- mcp__plugin_context7_context7__resolve-library-id({
19
- libraryName: "detox",
20
- query: "Detox E2E testing setup and configuration"
21
- });
22
-
23
- // Testing Library - React Native
24
- mcp__plugin_context7_context7__resolve-library-id({
25
- libraryName: "@testing-library/react-native",
26
- query: "React Native Testing Library component testing"
27
- });
28
-
29
- // Maestro - Cross-platform E2E
30
- mcp__plugin_context7_context7__resolve-library-id({
31
- libraryName: "maestro",
32
- query: "Maestro mobile E2E testing framework"
33
- });
34
- ```
16
+ For library documentation, use WebSearch or install Context7 manually: `claude plugin install context7@claude-plugins-official`
35
17
 
36
18
  ## Test Strategy: The Mobile Testing Pyramid
37
19
 
@@ -702,5 +684,5 @@ genhtml coverage/lcov.info -o coverage/html
702
684
 
703
685
  - `expo` - Expo-specific testing setup
704
686
  - `react-native-expert` - React Native debugging tools
705
- - `mobile-architect` - Architecture for testability
687
+ - `react-native-expert` - Architecture for testability
706
688
  - `deep-linking-push` - Testing deep links and notifications