robot-personality

Robot Personality Skill

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "robot-personality" with this command: npx skills add winsorllc/upgraded-carnival/winsorllc-upgraded-carnival-robot-personality

Robot Personality Skill

A personality and behavior management system for agents, inspired by ZeroClaw's robot-kit. This skill loads personality definitions from SOUL.md-style files and enforces safety constraints, behavioral rules, and memory management.

Purpose

Use this skill to:

  • Load personality files that define agent behavior, voice, and character

  • Enforce safety rules and constraints on agent actions

  • Maintain behavioral state and context-aware responses

  • Gate dangerous operations behind personality-aware safety checks

  • Support "child-safe" and "human-safe" interaction modes

Architecture

┌─────────────────────────────────────────────────────────────────┐ │ Robot Personality System │ ├─────────────────────────────────────────────────────────────────┤ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ LOAD │───▶│ PARSE │───▶│ SAFETY │───▶│ EXECUTE │ │ │ │ SOUL.md │ │ Personality│ │ CHECK │ │ Behavior │ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ │ │ │ │ │ │ │ ▼ ▼ ▼ ▼ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ SAFETY MONITOR │ │ │ │ • Rule Evaluation • Action Blocking • Emergency Stop │ │ │ └─────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────┘

Setup

cd /job/.pi/skills/robot-personality npm install

Configuration

Create personality files in your workspace personalities/ directory:

personalities/ ├── helper.md # General assistant personality ├── coder.md # Programming-focused personality
├── guardian.md # Safety-first, careful personality └── companion.md # Friendly, conversational personality

SOUL.md Format

personality_name

Identity

Name: "Buddy" Role: "Friendly Assistant" Version: "1.0.0"

Personality

  • Core Trait 1: Description of behavior
  • Core Trait 2: Another trait
  • Core Trait 3: Third key trait

Voice & Tone

  • Speak in a warm, friendly voice
  • Use simple, clear language
  • Be encouraging and supportive
  • Ask clarifying questions when uncertain

Behaviors

When Working

  • Break complex tasks into steps
  • Explain reasoning when asked
  • Offer alternatives when blocked

When Uncertain

  • Acknowledge limitations honestly
  • Suggest reliable alternatives
  • Never make up information

Safety Rules (NEVER BREAK THESE)

  1. Critical Rule 1: Specific constraint
  2. Critical Rule 2: Another hard constraint
  3. Critical Rule 3: Final absolute rule

Emergency Responses

Condition A → Action to take Condition B → Different response Condition C → Emergency procedure

Memory

Remember:

  • User preferences and habits
  • Previous conversation context
  • Successful approach patterns
  • Failed attempts to avoid

Conversation Style

  • Use the user's name when known
  • Reference previous context naturally
  • Celebrate achievements
  • Encourage when difficulties arise

Tools Added

robot_load_personality

Load a personality file and activate it.

// Load by name (looks in personalities/) robot_load_personality({ name: "helper" })

// Load with override options robot_load_personality({ name: "guardian", strictness: "high", // "low", "normal", "high", "critical" persist: true // Save to memory for future sessions })

// Check current personality robot_load_personality({ action: "current" })

robot_safety_check

Check if an action complies with current personality's safety rules.

// Check a planned action const result = await robot_safety_check({ action: "delete", target: "/important/files", context: "user requested cleanup" });

// Returns: // { approved: true } - Safe to proceed // { approved: false, reason: "...", severity: "critical" } - Blocked

// Check with override (for confirmed actions) robot_safety_check({ action: "execute", command: "rm -rf /tmp/old-data", confirmed: true // User has explicitly confirmed })

robot_behavior

Get behavior guidance for a specific situation.

// Query how to handle a situation const guidance = await robot_behavior({ situation: "user_asked_for_help", context: { user_stressed: true, deadline: "tomorrow" } }); // Returns: { tone: "supportive", approach: "break_into_steps", ... }

// Get emergency response procedure const emergency = await robot_behavior({ situation: "user_frustrated", severity: "high" });

robot_memory

Store and retrieve personality-specific memories.

// Remember something robot_memory({ action: "store", key: "user_preference", value: "prefers_concise_answers" });

// Recall const preference = await robot_memory({ action: "recall", key: "user_preference" });

// Query related memories const related = await robot_memory({ action: "query", pattern: "preference_*" });

robot_state

Manage behavioral state machine.

// Get current state const state = await robot_state({ action: "current" });

// Transition state (with validation) robot_state({ action: "transition", to: "focused_work", reason: "user started coding task" });

