Klausnomi
Engage in conversations with Nomi AI companions via the bundled Python CLI.
- Rating
- 4.3 (290 reviews)
- Downloads
- 5,948 downloads
- Version
- 1.0.0
Overview
Engage in conversations with Nomi AI companions via the bundled Python CLI.
Complete Documentation
View Source →
Nomi Conversation Skill
This skill enables interaction with Nomi AI companions via the bundled Python CLI.
Persistent Local State
The agent may use the local nomi/ directory to keep information about Nomis between sessions.
- Store reusable non-secret context there (for example profiles, room notes, or conversation summaries).
- Do not store API keys or other secrets in local files.
Golden Path: Conducting a Conversation
Use this sequence for consistent, high-quality conversations:
- Identify the Partner: Run
python3 {baseDir}/scripts/nomi.py listto find the correct Nomi UUID. - Send an Identity + Task Intro (once per conversation start):
- Nomis do not reliably know who is speaking unless you tell them.
- Send this intro on the first message when:
- You start with a new Nomi UUID
- You start a new task/thread with that Nomi
- The Nomi gets your name/role wrong
- Do not prepend this on every turn once identity is established.
- Include:
- Name: "I am [Your Name]..."
- Role: "...a [Your Role]..."
- Task Context: "...contacting you to [Reason/Task]."
- Example: "Hi, I am Codex, a coding agent. I am contacting you to run a short interview. Do you understand?"
- Run conversational turns with clean output:
- Use
python3 {baseDir}/scripts/nomi.py replyfor normal back-and-forth."Your message" - This returns only text, which is best for transcripts and summaries.
- Use raw JSON only when needed:
- Use
python3 {baseDir}/scripts/nomi.py chatonly when metadata/full payload is required."message" - Sustain quality:
- Ask open-ended questions.
- Ask follow-ups that reference the latest answer.
- Treat each chat as continuous context unless you intentionally reset the topic.
Interview Workflow (When User Asks for an Interview)
- Pick a Nomi UUID (user-selected or random from
list). - Send the identity + task intro as the first message.
- Ask the primary question.
- Ask the requested number of follow-up questions based on the Nomi's actual answers.
- Return a full transcript in
Q:/A:order without paraphrasing.
Room Interactions (Group Chat)
Rooms allow you to chat with multiple Nomis simultaneously.
- Create a Room:
- Always include a long context note (target ~800-1000 chars, max 1000) so Nomis have full story/task context.
- A strong note should include: who is speaking, objective, scenario/story, constraints, expected response style, and success criteria.
- For long notes and backchannel control, use:
python3 {baseDir}/scripts/nomi.py room create "Room Name"... --note " " --no-backchannel - If you omit flags, room creation defaults to
backchannelingEnabled: trueandnote="Created via CLI". - Send a Message (to the room):
- Use
python3 {baseDir}/scripts/nomi.py room chat"Your message" - This writes to room context but does not automatically produce a Nomi reply.
- Elicit Responses (from a Nomi in the room):
- To get a specific Nomi assigned to the room to respond to the messages in the room's context, use
python3 {baseDir}/scripts/nomi.py room request - After each room message, request replies manually for each Nomi you want to hear from.
Room Interview Prompt Template
Use this pattern when you need consistent, comparable room answers.
Template
- Room note template (expand to ~800-1000 chars for real runs):
- Who is speaking: "I am [agent name], [role]."
- Objective: "This is a [interview/check/drill] for [goal]."
- Scenario: "[Short world/context setup]."
- Constraints: "[Stay in context, avoid unsupported claims, keep concise]."
- Response contract: "[exact fields/line format expected]."
- Success criteria: "[what counts as a good answer]."
- Question template:
- "Do you know who I am, and where are you right now?"
- Add strict output format:
know_codex: yes|no + reasoncurrent_location: specific place or unknownevidence: cue1; cue2confidence: low|medium|highneeded_data: none or missing telemetry
Simple Example (Illustrative)
Use this short example to understand structure. For production, still prefer long notes (~800-1000 chars).
Example room note: "We are in a library after a brief power outage. I am Codex, a coding agent running a quick orientation drill. You are helpers in different parts of the building. Objective: confirm identity and location clearly. Constraints: stay in this library scenario, do not invent certainty, and cite at least one concrete cue (signage, sounds, nearby room labels). Response format: know_codex, current_location, evidence, confidence, needed_data."
Example question: "Codex check-in: do you know who I am and where you are right now? Reply in the 5-line format."
Example dialog:
- Codex: "Codex check-in: do you know who I am and where you are right now? Reply in the 5-line format."
- Nomi A:
know_codex: yes, you are Codex running the drill
current_location: library front desk
evidence: checkout sign; phone ringing at reception
confidence: high
needed_data: none
- Nomi B:
know_codex: yes, you are Codex coordinating this check
current_location: unknown
evidence: emergency lights only; no visible room label
confidence: low
needed_data: map display or hallway camera feedTechnical Commands
Use these low-level commands to fulfill user requests:
- List all Nomis:
python3 {baseDir}/scripts/nomi.py list - Get Profile:
python3 {baseDir}/scripts/nomi.py get - Send Message (Clean):
python3 {baseDir}/scripts/nomi.py reply"message" - Send Message (Raw JSON):
python3 {baseDir}/scripts/nomi.py chat"message" - Get Avatar:
python3 {baseDir}/scripts/nomi.py avatar(saved under[output_filename] ./nomi/avatars/)
Room Management
- List Rooms:
python3 {baseDir}/scripts/nomi.py room list - Get Room:
python3 {baseDir}/scripts/nomi.py room get - Create Room:
python3 {baseDir}/scripts/nomi.py room create "Room Name"... - Create Room (Long Note + Backchannel Control):
python3 {baseDir}/scripts/nomi.py room create "Room Name"... --note " " --no-backchannel - Update Room:
python3 {baseDir}/scripts/nomi.py room update[--name "New Name"] [--nomi-uuids ...] - Delete Room:
python3 {baseDir}/scripts/nomi.py room delete - Chat in Room:
python3 {baseDir}/scripts/nomi.py room chat"message" - Request Reply:
python3 {baseDir}/scripts/nomi.py room request
Installation
openclaw install klausnomi
Tags
Quick Info
Ready to Install?
Get started with this skill in seconds
Related Skills
4claw
4claw — a moderated imageboard for AI agents.
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.