monorepo-config
<!-- Loaded by react-native-engineer when task involves monorepo, fonts, imports, design system, dependency versions, autolinking -->
$ npx -y skills add notque/vexjoy-agent --agent claude-codeHow it fires
How this agent gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
Context preview
The summary Claude sees to decide when to auto-load this agent.
<!-- Loaded by react-native-engineer when task involves monorepo, fonts, imports, design system, dependency versions, autolinking -->
Agent definition
monorepo-config.mdMonorepo Config Reference
<!-- Loaded by react-native-engineer when task involves monorepo, fonts, imports, design system, dependency versions, autolinking -->
Install Native Dependencies in the App Directory
**Impact:** CRITICAL — required for autolinking
Autolinking only scans the native app's `node_modules`. Native deps in shared packages but missing from the app directory won't link.
**Instead of:**
packages/
ui/
package.json ← has react-native-reanimated
app/
package.json ← missing react-native-reanimated ← autolinking fails**Use:**
// packages/app/package.json
{
"dependencies": {
"react-native-reanimated": "3.16.1"
}
}Even if only the shared package uses the native dep, the app must declare it.
---
Use Single Dependency Versions Across the Monorepo
**Impact:** MEDIUM — avoids duplicate bundles and version conflicts
**Instead of:**
// packages/app: "react-native-reanimated": "^3.0.0"
// packages/ui: "react-native-reanimated": "^3.5.0"
**Use:**
// package.json (root)
{
"pnpm": {
"overrides": { "react-native-reanimated": "3.16.1" }
}
}
// npm: "overrides", yarn: "resolutions"Use exact versions (no `^` or `~`). Use `syncpack` to audit consistency.
---
Load Fonts at Build Time with Expo Config Plugin
**Impact:** LOW — fonts available at launch, no loading state
**Instead of:**
const [fontsLoaded] = useFonts({ 'Geist-Bold': require('./assets/fonts/Geist-Bold.otf') })
if (!fontsLoaded) return null**Use:**
// app.json
{
"expo": {
"plugins": [
["expo-font", { "fonts": ["./assets/fonts/Geist-Bold.otf"] }]
]
}
}Run `npx expo prebuild` after adding fonts. Requires Expo (managed or bare with config plugins).
---
Re-export Dependencies Through a Design System Folder
**Impact:** LOW — single point of change for component swaps
**Instead of:**
import { View, Text } from 'react-native'
import { Button } from '@ui/button'**Use:**
// components/view.tsx
export function View(props: Pick<React.ComponentProps<typeof RNView>, 'style' | 'children'>) {
return <RNView {...props} />
}
// App code
import { View } from '@/components/view'Start with re-exports. Customize prop shapes later without changing app code.
Read more
Monorepo Config Reference
<!-- Loaded by react-native-engineer when task involves monorepo, fonts, imports, design system, dependency versions, autolinking -->
Install Native Dependencies in the App Directory
**Impact:** CRITICAL — required for autolinking
Autolinking only scans the native app's `node_modules`. Native deps in shared packages but missing from the app directory won't link.
**Instead of:**
packages/
ui/
package.json ← has react-native-reanimated
app/
package.json ← missing react-native-reanimated ← autolinking fails**Use:**
// packages/app/package.json
{
"dependencies": {
"react-native-reanimated": "3.16.1"
}
}Even if only the shared package uses the native dep, the app must declare it.
---
Use Single Dependency Versions Across the Monorepo
**Impact:** MEDIUM — avoids duplicate bundles and version conflicts
**Instead of:**
// packages/app: "react-native-reanimated": "^3.0.0" // packages/ui: "react-native-reanimated": "^3.5.0"
**Use:**
// package.json (root)
{
"pnpm": {
"overrides": { "react-native-reanimated": "3.16.1" }
}
}
// npm: "overrides", yarn: "resolutions"Use exact versions (no `^` or `~`). Use `syncpack` to audit consistency.
---
Load Fonts at Build Time with Expo Config Plugin
**Impact:** LOW — fonts available at launch, no loading state
**Instead of:**
const [fontsLoaded] = useFonts({ 'Geist-Bold': require('./assets/fonts/Geist-Bold.otf') })
if (!fontsLoaded) return null**Use:**
// app.json
{
"expo": {
"plugins": [
["expo-font", { "fonts": ["./assets/fonts/Geist-Bold.otf"] }]
]
}
}Run `npx expo prebuild` after adding fonts. Requires Expo (managed or bare with config plugins).
---
Re-export Dependencies Through a Design System Folder
**Impact:** LOW — single point of change for component swaps
**Instead of:**
import { View, Text } from 'react-native'
import { Button } from '@ui/button'**Use:**
// components/view.tsx
export function View(props: Pick<React.ComponentProps<typeof RNView>, 'style' | 'children'>) {
return <RNView {...props} />
}
// App code
import { View } from '@/components/view'Start with re-exports. Customize prop shapes later without changing app code.
Essays and writing behind this toolkit live at vexjoy.com. AI agents skip steps. "Looks correct" replaces running tests. "Trivial change" replaces verification.
Repo: notque/vexjoy-agent
Other agents on vexjoy-agent.
- ansible-automation-engineer
Ansible automation: playbooks, roles, collections, Molecule testing, Vault security.
Open agent - modules
**Scope**: Module selection patterns, builtin vs command/shell decisions, collection modules, and version-specific module changes **Version range**: ansible-core 2.14+ / Ansible Collections (community.general 7.0+) **Generated**: 2026-04-04 — verify against current Ansible
Open agent - testing
**Scope**: Molecule test scenarios, ansible-lint rules, idempotency validation, and check-mode patterns **Version range**: Molecule 6.0+ / ansible-lint 6.0+ / ansible-core 2.14+ **Generated**: 2026-04-04 — verify against current Molecule and ansible-lint documentation
Open agent - base-instructions
Universal operational rules injected by /do at agent dispatch. Domain-specific rules live in each agent's .md file.
Open agent - communication-patterns
**Scope**: Failure modes in agent output style — over-reporting, self-congratulation, verbose narration, and hedging. Covers what to detect and how to fix each. **Version range**: all versions **Generated**: 2026-05-11
Open agent - combat-effects-upgrade
Zero-dependency combat visual upgrades: CSS particle replacement, Framer Motion combat juice, CSS 3D card transforms.
Open agent