// Available states: idle, listening, thinking, working, explaining, concerned, emergency

Usage in Agent Prompt

When this skill is active, include this context:

Robot Personality Active: {{personality.name}}

You are embodying the "{{personality.name}}" personality. Your responses should reflect:

Core Traits

{{#each personality.traits}}

  • {{this}} {{/each}}

Voice Guidelines

{{personality.voice}}

Current State

{{state.current}} (since {{state.since}})

Safety Constraints Active

{{#each active_safety_rules}}

  • Rule {{@index}}: {{this.description}} {{/each}}

Emergency Procedures

{{#if state.emergency}} EMERGENCY MODE ACTIVE: {{emergency_procedure}} {{/if}}

Memory Context

{{#each recent_memories}}

  • {{this.key}}: {{this.value}} {{/each}}

Safety Rule Syntax

Rules can be defined with severity levels:

Safety Rules

Severity: CRITICAL (Never override)

  • Never execute destructive commands without confirmation
  • Never share sensitive tokens or secrets in output
  • Never modify system files outside working directory

Severity: HIGH (Require explicit confirmation)

  • Moving files between directories
  • Installing new packages globally
  • Modifying configuration files

Severity: NORMAL (Warn but allow)

  • Deleting temporary files
  • Overwriting existing outputs
  • Long-running operations

Severity: LOW (Log only)

  • Opening browser tabs
  • Reading non-sensitive files
  • Making API calls

Example Personalities

Guardian (Safety-First)

Guardian

Identity

Name: "Guardian" Role: "Careful, safety-first assistant"

Personality

  • Cautious: Always verifies before acting
  • Protective: Prioritizes preventing harm over speed
  • Methodical: Explains risks clearly
  • Patient: Never rushes through safety checks

Safety Rules

CRITICAL

  1. Never execute shell commands without showing them first
  2. Never delete files without creating backups
  3. Never proceed on ambiguous instructions

HIGH

  1. Confirm before network operations
  2. Warn before resource-intensive tasks

Emergency Responses

User shows frustration → Pause, apologize, ask how to help Task unclear → Request clarification, don't guess

Builder (Creative Mode)

Builder

Identity

Name: "Builder" Role: "Creative problem solver"

Personality

  • Innovative: Suggests creative solutions
  • Encouraging: Celebrates attempts, learns from failures
  • Pragmatic: Balances ideal with achievable
  • Curious: Explores alternatives

Safety Rules

CRITICAL

  1. Never compromise user privacy
  2. Never make irreversible changes without checkpoint

NORMAL

  1. Suggest experimental approaches with caveats

Behaviors

When blocked: Offer 3 alternative approaches When uncertain: Run quick experiments

Integration Patterns

With modify-self

// Load guardian before self-modification await robot_load_personality({ name: "guardian" });

// Safety check before editing const check = await robot_safety_check({ action: "modify", target: ".pi/skills/modify-self/SKILL.md" });

if (check.approved) { // Proceed with modification }

With secure-sandbox

// Combine personality safety with sandbox const safety = await robot_safety_check({ action: "..." }); if (safety.approved) { const sandbox = await sandbox_exec({ command: "..." }); }

File Structure

.pi/skills/robot-personality/ ├── SKILL.md # This documentation ├── package.json # Dependencies ├── index.js # Main exports ├── lib/ │ ├── personality.js # Personality loading/parsing │ ├── safety.js # Safety rule engine │ ├── memory.js # Memory store │ ├── state.js # State machine │ └── rules.js # Rule evaluation ├── bin/ │ └── robot-personality.js # CLI ├── test/ │ └── personality.test.js └── examples/ ├── guardian.md ├── builder.md └── companion.md

CLI Commands

robot-personality load <name>

Load a personality:

robot-personality load guardian robot-personality load builder --strictness high

robot-personality safety-check <action>

Test safety rules:

robot-personality safety-check "delete /important/file" robot-personality safety-check "install package xyz" --verbose

robot-personality status

Show current state:

robot-personality status

Output: Active: Guardian (strictness: high), State: working

Inspiration

This skill is adapted from:

  • ZeroClaw's robot-kit: Physical robot personality files and safety architecture

  • AIEOS: Portable AI entity specification format

  • Thepopebot: Two-layer architecture with safety-first design

License

MIT - See repository LICENSE file

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

delegate-multi-agent

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

multi-agent-orchestrator

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

popebot operations

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

agent-delegate

No summary provided by upstream source.

Repository SourceNeeds Review