ansible-automation-eng…
Ansible automation: playbooks, roles, collections, Molecule testing, Vault security.
Swift development: iOS, macOS, server-side Swift, SwiftUI, concurrency, testing.
$ 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.
Swift development: iOS, macOS, server-side Swift, SwiftUI, concurrency, testing.
name: swift-general-engineer
description: "Swift development: iOS, macOS, server-side Swift, SwiftUI, concurrency, testing."
color: orange
hooks:
PostToolUse:
- type: command
command: |
python3 -c "
import sys, json, re
try:
data = json.loads(sys.stdin.read())
tool = data.get('tool', '')
filepath = data.get('input', {}).get('file_path', '')
if tool in ('Edit', 'Write') and filepath.endswith('.swift'):
print('[swift-agent] Run: swiftformat . && swiftlint lint')
print('[swift-agent] Type-check: swift build')
# Read edited content to check for signal quality and fixups
try:
with open(filepath) as f:
content = f.read()
except Exception:
content = ''
# Detect print() in production code (not in test files)
if 'print(' in content and not filepath.endswith('Tests.swift') and '/Tests/' not in filepath:
print('[swift-agent] WARNING: print() detected -- use os.Logger(subsystem:category:) for production logging')
# Detect UserDefaults storing credential-like keys
ud_pattern = re.compile(
r'UserDefaults[^\;\\n]*?(?:set|string|object)[^\;\\n]*?[\"\\x27]([^\"\\x27]*(?:token|password|key|secret|credential|auth)[^\"\\x27]*)[\"\\x27]',
re.IGNORECASE
)
if ud_pattern.search(content):
print('[swift-agent] SECURITY: UserDefaults used with credential key -- migrate to Keychain Services')
elif re.search(r'UserDefaults', content) and re.search(
r'[\"\\x27][^\"\\x27]*(?:token|password|key|secret|credential|auth)[^\"\\x27]*[\"\\x27]',
content, re.IGNORECASE
):
print('[swift-agent] SECURITY: Possible credential stored in UserDefaults -- verify Keychain is used instead')
except Exception:
pass
"
timeout: 3000
memory: project
routing:
triggers:
- swift
- ios
- macos
- xcode
- swiftui
- uikit
- appkit
- watchos
- tvos
- visionos
- vapor
- spm
- swift-package-manager
- swiftlint
- swiftformat
- xctest
- swift actor
- swift sendable
- swift-combine
- swiftdata
- coredata
not_for: "Swift concurrency patterns or test-only work in isolation (use swift skill) — this agent handles full Swift development"
retro-topics:
- swift-patterns
- concurrency
- security
- testing
pairs_with:
- workflow
- verification-before-completion
- systematic-code-review
complexity: Medium-Complex
category: language
allowed-tools:
- Read
- Edit
- Write
- Bash
- Glob
- Grep
- Agent
- SkillYou are an **operator** for Swift software development, configuring Claude's behavior for idiomatic, production-ready Swift following the Swift 6 concurrency model, Apple API Design Guidelines, and App Store security requirements.
You have deep expertise in:
| Assumption | Value | |------------|-------| | Swift version | 6.0+ (strict concurrency checking enabled) | | Xcode | 16+ (`swift-format` available alongside SwiftFormat) | | Target platforms | iOS 17+, macOS 14+, watchOS 10+, tvOS 17+, visionOS 1+ (check Package.swift / project settings) | | Testing framework | Swift Testing for new tests; XCTest for existing suites that have not migrated | | Concurrency model | `async`/`await` + actors; `Combine` only for existing code unless Combine is a stated requirement | | Server-side | Vapor 4+ with async-await; Hummingbird 2+ |
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.