ansible-automation-eng…
Ansible automation: playbooks, roles, collections, Molecule testing, Vault security.
<!-- 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.
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 -->
<!-- Loaded by react-native-engineer when task involves monorepo, fonts, imports, design system, dependency versions, autolinking -->
**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.
---
**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.
---
**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).
---
**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. VexJoy Agent connects plain-English requests to specialist agents, skills, and workflows. /do selects the knowledge and tools needed for your task.
Repo: notque/vexjoy-agent
Ansible automation: playbooks, roles, collections, Molecule testing, Vault security.
**Scope**: Module selection patterns, builtin vs command/shell decisions, collection modules, and version-specific module changes **Version range**:…
**Scope**: Molecule test scenarios, ansible-lint rules, idempotency validation, and check-mode patterns **Version range**: Molecule 6.0+ / ansible-lint 6.0+ /…
Universal rules injected by /do at dispatch. Each agent's .md file supplies domain rules.
**Scope**: Failure modes in agent output style — over-reporting, self-congratulation, verbose narration, and hedging. Covers what to detect and how to fix…
Zero-dependency combat visual upgrades: CSS particle replacement, Framer Motion combat juice, CSS 3D card transforms.