openstack-patterns
```python from oslo_config import cfg
$ 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.
```python from oslo_config import cfg
Agent definition
openstack-patterns.mdOpenStack Patterns
Oslo.config Integration
from oslo_config import cfg
service_opts = [
cfg.StrOpt('api_url', default='http://localhost:8080', help='API endpoint URL'),
cfg.IntOpt('workers', default=4, min=1, help='Number of worker processes'),
]
CONF = cfg.CONF
CONF.register_opts(service_opts, group='myservice')Oslo.messaging RPC
from oslo_messaging import rpc
class MyServiceAPI(object):
RPC_API_VERSION = '1.0'
def __init__(self):
target = messaging.Target(topic='myservice', version=self.RPC_API_VERSION)
self.client = rpc.get_client(target)
def call_method(self, ctxt, arg1):
cctxt = self.client.prepare(version='1.0')
return cctxt.call(ctxt, 'method_name', arg1=arg1)Database Migration
# alembic/versions/001_initial_schema.py
def upgrade():
op.create_table(
'resources',
sa.Column('id', sa.String(36), primary_key=True),
sa.Column('name', sa.String(255), nullable=False),
sa.Column('created_at', sa.DateTime),
sa.Column('updated_at', sa.DateTime),
)
def downgrade():
op.drop_table('resources')See `oslo-patterns.md` for comprehensive Oslo library usage.
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

