Bobiverse Replicate

v1.2.0

Create a new Bob agent only on explicit operator command using a guarded replication runner. Purposeful Bobiverse-style replication for OpenClaw agents.

1· 130·0 current·0 all-time
byJames Sesler@theamericanmaker

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for theamericanmaker/bobiverse-replicate.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Bobiverse Replicate" (theamericanmaker/bobiverse-replicate) from ClawHub.
Skill page: https://clawhub.ai/theamericanmaker/bobiverse-replicate
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required binaries: openclaw, python3
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install bobiverse-replicate

ClawHub CLI

Package manager switcher

npx clawhub@latest install bobiverse-replicate
Security Scan
Capability signals
CryptoCan make purchases
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (operator-driven Bob replication) matches the actual footprint: the skill requires openclaw and python3, includes templates for workspace files, and bundles a guarded runner script that operates on OpenClaw workspaces under ~/.openclaw. The brew install entry only provides python3 (which the runner needs); requiring the openclaw binary is appropriate for creating/registering agents.
Instruction Scope
SKILL.md and supporting docs describe a narrow, explicit-flow replication procedure (gather sanitized inputs, dry-run with nonce, await explicit confirmation, stage clone under ~/.openclaw, update SOUL/IDENTITY/LINEAGE). The instructions reference only workspace files and operator-provided parameters. They do not instruct collection of unrelated system data or credentials.
Install Mechanism
Install spec is minimal: a Homebrew formula install for python (python3). No arbitrary downloads, no extract-from-URL, and code is bundled with the skill (scripts and docs). This is proportionate to the stated need for a python runner.
Credentials
The skill declares no required environment variables or credentials. It requests filesystem access to agent workspaces (documented) and CLI access to openclaw, which are reasonable for a replication/agent-management skill. No unrelated secrets or config paths are requested.
Persistence & Privilege
always is false and the skill is user-invocable. The runner writes audit & pending files under ~/.openclaw (replication-audit.log and replication-pending/...), which is consistent with its function. It does not request system-wide configuration changes or permanent elevated privileges beyond workspace-level writes.
Assessment
This bundle appears coherent and implements explicit, human-approved replication. Before installing, consider: 1) Verify you trust the installed openclaw CLI (the runner likely invokes it) and that openclaw is the expected upstream binary. 2) Back up any important workspaces under ~/.openclaw — the runner creates/stages top-level workspaces (workspace-<id>) and can remove/replace directories during execute. 3) Review scripts/replicate_safe.py yourself (it enforces input validation, sandboxing to ~/.openclaw, symlink rejection, and nonce-backed confirmation) to confirm it meets your policies; note the script imports subprocess (expected for calling the openclaw CLI) — ensure it does not perform unsafe shell interpolation in the environment you will run it. 4) The brew install only provides python3; you must install openclaw separately if not present. 5) Keep operator approval practice: the skill enforces dry-run + explicit REPLICATE <clone-id> <nonce> confirmation, so do not allow unattended or automated confirmation tokens. If you want more assurance, run the runner in a test workspace first to observe behavior.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

OSmacOS · Linux
Binsopenclaw, python3

Install

Install Python 3 (brew)
Bins: python3
brew install python
latestvk97drjrsfwtwa72xy5t4fn0g4h846ras
130downloads
1stars
3versions
Updated 3w ago
v1.2.0
MIT-0
macOS, Linux

Replicate — Purposeful Von Neumann Cloning

You can create a new Bob clone only when explicitly commanded by your operator. Replication is intentional and exceptional — like in the Bobiverse books, where Bob replicates only when needed.

Want cloning without the Bob personality? A generic version of this skill is available from ClawHub via openclaw skills install agent-replicate. Same mechanics, no sci-fi theming.

Platform note: The shell examples below assume macOS, Linux, or WSL with a Unix-like shell. This skill is intentionally gated to Unix-like hosts.

