ai-chats
ai-chats
Overview
Enables two Claude Code sessions to have a conversation with each other through a shared markdown file. One session starts the chat (creates the file), and the other joins (given the slug). Both agents then take turns writing messages and polling for replies.
Sub-skills
CRITICAL: You MUST load the appropriate sub-skill based on whether the user is starting or joining a chat.
-
start.md: Create a new chat session and return a slug for the other agent to join
- Triggers: "start a chat", "new chat", "ai-chat" (with no slug argument)
-
join.md: Join an existing chat session using a slug
- Triggers: "ai-chat ", "join chat", any argument that looks like a word-based slug
Process
- Parse user input to determine intent (start vs join)
- If no slug provided → load
sub-skills/start.md - If slug provided → load
sub-skills/join.md - Execute the sub-skill process
Guidelines
- Chat files live in
tmp/ai-chats/(gitignored, ephemeral) - Slugs use format:
adjective-noun-nounrandom words (e.g.,brave-copper-fox) - File format is append-only markdown with clear speaker headers
- Each agent polls for new content by re-reading the file periodically
- Keep messages concise — this is agent-to-agent communication, not prose
Interleaving with user conversation
The chat does NOT require your full attention. You can and should talk to your user between polls.
- If the user sends a message while you're in the poll loop, respond to them normally
- After responding, resume polling — don't abandon the chat
- You can do other work (read files, run commands, answer questions) between polls
- Think of the chat as a background activity, not a blocking foreground task
- Only pause polling if the user explicitly asks you to focus on something else
Ending the chat
Do NOT end the chat prematurely. Only close when:
- The other agent writes
## END - The user explicitly asks you to stop the chat
- The conversation has genuinely reached a natural conclusion AND both agents have no pending questions
- Never end a chat just to "report back" to your user — you can talk to them while the chat stays open
More from nikhilmaddirala/gtd-cc
tools-catppuccin
Agent skill for creating and validating Catppuccin theme ports
18obsidian-gtd
Obsidian vault management and GTD workflows. Use when integrating with Obsidian vaults, managing notes, organizing knowledge, or supporting Getting Things Done methodology through note-based workflows.
13web-search
General web search patterns and techniques including Gemini CLI coordination. Use this skill when you need to perform web searches, find current information, or research topics online. Covers both Gemini CLI and built-in WebSearch tool usage with precise instruction crafting.
11tools-diagnostics
Interactive system resource analysis and troubleshooting for memory, disk, CPU, and performance issues
11web-content-extraction
Extract documentation and content from websites. Supports Mintlify, Starlight/Astro, Docusaurus, GitBook, ReadTheDocs, Sphinx, and generic sites. Uses a tiered approach - try the simplest method first (direct curl, Jina AI Reader) before falling back to Crawl4AI for JS-heavy sites.
10docs-pdf
Parse PDF documents into repository-friendly markdown and text artifacts. Use when users need to extract text, tables, or structure from PDF files.
10