XMPP Debugger skill

xmpp-debugger-skill

Skill with minimal Python scripts for debugging XMPP bots: connect, send a message and wait for replies

  • 0 ★ on the repository
  • Last commit
Skill

Extended access

Why this level

  • Uses an XMPP account password from the environment
  • Opens network connections to the server
All reasons and checks

maxeetig/xmpp-debugger-skill

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/xmpp-debugger-skill

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • Uses an XMPP account password from the environment
  • Opens network connections to the server

This is third-party code. Review the repository files before installing.

What it does

The skill gives the agent two scripts: send_message.py logs in and sends one message, and listen_messages.py listens for incoming messages from a given contact until a timeout. Shared client logic lives in xmpp_client.py and uses only the Python standard library. The password comes from the XMPP_PASSWORD variable, and sender and recipient JIDs are passed explicitly at runtime.

Who it is for. Developers and testers of chatbots running over XMPP.

Good fit when

  • You need to check how an XMPP bot replies to a specific message
  • You want to see the raw XML exchange with the server via --debug
  • The agent is changing a bot and should verify the result itself

Not a fit when

  • You need a full XMPP client with group chats, files and history
  • The messenger does not use XMPP

Example request

Send ping to bot@example.com from user@example.com and show what it replies within 20 seconds

Limitations

Only sending a single message and listening for replies are supported. It needs access to an XMPP server and a valid account. If the host differs from the JID domain, pass it with --host.

How to disable. Delete the skill folder from the agent's skills directory and unset XMPP_PASSWORD.

FAQ

What port and resource are used by default?

Port 5222 and resource codex. Use --direct-tls for direct TLS instead of STARTTLS.

Discussion

No questions or reviews yet.

Skills

A CLI to evaluate and evolve agent skills: declarative YAML cases, runs across engines and structured reports

CLIExtended access1.4KRepository stars

A skill that lets an agent write and run Playwright scripts: page tests, forms, screenshots and link checks

SkillBroad access3.3KRepository stars

Unit tests for skills: checks that an agent finds and uses your skill. Node 20 and Docker are needed, plus a model key

CLIExtended access732Repository stars

Swift Testing Agent Skill

swift-testing-agent-skill

A Swift Testing skill from Antoine van der Lee: the new APIs, migration from XCTest, parameterized tests and flat tests. For Claude Code and other agents

SkillMinimal access476Repository stars

An adversarial code-audit skill: Hunter finds bugs, Skeptic challenges them, Referee rules, and no source edit happens without your permission

SkillExtended access540Repository stars

Reviews the git diff and the conversation with the agent: catches bugs and gaps between your request and the agent's result. CLI, skill, GitHub Action

SkillExtended access512Repository stars

README in short

The repository holds minimal Python scripts for XMPP debugging: connecting, sending a message and listening for replies. No real JIDs or server addresses are hardcoded, and credentials are read only from environment variables. It needs Python 3.10+ and access to an XMPP server. The README lists the scripts and optional flags.

README badge

Original SKILL.md

---
name: xmpp-debugger
description: Send and receive XMPP chat messages for bot debugging and manual protocol checks. Use when Codex needs to talk to an XMPP contact, inspect replies, and verify chatbot behavior over XMPP.
---

# Xmpp Debugger

## Overview

Use the bundled scripts to authenticate with your configured account, send a chat message, and wait for incoming replies from a bot or another contact. Prefer the scripts over handwritten socket code so the login and stanza flow stay consistent.

## Workflow

1. Export the password without writing it to disk:

```bash
export XMPP_PASSWORD='...'
```

2. Send a message to the bot or another contact:

```bash
python3 scripts/send_message.py \
  --jid user@example.com \
  --to bot@example.com \
  --body 'hello from codex'
```

3. Listen for replies:

```bash
python3 scripts/listen_messages.py \
  --jid user@example.com \
  --filter-from bot@example.com \
  --timeout 30
```

4. If the server uses a different host than the JID domain, read [xmpp-notes.md](references/xmpp-notes.md) and pass `--host`.

## Defaults

- Sender JID: required (`--jid`)
- Peer JID: required for send (`--to`) and optional filter for listen (`--filter-from`)
- Password source: `XMPP_PASSWORD`
- Default port: `5222`
- Default resource: `codex`

Override these values with flags only when the environment differs from the standard setup.

## Scripts

- `scripts/send_message.py`: Log in, bind a resource, send one chat message, and exit.
- `scripts/listen_messages.py`: Log in, announce presence, and print matching incoming chat messages until timeout.
- `scripts/xmpp_client.py`: Shared minimal XMPP client implementation.

## Operating Rules

- Keep credentials in environment variables, not in prompts or files.
- Use the send script for deterministic outbound tests instead of composing raw XML by hand.
- Use the listen script when you need the bot's exact reply text and sender JID.

Report a problem

Foxx AIXMPP Debugger
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.