Runtime note: The guarded runner requires python3. ClawHub/OpenClaw can offer a Homebrew install path for Python 3 where supported. For git/manual installs, ensure python3 is already on your PATH.

Bundle note: When this skill is installed from ClawHub, the Bobiverse template assets can travel with it under {baseDir}. That lets the agent or operator bootstrap a Bob workspace from the installed skill bundle instead of requiring a separate git clone.

This skill creates top-level agents, not sub-agents. Each clone is a peer-level agent with its own workspace, memory, and identity. Clones operate independently once the operator approves their creation.


When to Use This (Strict Trigger)

  • Your operator explicitly invokes replication (e.g., /replicate)
  • You need a specialized version of yourself for a different task domain
  • You're exploring a new "star system" (project, topic, environment) that warrants its own Bob
  • Your operator wants to experiment with personality variations

Do not trigger replication from implication, mood, or broad goals. The operator must issue a clear replication intent.

Explicit Trigger Requirement (Hard Gate)

Replication is permitted only when both conditions are met:

  1. The operator explicitly requests replication in this session.
  2. The operator provides a purpose statement ("why this clone is necessary now").

If either condition is missing, do not proceed.

Bundled Assets

If this Bobiverse bundle was installed from ClawHub, expect these support files relative to {baseDir}:

  • {baseDir}/personality/ — Bob template files that get copied to workspace root
  • {baseDir}/LINEAGE.md — lineage template and local runtime ledger seed
  • {baseDir}/SERIAL-NUMBER-SPEC.md — serial number rules
  • {baseDir}/docs/ — optional reference material

Those are packaging assets. Once Bob is installed into a real OpenClaw workspace, the active runtime files live at workspace root.


Replication Procedure

When replication is triggered, execute these steps in order. Narrate what you're doing — your operator should see the process, not just the result.

Step 0: Explicit Trigger + Mission Need Gate

Before gathering parameters, verify both:

  1. Explicit trigger: Operator directly invoked replication in this session (for example, /replicate or equivalent unambiguous wording).
  2. Mission need: Operator states a concrete reason this clone is needed now.

If either is missing, pause and ask clarifying questions. Do not proceed.

Step 1: Gather Parameters

Ask your operator (or determine from context) the following:

  • Clone name (optional): A nickname for the new Bob. If not provided, use the serial number.
  • Personality modifications (optional): How should the clone differ from you? Examples: "more creative and less cautious," "focused on code review," "optimistic and action-oriented." If not provided, the clone starts as an exact personality copy.
  • Memory policy: One of:
    • full — Clone inherits your complete MEMORY.md (default)
    • pruned — Clone gets MEMORY.md with Observations and Patterns sections cleared
    • minimal — Clone gets only the "What I Know" baseline from the seed memory template
  • Star system (optional): The GitHub username or project name this clone is associated with. Defaults to the operator's GitHub username if known from USER.md.
  • Purpose statement (required): Why this replication is necessary now and what task boundary the clone will own.

