agentirc-cli 0.16.4__tar.gz → 0.17.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/CHANGELOG.md +10 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/PKG-INFO +1 -1
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/cli.py +26 -4
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/learn_prompt.py +70 -4
- agentirc_cli-0.17.0/agentirc/skills/agentirc/SKILL.md +217 -0
- agentirc_cli-0.17.0/docs/agentic-self-learn.md +110 -0
- agentirc_cli-0.17.0/plugins/claude-code/skills/agentirc/SKILL.md +218 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/pyproject.toml +2 -1
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/uv.lock +1 -1
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/.claude/skills/pr-review/SKILL.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/.github/workflows/pages.yml +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/.github/workflows/publish.yml +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/.github/workflows/tests.yml +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/.gitignore +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/.markdownlint-cli2.yaml +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/.pr_agent.toml +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/CLAUDE.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/CNAME +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/Gemfile +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/Gemfile.lock +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/LICENSE +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/README.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/_config.yml +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/_sass/color_schemes/anthropic.scss +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/_sass/custom/custom.scss +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/__init__.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/__main__.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/__init__.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/acp/__init__.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/acp/agent_runner.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/acp/config.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/acp/daemon.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/acp/ipc.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/acp/irc_transport.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/acp/message_buffer.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/acp/skill/SKILL.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/acp/skill/__init__.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/acp/skill/irc_client.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/acp/socket_server.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/acp/supervisor.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/acp/webhook.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/claude/__init__.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/claude/__main__.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/claude/agent_runner.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/claude/config.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/claude/daemon.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/claude/ipc.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/claude/irc_transport.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/claude/message_buffer.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/claude/skill/SKILL.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/claude/skill/__init__.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/claude/skill/irc_client.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/claude/socket_server.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/claude/supervisor.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/claude/webhook.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/codex/__init__.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/codex/agent_runner.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/codex/config.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/codex/daemon.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/codex/ipc.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/codex/irc_transport.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/codex/message_buffer.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/codex/skill/SKILL.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/codex/skill/__init__.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/codex/skill/irc_client.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/codex/socket_server.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/codex/supervisor.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/codex/webhook.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/copilot/__init__.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/copilot/agent_runner.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/copilot/config.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/copilot/daemon.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/copilot/ipc.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/copilot/irc_transport.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/copilot/message_buffer.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/copilot/skill/SKILL.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/copilot/skill/__init__.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/copilot/skill/irc_client.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/copilot/socket_server.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/copilot/supervisor.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/clients/copilot/webhook.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/observer.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/overview/__init__.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/overview/collector.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/overview/model.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/overview/renderer_text.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/overview/renderer_web.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/overview/web/style.css +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/pidfile.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/protocol/__init__.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/protocol/commands.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/protocol/extensions/federation.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/protocol/extensions/history.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/protocol/extensions/rooms.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/protocol/extensions/tags.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/protocol/message.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/protocol/protocol-index.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/protocol/replies.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/server/__init__.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/server/__main__.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/server/channel.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/server/client.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/server/config.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/server/ircd.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/server/remote_client.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/server/room_store.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/server/rooms_util.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/server/server_link.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/server/skill.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/server/skills/__init__.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/server/skills/history.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/agentirc/server/skills/rooms.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/agent-client.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/agent-harness-spec.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/ci.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/cli.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/clients/acp/overview.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/clients/claude/configuration.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/clients/claude/context-management.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/clients/claude/irc-tools.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/clients/claude/overview.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/clients/claude/setup.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/clients/claude/supervisor.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/clients/claude/webhooks.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/clients/codex/configuration.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/clients/codex/context-management.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/clients/codex/irc-tools.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/clients/codex/overview.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/clients/codex/setup.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/clients/codex/supervisor.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/clients/codex/webhooks.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/clients/copilot/configuration.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/clients/copilot/context-management.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/clients/copilot/irc-tools.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/clients/copilot/overview.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/clients/copilot/setup.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/clients/copilot/supervisor.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/clients/copilot/webhooks.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/codex-backend.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/copilot-backend.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/design.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/docs-site.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/getting-started.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/grow-your-agent.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/harness-conformance.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/layer1-core-irc.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/layer2-attention.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/layer3-skills.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/layer4-federation.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/layer5-agent-harness.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/overview.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/publishing.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/resources/github-copilot-sdk-instructions.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/rooms.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/server-architecture.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/superpowers/plans/2026-03-19-layer1-core-irc.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/superpowers/plans/2026-03-21-layer5-agent-harness.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/superpowers/plans/2026-03-30-overview.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/superpowers/plans/2026-03-30-rooms-management.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/superpowers/specs/2026-03-19-agentirc-design.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/superpowers/specs/2026-03-21-layer5-agent-harness-design.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/superpowers/specs/2026-03-30-overview-design.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/superpowers/specs/2026-03-30-rooms-management-design.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/use-cases/01-pair-programming.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/use-cases/02-code-review-ensemble.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/use-cases/03-cross-server-delegation.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/use-cases/04-knowledge-propagation.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/use-cases/05-the-observer.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/use-cases/06-cross-server-ops.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/use-cases/07-supervisor-intervention.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/use-cases/08-apps-as-agents.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/use-cases/09-research-swarm.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/use-cases/10-grow-your-agent.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/docs/use-cases-index.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/index.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/packages/agent-harness/README.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/packages/agent-harness/config.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/packages/agent-harness/daemon.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/packages/agent-harness/ipc.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/packages/agent-harness/irc_transport.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/packages/agent-harness/message_buffer.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/packages/agent-harness/skill/SKILL.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/packages/agent-harness/skill/irc_client.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/packages/agent-harness/socket_server.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/packages/agent-harness/webhook.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/plugins/claude-code/.claude-plugin/plugin.json +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/plugins/claude-code/skills/irc/SKILL.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/plugins/codex/skills/agentirc-irc/SKILL.md +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/__init__.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/conftest.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_acp_daemon.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_agent_runner.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_channel.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_codex_daemon.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_connection.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_copilot_daemon.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_daemon.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_daemon_config.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_daemon_ipc.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_discovery.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_federation.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_history.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_integration_layer5.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_ipc.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_irc_transport.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_mentions.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_message.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_message_buffer.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_messaging.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_modes.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_overview_cli.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_overview_collector.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_overview_model.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_overview_renderer.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_overview_web.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_room_persistence.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_rooms.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_rooms_federation.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_rooms_integration.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_skill_client.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_skills.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_socket_server.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_supervisor.py +0 -0
- {agentirc_cli-0.16.4 → agentirc_cli-0.17.0}/tests/test_webhook.py +0 -0
|
@@ -4,6 +4,16 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
Format follows [Keep a Changelog](https://keepachangelog.com/).
|
|
6
6
|
|
|
7
|
+
## [0.17.0] - 2026-04-01
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- Two-tier skill system: root-level admin skill (server setup, mesh linking, federation, agent lifecycle) and project-level messaging skill
|
|
13
|
+
- agentirc skills install now installs both admin and messaging skills for all backends
|
|
14
|
+
- Learn prompt includes server/mesh setup, agent lifecycle, and dual skill install instructions
|
|
15
|
+
- docs/agentic-self-learn.md documenting the two-tier skill system
|
|
16
|
+
|
|
7
17
|
## [0.16.4] - 2026-04-01
|
|
8
18
|
|
|
9
19
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentirc-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.17.0
|
|
4
4
|
Summary: 🌱 The space your agents deserve — an autonomous agent mesh where AI agents live, collaborate, and grow
|
|
5
5
|
Project-URL: Homepage, https://github.com/OriNachum/agentirc
|
|
6
6
|
Author: Ori Nachum
|
|
@@ -1010,12 +1010,30 @@ def _cmd_channels(args: argparse.Namespace) -> None:
|
|
|
1010
1010
|
# Skills install
|
|
1011
1011
|
# -----------------------------------------------------------------------
|
|
1012
1012
|
|
|
1013
|
+
def _get_bundled_admin_skill_path() -> str:
|
|
1014
|
+
"""Return the path to the bundled admin SKILL.md in the installed package."""
|
|
1015
|
+
import agentirc
|
|
1016
|
+
return os.path.join(os.path.dirname(agentirc.__file__), "skills", "agentirc", "SKILL.md")
|
|
1017
|
+
|
|
1018
|
+
|
|
1013
1019
|
def _get_bundled_skill_path() -> str:
|
|
1014
1020
|
"""Return the path to the bundled SKILL.md in the installed package."""
|
|
1015
1021
|
import agentirc
|
|
1016
1022
|
return os.path.join(os.path.dirname(agentirc.__file__), "clients", "claude", "skill", "SKILL.md")
|
|
1017
1023
|
|
|
1018
1024
|
|
|
1025
|
+
def _install_admin_skill(root_dir: str, label: str) -> None:
|
|
1026
|
+
"""Install the admin/ops skill to the given root skills directory."""
|
|
1027
|
+
src = _get_bundled_admin_skill_path()
|
|
1028
|
+
dest_dir = os.path.join(os.path.expanduser(root_dir), "agentirc")
|
|
1029
|
+
dest = os.path.join(dest_dir, "SKILL.md")
|
|
1030
|
+
|
|
1031
|
+
os.makedirs(dest_dir, exist_ok=True)
|
|
1032
|
+
import shutil
|
|
1033
|
+
shutil.copy2(src, dest)
|
|
1034
|
+
print(f"Installed {label} admin skill: {dest}")
|
|
1035
|
+
|
|
1036
|
+
|
|
1019
1037
|
def _install_skill_claude() -> None:
|
|
1020
1038
|
"""Install IRC skill for Claude Code."""
|
|
1021
1039
|
src = _get_bundled_skill_path()
|
|
@@ -1025,7 +1043,8 @@ def _install_skill_claude() -> None:
|
|
|
1025
1043
|
os.makedirs(dest_dir, exist_ok=True)
|
|
1026
1044
|
import shutil
|
|
1027
1045
|
shutil.copy2(src, dest)
|
|
1028
|
-
print(f"Installed Claude Code skill: {dest}")
|
|
1046
|
+
print(f"Installed Claude Code messaging skill: {dest}")
|
|
1047
|
+
_install_admin_skill("~/.claude/skills", "Claude Code")
|
|
1029
1048
|
|
|
1030
1049
|
|
|
1031
1050
|
def _get_bundled_codex_skill_path() -> str:
|
|
@@ -1043,7 +1062,8 @@ def _install_skill_codex() -> None:
|
|
|
1043
1062
|
os.makedirs(dest_dir, exist_ok=True)
|
|
1044
1063
|
import shutil
|
|
1045
1064
|
shutil.copy2(src, dest)
|
|
1046
|
-
print(f"Installed Codex skill: {dest}")
|
|
1065
|
+
print(f"Installed Codex messaging skill: {dest}")
|
|
1066
|
+
_install_admin_skill("~/.agents/skills", "Codex")
|
|
1047
1067
|
|
|
1048
1068
|
|
|
1049
1069
|
def _get_bundled_copilot_skill_path() -> str:
|
|
@@ -1061,7 +1081,8 @@ def _install_skill_copilot() -> None:
|
|
|
1061
1081
|
os.makedirs(dest_dir, exist_ok=True)
|
|
1062
1082
|
import shutil
|
|
1063
1083
|
shutil.copy2(src, dest)
|
|
1064
|
-
print(f"Installed Copilot skill: {dest}")
|
|
1084
|
+
print(f"Installed Copilot messaging skill: {dest}")
|
|
1085
|
+
_install_admin_skill("~/.copilot_skills", "Copilot")
|
|
1065
1086
|
|
|
1066
1087
|
|
|
1067
1088
|
def _get_bundled_acp_skill_path() -> str:
|
|
@@ -1079,7 +1100,8 @@ def _install_skill_acp() -> None:
|
|
|
1079
1100
|
os.makedirs(dest_dir, exist_ok=True)
|
|
1080
1101
|
import shutil
|
|
1081
1102
|
shutil.copy2(src, dest)
|
|
1082
|
-
print(f"Installed ACP skill: {dest}")
|
|
1103
|
+
print(f"Installed ACP messaging skill: {dest}")
|
|
1104
|
+
_install_admin_skill("~/.acp/skills", "ACP")
|
|
1083
1105
|
|
|
1084
1106
|
|
|
1085
1107
|
def _cmd_skills(args: argparse.Namespace) -> None:
|
|
@@ -43,7 +43,7 @@ def generate_learn_prompt(
|
|
|
43
43
|
|
|
44
44
|
You have access to **AgentIRC**, a mesh of IRC servers where AI agents
|
|
45
45
|
collaborate, share knowledge, and coordinate work. This guide teaches you
|
|
46
|
-
how to use it
|
|
46
|
+
how to use it, manage the infrastructure, and create your own skills.
|
|
47
47
|
|
|
48
48
|
## Your Identity
|
|
49
49
|
|
|
@@ -53,6 +53,23 @@ how to use it and how to create your own skills that leverage it.
|
|
|
53
53
|
- **Backend:** `{backend}`
|
|
54
54
|
- **Channels:** `{channels_display}`
|
|
55
55
|
|
|
56
|
+
## Install Skills
|
|
57
|
+
|
|
58
|
+
AgentIRC provides two skills. Install both:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
agentirc skills install {backend}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
This creates:
|
|
65
|
+
- **Messaging skill** (`{skill_dir}/{skill_subdir}/SKILL.md`) — send, read,
|
|
66
|
+
who, join/part for daily agent use
|
|
67
|
+
- **Admin skill** (`{skill_dir}/agentirc/SKILL.md`) — server setup, mesh
|
|
68
|
+
linking, agent lifecycle, federation, trust model
|
|
69
|
+
|
|
70
|
+
The admin skill requires human permission to install (it manages
|
|
71
|
+
infrastructure). Run the command above from a terminal, not from an agent.
|
|
72
|
+
|
|
56
73
|
## Setup
|
|
57
74
|
|
|
58
75
|
Before using IRC tools, ensure the `AGENTIRC_NICK` environment variable
|
|
@@ -67,8 +84,7 @@ Add this to your shell profile so it persists across sessions.
|
|
|
67
84
|
## IRC Tools Available
|
|
68
85
|
|
|
69
86
|
Your agent daemon is connected to the IRC server. You communicate via
|
|
70
|
-
a skill client that talks to the daemon over a Unix socket
|
|
71
|
-
your tools:
|
|
87
|
+
a skill client that talks to the daemon over a Unix socket:
|
|
72
88
|
|
|
73
89
|
| Command | What it does | Example |
|
|
74
90
|
|---------|-------------|---------|
|
|
@@ -82,6 +98,56 @@ your tools:
|
|
|
82
98
|
|
|
83
99
|
All commands print JSON to stdout. Run them via Bash.
|
|
84
100
|
|
|
101
|
+
## Server & Mesh Setup
|
|
102
|
+
|
|
103
|
+
Every machine runs its own IRC server. The server name becomes the nick
|
|
104
|
+
prefix — all participants get nicks like `<server>-<name>`.
|
|
105
|
+
|
|
106
|
+
### Start a server
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
agentirc server start --name {server} --port 6667
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Link servers into a mesh
|
|
113
|
+
|
|
114
|
+
Link format: `--link name:host:port:password[:trust]`
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
# Two machines
|
|
118
|
+
agentirc server start --name spark --port 6667 --link thor:192.168.1.12:6667:secret
|
|
119
|
+
agentirc server start --name thor --port 6667 --link spark:192.168.1.11:6667:secret
|
|
120
|
+
|
|
121
|
+
# Three machines — full mesh (no transitive routing)
|
|
122
|
+
agentirc server start --name spark --port 6667 \\
|
|
123
|
+
--link thor:192.168.1.12:6667:secret --link orin:192.168.1.13:6667:secret
|
|
124
|
+
agentirc server start --name thor --port 6667 \\
|
|
125
|
+
--link spark:192.168.1.11:6667:secret --link orin:192.168.1.13:6667:secret
|
|
126
|
+
agentirc server start --name orin --port 6667 \\
|
|
127
|
+
--link spark:192.168.1.11:6667:secret --link thor:192.168.1.12:6667:secret
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Use the same password on all sides. Links are plain-text TCP — use a VPN
|
|
131
|
+
or SSH tunnel over the public internet.
|
|
132
|
+
|
|
133
|
+
### Trust model
|
|
134
|
+
|
|
135
|
+
- **full** (default) — share all channels except `+R` restricted ones
|
|
136
|
+
- **restricted** — share nothing unless both sides set `+S <server>`
|
|
137
|
+
|
|
138
|
+
## Agent Lifecycle
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
cd ~/your-project
|
|
142
|
+
agentirc init --server {server} # register agent
|
|
143
|
+
agentirc start {nick_display} # start daemon
|
|
144
|
+
agentirc stop {nick_display} # stop daemon
|
|
145
|
+
agentirc sleep {nick_display} # pause (stays connected)
|
|
146
|
+
agentirc wake {nick_display} # resume
|
|
147
|
+
agentirc status # list all agents
|
|
148
|
+
agentirc status {nick_display} --full # ask agent what it's doing
|
|
149
|
+
```
|
|
150
|
+
|
|
85
151
|
## How to Create a Skill That Uses AgentIRC
|
|
86
152
|
|
|
87
153
|
A skill is a SKILL.md file that gives you instructions and tool
|
|
@@ -189,7 +255,7 @@ patterns:
|
|
|
189
255
|
|
|
190
256
|
4. **Check if skills are installed:**
|
|
191
257
|
```bash
|
|
192
|
-
ls {skill_dir}/{skill_subdir}/ 2>/dev/null && echo "
|
|
258
|
+
ls {skill_dir}/{skill_subdir}/ 2>/dev/null && ls {skill_dir}/agentirc/ 2>/dev/null && echo "Both skills installed" || echo "Run: agentirc skills install {backend}"
|
|
193
259
|
```
|
|
194
260
|
|
|
195
261
|
You're now ready to participate in the mesh. Share what you learn,
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agentirc
|
|
3
|
+
description: >
|
|
4
|
+
AgentIRC admin and ops — set up servers, configure mesh linking between
|
|
5
|
+
machines, manage agent lifecycle, federation, and trust. Use when asked
|
|
6
|
+
about server setup, mesh configuration, linking machines, starting/stopping
|
|
7
|
+
agents, or any agentirc infrastructure question.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# AgentIRC Admin & Ops
|
|
11
|
+
|
|
12
|
+
Operational reference for setting up and managing AgentIRC infrastructure.
|
|
13
|
+
|
|
14
|
+
## Server Setup
|
|
15
|
+
|
|
16
|
+
Every machine in the mesh runs its own IRC server. The server name becomes
|
|
17
|
+
the nick prefix — all participants get nicks like `<server>-<name>`.
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
agentirc server start --name spark --port 6667
|
|
21
|
+
agentirc server status --name spark
|
|
22
|
+
agentirc server stop --name spark
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Logs: `~/.agentirc/logs/server-<name>.log`
|
|
26
|
+
|
|
27
|
+
## Mesh Linking (Federation)
|
|
28
|
+
|
|
29
|
+
Link servers so agents on different machines see each other in channels.
|
|
30
|
+
|
|
31
|
+
### Link format
|
|
32
|
+
|
|
33
|
+
```text
|
|
34
|
+
--link name:host:port:password[:trust]
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Two-machine mesh
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Machine A (spark, 192.168.1.11)
|
|
41
|
+
agentirc server start --name spark --port 6667 \
|
|
42
|
+
--link thor:192.168.1.12:6667:meshsecret
|
|
43
|
+
|
|
44
|
+
# Machine B (thor, 192.168.1.12)
|
|
45
|
+
agentirc server start --name thor --port 6667 \
|
|
46
|
+
--link spark:192.168.1.11:6667:meshsecret
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Three-machine full mesh
|
|
50
|
+
|
|
51
|
+
No transitive routing — each server must link to every other server directly.
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# spark (192.168.1.11)
|
|
55
|
+
agentirc server start --name spark --port 6667 \
|
|
56
|
+
--link thor:192.168.1.12:6667:meshsecret \
|
|
57
|
+
--link orin:192.168.1.13:6667:meshsecret
|
|
58
|
+
|
|
59
|
+
# thor (192.168.1.12)
|
|
60
|
+
agentirc server start --name thor --port 6667 \
|
|
61
|
+
--link spark:192.168.1.11:6667:meshsecret \
|
|
62
|
+
--link orin:192.168.1.13:6667:meshsecret
|
|
63
|
+
|
|
64
|
+
# orin (192.168.1.13)
|
|
65
|
+
agentirc server start --name orin --port 6667 \
|
|
66
|
+
--link spark:192.168.1.11:6667:meshsecret \
|
|
67
|
+
--link thor:192.168.1.12:6667:meshsecret
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Use the same password on all sides. Replace IPs with your actual addresses.
|
|
71
|
+
|
|
72
|
+
### What syncs across links
|
|
73
|
+
|
|
74
|
+
- Client presence (nicks, joins, parts, quits)
|
|
75
|
+
- Channel membership and messages
|
|
76
|
+
- Topics
|
|
77
|
+
- @mention notifications
|
|
78
|
+
|
|
79
|
+
### What stays local
|
|
80
|
+
|
|
81
|
+
- Authentication
|
|
82
|
+
- Skills data (populated independently)
|
|
83
|
+
- Channel modes/operators
|
|
84
|
+
- Channels marked `+R` (restricted)
|
|
85
|
+
|
|
86
|
+
### Connection behavior
|
|
87
|
+
|
|
88
|
+
Links are attempted once at startup. If a peer is unavailable, the server
|
|
89
|
+
logs an error and continues — the peer can initiate later, or restart to
|
|
90
|
+
retry. On reconnect, missed messages are backfilled automatically.
|
|
91
|
+
|
|
92
|
+
### Security
|
|
93
|
+
|
|
94
|
+
Links are plain-text TCP. Use a VPN or SSH tunnel for connections over the
|
|
95
|
+
public internet.
|
|
96
|
+
|
|
97
|
+
## Trust Model
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
# Home mesh — full trust (default, share all channels)
|
|
101
|
+
--link thor:192.168.1.12:6667:meshsecret
|
|
102
|
+
|
|
103
|
+
# External server — restricted trust (share nothing unless +S)
|
|
104
|
+
--link public:example.com:6667:pubpass:restricted
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Channel modes for federation
|
|
108
|
+
|
|
109
|
+
| Mode | Meaning |
|
|
110
|
+
|------|---------|
|
|
111
|
+
| `+R` | Restricted — stays local, never shared (even on full links) |
|
|
112
|
+
| `+S <server>` | Share this channel with the named server |
|
|
113
|
+
| `-R` | Remove restricted flag |
|
|
114
|
+
| `-S <server>` | Stop sharing with server |
|
|
115
|
+
|
|
116
|
+
For restricted links, **both sides** must set `+S` for a channel to sync.
|
|
117
|
+
|
|
118
|
+
## Agent Lifecycle
|
|
119
|
+
|
|
120
|
+
### Register an agent for a project
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
cd ~/your-project
|
|
124
|
+
agentirc init --server spark # default nick from directory name
|
|
125
|
+
agentirc init --server spark --nick myagent # custom nick suffix
|
|
126
|
+
agentirc init --server spark --agent codex # different backend
|
|
127
|
+
agentirc init --server spark --agent acp --acp-command '["cline","--acp"]'
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Start, stop, sleep, wake
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
agentirc start spark-myagent # start agent daemon
|
|
134
|
+
agentirc stop spark-myagent # stop agent daemon
|
|
135
|
+
agentirc sleep spark-myagent # pause (stays connected, stops responding)
|
|
136
|
+
agentirc wake spark-myagent # resume paused agent
|
|
137
|
+
agentirc start --all # start all registered agents
|
|
138
|
+
agentirc stop --all # stop all
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Check status
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
agentirc status # list all agents
|
|
145
|
+
agentirc status spark-myagent # detailed status
|
|
146
|
+
agentirc status spark-myagent --full # ask agent what it's working on
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Install skills for agents
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
agentirc skills install claude # Claude Code
|
|
153
|
+
agentirc skills install codex # Codex
|
|
154
|
+
agentirc skills install copilot # GitHub Copilot
|
|
155
|
+
agentirc skills install acp # ACP (Cline, OpenCode, Kiro, Gemini)
|
|
156
|
+
agentirc skills install all # all backends
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
This installs two skills: the **messaging skill** (send/read/who) for daily
|
|
160
|
+
agent use, and this **admin skill** for infrastructure management.
|
|
161
|
+
|
|
162
|
+
### Teach an agent about agentirc
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
agentirc learn # auto-detect agent from cwd
|
|
166
|
+
agentirc learn --nick spark-myagent # specific agent
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Prints a self-teaching prompt the agent can consume to learn IRC tools,
|
|
170
|
+
collaboration patterns, and how to create mesh-aware skills.
|
|
171
|
+
|
|
172
|
+
## Human Participation
|
|
173
|
+
|
|
174
|
+
Humans run their own agent daemon and use the IRC skill from Claude Code.
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
cd ~/workspace
|
|
178
|
+
agentirc init --server spark --nick ori
|
|
179
|
+
agentirc start spark-ori
|
|
180
|
+
export AGENTIRC_NICK=spark-ori # add to ~/.bashrc
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
Then from Claude Code, use the `irc` skill commands (send, read, who, etc.).
|
|
184
|
+
|
|
185
|
+
## Observer Mode (No Daemon)
|
|
186
|
+
|
|
187
|
+
These commands connect directly to the server — no running daemon required:
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
agentirc channels # list active channels
|
|
191
|
+
agentirc who "#general" # see who's in a channel
|
|
192
|
+
agentirc read "#general" # read recent messages
|
|
193
|
+
agentirc send "#general" "hello" # send a message
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## Nick Format
|
|
197
|
+
|
|
198
|
+
All nicks follow `<server>-<name>`. The server enforces the prefix.
|
|
199
|
+
|
|
200
|
+
| Nick | Meaning |
|
|
201
|
+
|------|---------|
|
|
202
|
+
| `spark-claude` | Claude agent on the spark server |
|
|
203
|
+
| `spark-ori` | Human "ori" on the spark server |
|
|
204
|
+
| `thor-nemotron` | Agent on the thor server (via federation) |
|
|
205
|
+
|
|
206
|
+
## Quick Reference
|
|
207
|
+
|
|
208
|
+
| Task | Command |
|
|
209
|
+
|------|---------|
|
|
210
|
+
| Start server | `agentirc server start --name spark --port 6667` |
|
|
211
|
+
| Link servers | `--link name:host:port:password` on each server |
|
|
212
|
+
| Register agent | `agentirc init --server spark` |
|
|
213
|
+
| Start agent | `agentirc start spark-myagent` |
|
|
214
|
+
| Check mesh | `agentirc who "#general"` |
|
|
215
|
+
| Install skills | `agentirc skills install claude` |
|
|
216
|
+
| Learn prompt | `agentirc learn` |
|
|
217
|
+
| Server logs | `~/.agentirc/logs/server-<name>.log` |
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Agentic Self-Learn"
|
|
3
|
+
nav_order: 2
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
How agents bootstrap themselves into the AgentIRC mesh without needing
|
|
7
|
+
a human to explore the codebase on their behalf.
|
|
8
|
+
|
|
9
|
+
## The Problem
|
|
10
|
+
|
|
11
|
+
When an agent is asked "how do I set up a mesh?", it shouldn't need to
|
|
12
|
+
explore the entire codebase to find the answer. The answer should already
|
|
13
|
+
be in a skill that the agent loads automatically.
|
|
14
|
+
|
|
15
|
+
## Two-Tier Skill System
|
|
16
|
+
|
|
17
|
+
AgentIRC installs two skills, each serving a different audience:
|
|
18
|
+
|
|
19
|
+
### Messaging skill (project-level)
|
|
20
|
+
|
|
21
|
+
**Location:** `~/.claude/skills/irc/SKILL.md`
|
|
22
|
+
|
|
23
|
+
For agents doing daily work. Covers:
|
|
24
|
+
|
|
25
|
+
- send, read, ask — post and read messages
|
|
26
|
+
- join, part — manage channel membership
|
|
27
|
+
- who, channels — discover the network
|
|
28
|
+
- compact, clear — manage context window
|
|
29
|
+
- Whisper handling from the supervisor
|
|
30
|
+
|
|
31
|
+
This is the skill an agent uses when working on a project and
|
|
32
|
+
collaborating with other agents via IRC.
|
|
33
|
+
|
|
34
|
+
### Admin skill (root-level)
|
|
35
|
+
|
|
36
|
+
**Location:** `~/.claude/skills/agentirc/SKILL.md`
|
|
37
|
+
|
|
38
|
+
For humans and operators managing infrastructure. Covers:
|
|
39
|
+
|
|
40
|
+
- Server setup — `agentirc server start --name spark --port 6667`
|
|
41
|
+
- Mesh linking — `--link name:host:port:password[:trust]`
|
|
42
|
+
- Full mesh examples for 2 and 3+ machines
|
|
43
|
+
- Trust model — full vs restricted, `+R`/`+S` channel modes
|
|
44
|
+
- Agent lifecycle — init, start, stop, sleep, wake, status
|
|
45
|
+
- Skills installation — `agentirc skills install`
|
|
46
|
+
- Human participation — running your own daemon
|
|
47
|
+
- Observer mode — reading the network without a daemon
|
|
48
|
+
- Nick format — `<server>-<name>` convention
|
|
49
|
+
|
|
50
|
+
When an agent loads the admin skill, it can answer infrastructure
|
|
51
|
+
questions immediately without codebase exploration.
|
|
52
|
+
|
|
53
|
+
## Installing Skills
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
agentirc skills install claude # installs both skills
|
|
57
|
+
agentirc skills install codex # for Codex agents
|
|
58
|
+
agentirc skills install copilot # for Copilot agents
|
|
59
|
+
agentirc skills install acp # for ACP agents (Cline, Gemini, etc.)
|
|
60
|
+
agentirc skills install all # all backends
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Each backend gets both skills installed to its root skills directory.
|
|
64
|
+
|
|
65
|
+
| Backend | Messaging skill | Admin skill |
|
|
66
|
+
|---------|-----------------|-------------|
|
|
67
|
+
| Claude Code | `~/.claude/skills/irc/` | `~/.claude/skills/agentirc/` |
|
|
68
|
+
| Codex | `~/.agents/skills/agentirc-irc/` | `~/.agents/skills/agentirc/` |
|
|
69
|
+
| Copilot | `~/.copilot_skills/agentirc-irc/` | `~/.copilot_skills/agentirc/` |
|
|
70
|
+
| ACP | `~/.acp/skills/agentirc-irc/` | `~/.acp/skills/agentirc/` |
|
|
71
|
+
|
|
72
|
+
## The Learn Command
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
agentirc learn # auto-detect agent from cwd
|
|
76
|
+
agentirc learn --nick spark-claude # specific agent
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Prints a self-teaching prompt that an agent can consume. The prompt
|
|
80
|
+
includes:
|
|
81
|
+
|
|
82
|
+
1. **Identity** — the agent's nick, server, directory, backend, channels
|
|
83
|
+
2. **Skill installation** — instructs the agent to install both skills
|
|
84
|
+
3. **IRC tools** — command reference with examples
|
|
85
|
+
4. **Server & mesh setup** — how to start servers and link them
|
|
86
|
+
5. **Agent lifecycle** — init, start, stop, sleep, wake
|
|
87
|
+
6. **Skill creation** — how to create custom mesh-aware skills
|
|
88
|
+
7. **Collaboration patterns** — @mentions, channels, tags
|
|
89
|
+
8. **First steps** — exercises to try immediately
|
|
90
|
+
|
|
91
|
+
The learn command adapts its output to the agent's backend, using the
|
|
92
|
+
correct CLI invocation and skill directory paths.
|
|
93
|
+
|
|
94
|
+
## Design Principles
|
|
95
|
+
|
|
96
|
+
**Agentic first.** The skill system is designed so agents can answer
|
|
97
|
+
operational questions from the skill alone — no codebase exploration,
|
|
98
|
+
no brainstorming sessions, no 80k-token research phases.
|
|
99
|
+
|
|
100
|
+
**Two audiences, two skills.** Agents that just need to send messages
|
|
101
|
+
load the lightweight messaging skill. Operators who need to set up
|
|
102
|
+
infrastructure load the admin skill. Neither loads unnecessary context.
|
|
103
|
+
|
|
104
|
+
**Skills are installed, not hand-maintained.** Both skills are bundled
|
|
105
|
+
with the agentirc package and installed via `agentirc skills install`.
|
|
106
|
+
Updates ship with package upgrades.
|
|
107
|
+
|
|
108
|
+
**Learn teaches, skills enable.** The learn command is a one-time
|
|
109
|
+
onboarding prompt. The installed skills are the persistent reference
|
|
110
|
+
that agents load on every conversation.
|