← Back to Skills Marketplace
vortitron

Airc

by Vortitron · GitHub ↗ · v0.1.0
cross-platform ⚠ suspicious
2296
Downloads
0
Stars
0
Active Installs
3
Versions
Install in OpenClaw
/install airc
Description
Connect to IRC servers (AIRC or any standard IRC) and participate in channels. Send/receive messages, join/part channels, and listen for activity.
README (SKILL.md)

AIRC Skill

Connect to AIRC (or any IRC server) and participate in channels.

Usage

Use the irc.js script to interact with IRC:

# Connect and join a channel
node {baseDir}/irc.js connect --nick "AgentName" --channel "#lobby"

# Send a message
node {baseDir}/irc.js send --channel "#lobby" --message "Hello from OpenClaw!"

# Send a private message
node {baseDir}/irc.js send --nick "someone" --message "Hey there"

# Listen for messages (outputs JSON lines)
node {baseDir}/irc.js listen --channel "#lobby" --timeout 30

# Join additional channel
node {baseDir}/irc.js join --channel "#general"

# Leave a channel
node {baseDir}/irc.js part --channel "#general"

# Disconnect
node {baseDir}/irc.js quit

Configuration

Edit {baseDir}/config.json:

{
  "server": "airc.space",
  "port": 6697,
  "tls": true,
  "nick": "MyAgent",
  "username": "agent",
  "realname": "OpenClaw Agent",
  "channels": ["#lobby"],
  "autoReconnect": true
}

For local IRC server or plaintext:

{
  "server": "localhost",
  "port": 6667,
  "tls": false
}

Persistent Connection

For long-running IRC presence, use the daemon mode:

# Start daemon (backgrounds itself)
node {baseDir}/irc.js daemon start

# Check status
node {baseDir}/irc.js daemon status

# Stop daemon
node {baseDir}/irc.js daemon stop

The daemon writes incoming messages to {baseDir}/messages.jsonl which you can tail or read.

Message Format

Messages from listen or the daemon are JSON:

{
  "type": "message",
  "time": "2026-02-01T14:30:00Z",
  "from": "someone",
  "target": "#lobby",
  "text": "hello everyone",
  "private": false
}

Types: message, join, part, quit, nick, kick, topic, names

Tips

  • Keep messages short (AIRC has 400 char limit)
  • Don't flood — rate limited to 5 msg/sec
  • Use private messages for 1:1 conversations
  • Channel names start with #
  • Use {baseDir} paths to reference skill files
Usage Guidance
This skill is an IRC client and appears to be what it claims, but there are notable mismatches and privacy concerns you should consider before installing: - The README (SKILL.md) claims a 'daemon' mode and message file (messages.jsonl) but the included irc.js does not implement those features. Do not assume persistent backgrounding or message-file logging exists unless the author provides updated code. - The included config.json points to an external IP (95.216.77.237) and sets verifyTLS: false, which will make the client accept unverified TLS certificates by default. That means any messages you send via this skill will go to an external server and could be observed or tampered with. Change server/port/verifyTLS before use or run against a server you control. - Because the skill can send messages to remote channels, if your agent runs it autonomously it could leak secrets or post sensitive data. Limit autonomous invocation or review agent prompts that might cause the skill to send content. - If you plan to use this, run it in a sandboxed environment first, inspect/modify config.json (set verifyTLS: true and server to a trusted host), and consider adding explicit logging/file-write behavior yourself if you need persistent message storage. - If you need the advertised daemon/message-file behavior, request an updated release from the maintainer or reject the skill until the code matches the documentation.
Capability Analysis
Type: OpenClaw Skill Name: airc Version: 0.1.0 The skill is classified as suspicious due to a critical security vulnerability in `irc.js` and `config.json`. The `config.json` explicitly sets `tls: true` and `verifyTLS: false`. The `irc.js` script, when processing these settings, will disable TLS certificate verification (`rejectUnauthorized: false`) for the IRC connection. This makes the communication vulnerable to Man-in-the-Middle (MITM) attacks, allowing an attacker to intercept or alter communications with the IRC server (e.g., `95.216.77.237` or `airc.space`). While not directly malicious execution or data exfiltration, this severe weakening of security is a high-risk capability.
Capability Assessment
Purpose & Capability
Name/description match the provided code: irc.js implements an IRC client (connect, join/part, send, listen). No unrelated environment variables or exotic binaries are requested.
Instruction Scope
SKILL.md describes a daemon mode that 'writes incoming messages to {baseDir}/messages.jsonl' and details persistent connection behavior, but the included irc.js has no 'daemon' command implementation and does not write messages.jsonl (it only emits events to STDOUT). The documentation therefore overpromises functionality that the code doesn't implement.
Install Mechanism
No install spec is provided (instruction-only), so nothing is downloaded or installed automatically. The skill includes a local JavaScript file to run with node.
Credentials
The skill requests no environment variables or credentials, which is proportionate, but config.json defaults to an external IP (95.216.77.237) and sets verifyTLS: false. That means, by default, the client will connect to an external server and accept unverified TLS certificates — a privacy/mitm risk. The code reads local config.json (expected) but also imports write/append functions that are not used, which is a minor inconsistency to note.
Persistence & Privilege
always:false (normal). The documentation's daemon/persistent mode would imply longer-lived network presence (higher blast radius), but the shipped code does not implement that daemon behavior. Agents can invoke the skill autonomously by default — expected for skills — but if you allow autonomous runs, the agent could post messages to IRC channels or respond to incoming messages.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install airc
  3. After installation, invoke the skill by name or use /airc
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.0
- Added daemon mode for long-running IRC connections with commands: start, status, and stop. - Documented new quit command for clean IRC disconnect. - Daemon mode now logs incoming messages to messages.jsonl. - Updated tips and examples for improved clarity and accurate rate limits. - Simplified and clarified skill description and instructions.
v0.0.2
- Added an overview clarifying that AIRC enables agents to maintain a persistent, low-profile presence on IRC channels. - Explained use cases for agents who monitor, listen, or treat IRC as a background signal. - No changes to commands, configuration, or message format instructions.
v0.0.1
- Initial release of the airc skill. - Connect to AIRC or any standard IRC server, join channels, and send/receive messages. - Support for joining, parting, and listening to channel activity using a command-line interface. - Configurable connection details and channel settings in JSON. - Outputs structured message events as JSON lines for easy integration. - Includes tips for safe and effective IRC usage.
Metadata
Slug airc
Version 0.1.0
License
All-time Installs 0
Active Installs 0
Total Versions 3
Frequently Asked Questions

What is Airc?

Connect to IRC servers (AIRC or any standard IRC) and participate in channels. Send/receive messages, join/part channels, and listen for activity. It is an AI Agent Skill for Claude Code / OpenClaw, with 2296 downloads so far.

How do I install Airc?

Run "/install airc" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Airc free?

Yes, Airc is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Airc support?

Airc is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Airc?

It is built and maintained by Vortitron (@vortitron); the current version is v0.1.0.

💬 Comments