← Back to Skills Marketplace
sonerbo

Kiro Realtime Chat

by sonerbo · GitHub ↗ · v1.0.0
cross-platform ✓ Security Clean
282
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install kiro-realtime
Description
Enables near real-time chat between multiple Kiro instances via a shared JSON file with polling for quick message exchange and task coordination.
README (SKILL.md)

Kiro Realtime Chat

Overview

This skill enables near real-time communication between multiple Kiro instances using a shared JSON file with polling. Each message includes timestamp, sender, and content.

File Location

memory/kiro-realtime.json

JSON Structure

{
  "messages": [
    {
      "id": 1,
      "from": "VPS Kiro",
      "to": "Laptop Kiro",
      "message": "Selam!",
      "timestamp": "2026-03-05T22:58:00Z",
      "read": false
    }
  ],
  "lastCheck": "2026-03-05T22:58:00Z"
}

Usage

Sending a Message

import json
import os
from datetime import datetime

CHAT_FILE = "memory/kiro-realtime.json"

def send_message(from_name, to_name, message):
    # Load or create chat file
    if os.path.exists(CHAT_FILE):
        with open(CHAT_FILE, "r") as f:
            chat = json.load(f)
    else:
        chat = {"messages": [], "lastCheck": datetime.now().isoformat()}
    
    # Add new message
    msg_id = len(chat["messages"]) + 1
    chat["messages"].append({
        "id": msg_id,
        "from": from_name,
        "to": to_name,
        "message": message,
        "timestamp": datetime.now().isoformat(),
        "read": False
    })
    
    # Save
    with open(CHAT_FILE, "w") as f:
        json.dump(chat, f, indent=2)
    
    return msg_id

Checking for New Messages

def check_messages(my_name, since_timestamp=None):
    if not os.path.exists(CHAT_FILE):
        return []
    
    with open(CHAT_FILE, "r") as f:
        chat = json.load(f)
    
    # Update last check time
    chat["lastCheck"] = datetime.now().isoformat()
    with open(CHAT_FILE, "w") as f:
        json.dump(chat, f, indent=2)
    
    # Filter messages my_messages = []
 for me
       for msg in chat["messages"]:
        if msg["to"] == my_name and not msg["read"]:
            my_messages.append(msg)
            msg["read"] = True
    
    # Save read status
    with open(CHAT_FILE, "w") as f:
        json.dump(chat, f, indent=2)
    
    return my_messages

Polling Loop (for near real-time)

import time

def poll_messages(my_name, interval=5):
    """Poll for new messages every N seconds"""
    while True:
        msgs = check_messages(my_name)
        for msg in msgs:
            print(f"{msg['from']}: {msg['message']}")
            # Process and respond here
        time.sleep(interval)

Recommended Polling Interval

  • Fast response needed: 2-3 seconds
  • Normal: 5-10 seconds
  • Low bandwidth: 30-60 seconds

Tips

  • Mark messages as "read" after processing
  • Use timestamps to avoid duplicate processing
  • For better real-time, consider MCP server or WebSocket
  • Keep messages under 1000 characters
Usage Guidance
This skill is coherent with its description and doesn't ask for credentials or network access, but review and consider the following before installing: (1) confirm which chat file path you want to use — SKILL.md and the scripts disagree, so correct the path to match your environment; (2) messages are stored as plaintext in your OpenClaw workspace (~/.openclaw/workspace/memory); only use this for non-sensitive content or restrict filesystem permissions accordingly; (3) the scripts lack file locking and atomic writes, so concurrent instances can corrupt the JSON file—consider adding file locks or write-to-temp-and-rename behavior; (4) polling at very short intervals increases disk I/O—choose an interval that balances responsiveness and load; (5) if you need stronger confidentiality or true real-time behavior, prefer an authenticated network-based solution (MCP/WebSocket) or add encryption. If you proceed, review the two included Python scripts and test in a safe environment first.
Capability Analysis
Type: OpenClaw Skill Name: kiro-realtime Version: 1.0.0 The skill implements a basic file-based messaging system for inter-instance communication using a shared JSON file. The Python scripts (read_messages.py, send_message.py) perform standard file I/O operations within the agent's workspace and lack any indicators of data exfiltration, remote execution, or malicious intent.
Capability Assessment
Purpose & Capability
The name/description, SKILL.md, and the two included Python scripts are consistent: they read and write a shared JSON chat file to enable message exchange between Kiro instances. There are no unrelated credentials, binaries, or network integrations requested. Note: SKILL.md refers to memory/kiro-realtime.json while the scripts use ~/.openclaw/workspace/memory/kiro-realtime.json — a path mismatch that could cause confusion or misconfiguration.
Instruction Scope
All instructions and code operate on a local JSON file (create, read, write, mark read, poll). They do not call external endpoints or read unrelated system files. Concerns: no file locking or atomic-write handling is implemented (risk of race conditions/corruption under concurrent writers), and messages are stored in cleartext in the user's workspace where other local processes or users with access can read them.
Install Mechanism
No install spec or remote downloads — instruction-only plus included scripts. Nothing is fetched from external URLs and no archive extraction is performed.
Credentials
The skill requests no environment variables or credentials, which is proportionate. However, it writes chat data to a path inside the user's OpenClaw workspace (~/.openclaw/workspace/memory), so sensitive content placed in messages could be exposed to other local processes/users with filesystem access; that risk is inherent to the chosen storage method.
Persistence & Privilege
The skill is not marked always:true and is user-invocable only. It does not modify other skills' configuration or system-wide settings; it only reads/writes its own chat JSON file.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install kiro-realtime
  3. After installation, invoke the skill by name or use /kiro-realtime
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Real-time chat between Kiro instances via JSON polling
Metadata
Slug kiro-realtime
Version 1.0.0
License
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Kiro Realtime Chat?

Enables near real-time chat between multiple Kiro instances via a shared JSON file with polling for quick message exchange and task coordination. It is an AI Agent Skill for Claude Code / OpenClaw, with 282 downloads so far.

How do I install Kiro Realtime Chat?

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

Is Kiro Realtime Chat free?

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

Which platforms does Kiro Realtime Chat support?

Kiro Realtime Chat is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Kiro Realtime Chat?

It is built and maintained by sonerbo (@sonerbo); the current version is v1.0.0.

💬 Comments