ansible-automation-eng…
Ansible automation: playbooks, roles, collections, Molecule testing, Vault security.
**Scope**: Extracting actionable upgrade items from Claude Code release notes, user goal changes, and learning.db retro candidates. Does NOT cover component implementation — only parsing and classification. **Version range**: Claude Code releases, all versions **Generated**:
$ 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.
**Scope**: Extracting actionable upgrade items from Claude Code release notes, user goal changes, and learning.db retro candidates. Does NOT cover component implementation — only parsing and classification. **Version range**: Claude Code releases, all versions **Generated**:
> **Scope**: Extracting actionable upgrade items from Claude Code release notes, user goal changes, and learning.db retro candidates. Does NOT cover component implementation — only parsing and classification. > **Version range**: Claude Code releases, all versions > **Generated**: 2026-04-15 — verify signal categories against current release format
---
Upgrade signals arrive in three forms: Claude Code release notes (feature additions, deprecations, breaking changes), user goal-change statements (new workflows to support), and retro-driven signals from the learning.db graduation queue. Each form requires a different parsing strategy. The most common failure is treating a feature mention as an upgrade requirement without identifying *which component type* is affected.
---
| Signal Form | Entry Point | Affected Components | Urgency Heuristic | |-------------|-------------|--------------------|--------------------| | Claude Code release note | `feat:` / `fix:` / `BREAKING:` prefix | Hooks (new events), agents (new capabilities), routing tables | BREAKING = Critical; new tool = Important; fix = Minor | | User goal change | "from now on", "whenever X", "always Y" | Hooks (behavioral automation), agents (routing triggers) | User-stated = Critical | | Retro graduation | `learning.db` candidates with `status=candidate` | Agent failure modes, skill instructions | Recurrence count drives priority |
---
| Keyword Pattern | Component Type | Change Action | |-----------------|---------------|---------------| | `new tool:`, `added tool` | Agents with `allowed-tools` | Add to `allowed-tools` list | | `deprecated:`, `removed:` | Any component using deprecated API | `deprecate` or `upgrade` | | `BREAKING:` + tool name | All hooks using that tool | `upgrade` — verify event schema | | `hook event:`, `new event type` | Hooks registered for that event | `create-new` or `upgrade` | | `model:`, `default model changed` | Agents with hardcoded model names | `upgrade` — update model field | | `compaction`, `context window` | Hooks monitoring session state | `upgrade` — adjust thresholds |
---
Parse each actionable item as a triple: (what changed, which component types are affected, urgency tier).
## Change Manifest — Claude Code vX.Y | Signal | Component Types | Change Action | Tier | |--------|----------------|--------------|------| | New `Write` tool event type in PostToolUse | Hooks with PostToolUse | Upgrade event schema | Critical | | Deprecated `--json` flag in bash | Scripts using bash --json | Upgrade call sites | Important | | New Claude model released (e.g. `claude-<family>-<version>`) | Agents with model: sonnet | Review model field | Minor |
**Why**: A manifest without the component-type column causes the AUDIT phase to scan everything. Scoping to component types cuts audit time from O(all) to O(affected).
---
Extract the automation trigger and the behavioral change. Map trigger → hook event type.
User: "from now on when a file is renamed, update all imports" Parse: - Trigger: file renamed (PostToolUse on Write/Edit with path change detection) - Behavior: update imports (new hook, requires Bash tool) - Affected: hooks/posttool-rename-sweep.py (exists — upgrade) OR new hook (create-new) - Urgency: Critical (user-stated)
**Why**: Goal-change statements always imply automation (hooks), not one-time actions. If no existing hook covers the trigger, `create-new` is the right action.
---
Query learning.db for graduated patterns and map to component updates.
# Find retro candidates with recurrence > 2 python3 scripts/learning-db.py list --status candidate --min-count 3 # Find patterns associated with specific component type python3 scripts/learning-db.py list --component-type agent --status candidate
Map recurrence count to tier:
---
<!-- no-pair-required: section header, not a standalone failure mode block -->
**Detection**:
# Look for empty Change Manifest tables in task_plan.md grep -A 5 "Change Manifest" task_plan.md | grep -c "^|" # Should be > 1 (header row + at least one data row)
**Why this matters**: A zero-signal manifest means the trigger was too vague. The AUDIT phase will scan all components with no scoping, producing noise and wasting time. Phase 1 instructions explicitly say: "If you extracted 0 actionable signals, do not proceed."
Do instead: Ask the user for specifics. Quote the exact feature or change being referenced.
---
**Signal**: A release note mentions "improved JSON output" and the agent immediately schedules upgrades to every script that uses JSON.
**Why this matters**: Not every mention is a breaking change. Only changes that alter the interface (tool signature, event schema, model name) require upgrades.
Do instead: For each signal, ask: "Does this change the interface a component depends on?" If no: Minor or skip. If yes: Important or Critical.
---
**Signal**: A single Change Manifest combining release-note signals, user goal-change statements, and retro signals without flagging their source.
**Why this matters**: Each signal type has different urgency heuristics and different component scope. Mixing them without source labels causes the PLAN phase to assign wrong tiers.
Do instead: Separate into sections by signal type. Label each row with its source.
---
| Error Message | Root Cause | Fix | |------
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.