Skip to content

error-handling

**Cause**: `except:` without exception type **Solution**: Catch specific exceptions: ```python try: do_something() except SpecificException as e: LOG.error('Failed: %s', e) ```

From plugin
vexjoy-agent
413198 skills198 agents10 commands86 hooks
Install
$ npx -y skills add notque/vexjoy-agent --agent claude-code

How 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.

**Cause**: `except:` without exception type **Solution**: Catch specific exceptions: ```python try: do_something() except SpecificException as e: LOG.error('Failed: %s', e) ```

Agent definition

error-handling.md

OpenStack Error Handling

Bare Except Clause (H201)

**Cause**: `except:` without exception type **Solution**: Catch specific exceptions:

try:
    do_something()
except SpecificException as e:
    LOG.error('Failed: %s', e)

Missing i18n Translation

**Cause**: User-facing string without _() **Solution**:

from myservice.i18n import _
raise Exception(_('Resource not found'))

Import Order Violation (H301-H307)

**Cause**: Imports not following OpenStack conventions **Solution**: stdlib, third-party, project:

import os
import sys

import eventlet
from oslo_config import cfg

from myservice import utils
Ships withvexjoy-agent

Essays and writing behind this toolkit live at vexjoy.com. AI agents skip steps. "Looks correct" replaces running tests. "Trivial change" replaces verification.

Get the whole plugin, auto-invoked