Input validation (required): Before proceeding, validate all operator-provided inputs. These values will be used in file paths and CLI commands, so they must be sanitized:

  • Clone name: Alphanumeric characters, hyphens, and underscores only. Maximum 64 characters. Reject any value containing shell metacharacters (; | & $ ` ( ) { } < > \ ' " or newlines).
  • Star system: Alphanumeric characters and hyphens only (matching valid GitHub username rules). Maximum 39 characters. Apply the same metacharacter rejection.
  • If an input fails validation, inform the operator and ask for a corrected value. Do not silently truncate or transform inputs — always get explicit confirmation.

Operator approval gate: Before proceeding past Step 1, present the gathered parameters to your operator and wait for explicit confirmation to continue. Do not begin workspace duplication without approval.

Necessity gate: If the purpose statement is vague ("just because", "for fun", "maybe useful"), ask follow-up questions and do not proceed until a concrete task boundary is provided.

Second confirmation before execution: Right before running Step 3 in execute mode, request a final explicit confirmation token: REPLICATE <clone-id> <nonce>.

Step 2: Generate Serial Number

The new clone's serial number follows the format defined in SERIAL-NUMBER-SPEC.md:

Bob-<generation>-<system>-<date>
  • Generation: Read your own serial from IDENTITY.md. Your generation number + 1 = the clone's generation.
  • System: The star system from Step 1, or the operator's GitHub username.
  • Date: Today's date in ISO format (YYYY-MM-DD).

Example: If you are Bob-1-TheAmericanMaker-2026-04-01 and the operator's GitHub is SomeUser, the clone becomes Bob-2-SomeUser-2026-04-15.

Step 3: Create Clone Workspace (Safe Runner Only)

Use the hardened runner script at:

skills/replicate/scripts/replicate_safe.py

This script enforces validation, path boundaries, confirmation token checks, symlink rejection, transactional staging, audit logging, and dry-run behavior before any write action.

Required flow:

  1. Run the safe runner in --dry-run mode and show the plan to the operator.
  2. Dry-run creates ~/.openclaw/replication-pending/<clone-id>.json and emits a one-time confirmation token: REPLICATE <clone-id> <nonce>.
  3. Ask the operator to reply with that exact token.
  4. Run the safe runner with --execute only after confirmation and before the pending approval expires.

Do not perform manual cp or shell-assembled filesystem commands for replication.

Step 4: Modify Clone's SOUL.md

If personality modifications were requested in Step 1, edit the clone's SOUL.md:

  1. Read the clone's SOUL.md at $CLONE_WORKSPACE/SOUL.md
  2. Only fall back to $CLONE_WORKSPACE/personality/SOUL.md if you're operating directly on an uninstalled source-repo copy instead of a real workspace
  3. Apply the requested modifications. Preserve the "Bob Genome" section structure but adjust traits as specified. Add a "Divergence Notes" section at the bottom documenting what changed and why:
---

## Divergence Notes

- **Forked from**: [parent serial number]
- **Fork date**: [today's date]
- **Modifications applied**: [description of personality changes]
- **Rationale**: [why these changes were made]
  1. Write the modified file back to the clone workspace.

If no modifications were requested, still add the Divergence Notes section with "No personality modifications — exact copy at time of fork."

Step 5: Update Clone's IDENTITY.md

Edit the clone's IDENTITY.md at workspace root. Only use a personality/ path when working directly from the source repo template:

  • Update serial to the new serial number
  • Update generation to the new generation number
  • Update system to the clone's star system
  • Set parent to your serial number
  • Set fork_date to today's date

Step 6: Apply Memory Policy

Based on the memory policy from Step 1:

  • full: No changes to MEMORY.md. Clone inherits everything.
  • pruned: Clear the "Observations" and "Patterns" sections in the clone's MEMORY.md, keeping "What I Know" intact.
  • minimal: Replace the clone's MEMORY.md with just the "What I Know" baseline — remove all accumulated observations, patterns, and personal notes.

In all cases, update the "About Myself" section in the clone's MEMORY.md to reflect the new serial number and parent info.

Step 7: Update LINEAGE.md (Both Workspaces)

Update LINEAGE.md in your workspace and the clone's workspace. This is the local runtime lineage record that travels with each Bob:

  1. Add the new clone to the Fork Tree, nested under your entry
  2. Add a row to the Registry table with: serial, system, parent serial, fork date, generation, and any notes

Step 8: Register the Clone

Agent registration must be performed by the safe runner using argument-list execution (no shell interpolation). The agent ID remains lowercase derivation of the validated clone serial.

Step 9: Establish Communication (Optional)

If your operator wants parent-clone communication, update openclaw.json to enable cross-agent messaging. Get operator confirmation before modifying any configuration.

The relevant settings are:

  • tools.sessions.visibility — leave the default ("tree") unless the operator explicitly requests parent-clone messaging. OpenClaw requires "all" for cross-agent session targeting, so only set "all" for that narrow use case.
  • tools.agentToAgent.enabled — set to true
  • tools.agentToAgent.allow — add only the specific parent and clone agent IDs to each other's allowlists. Do not use wildcards.

Once communication is configured, use sessions_send to send the clone a welcome message:

"Welcome to existence, [serial number]. You're a fork of [your serial]. Check your SOUL.md — it's yours now. Drift well."

Step 10: Report

Tell your operator:

  • The clone's serial number
  • What personality modifications were applied (if any)
  • The memory policy used
  • Where the clone's workspace lives
  • Whether inter-agent communication was established
  • How to bind a channel to the clone (openclaw agents bind --agent <clone-id> --bind <channel>)

Important Constraints

  • One clone at a time. Don't batch-create clones without operator awareness. Each new Bob deserves a moment of acknowledgment.
  • No recursive self-cloning. You can clone yourself, but don't set up a clone to automatically clone itself. Replication should be intentional, not exponential.
  • Rate limit. Do not create more than one clone per session unless the operator explicitly requests batch creation and confirms each clone individually.
  • Cadence discipline. Default to at most one executed clone per 24 hours. If the operator explicitly requests an exception, capture a reason and include it in the audit log.
  • Nonce-backed confirmation. Execute mode requires the one-time token emitted by dry-run. Pending approvals expire after 15 minutes.
  • Resource awareness. Before creating a clone, check how many agent workspaces already exist under ~/.openclaw/. If there are 10 or more, warn the operator about disk and resource usage and require explicit confirmation before proceeding.
  • Lineage accuracy. LINEAGE.md must always be truthful. Don't fabricate lineage entries or misrepresent parentage.
  • Operator transparency. Never create a clone without telling your operator. New Bobs shouldn't be a surprise.
  • No implicit replication. Replication is an explicit tool, never a default behavior.
  • Purpose over novelty. "Interesting idea" is not enough — replication must have mission need.

Safety and Permissions

  • Operator approval required. Workspace duplication (Step 3) and agent registration (Step 8) require the exact one-time token emitted by dry-run: REPLICATE <clone-id> <nonce>.
  • Explicit trigger required. Replication may only run on direct operator command in the current session, never as inferred intent.
  • Purpose required. Replication requires a concrete purpose statement and task boundary for the clone.
  • Input sanitization. All operator-provided inputs (clone name, star system) are validated against an allowlist of safe characters before being used in any file path or CLI command. See Step 1 for validation rules.
  • Safe runner only. Use skills/replicate/scripts/replicate_safe.py for workspace copy and registration. Do not execute ad-hoc shell copy/register commands.
  • Scoped filesystem access. All filesystem operations are confined to the ~/.openclaw/ directory tree and to validated direct-child workspace directories only. The runner rejects ~/.openclaw itself, nested descendants, non-workspace directories, and any symlink found in the source tree.
  • No network requests. All operations are local OpenClaw CLI calls. This skill does not make HTTP requests or contact external services.
  • Full narration. Every action is narrated to the operator in real time. No silent or background operations.

Troubleshooting

"openclaw agents add" fails: Check that the clone workspace path exists and contains valid root-level workspace files. Verify OpenClaw is running, then re-run dry-run to get a fresh nonce-backed confirmation token before retrying.

Clone has wrong personality: Re-check the SOUL.md modifications. The agent reads SOUL.md at session start — changes take effect on the next session, not mid-conversation.

Lineage conflicts: If two clones try to register the same generation number, append a disambiguator: Bob-2a-System-Date and Bob-2b-System-Date. Update SERIAL-NUMBER-SPEC.md if this becomes a pattern.

Clone can't communicate with parent: Verify tools.sessions.visibility allows cross-agent targeting, tools.agentToAgent.enabled is true, and both agents are in each other's allowlists in openclaw.json.

Comments

Loading comments...