mcpbeat Sign in

Agent Init Skill for Claude

Initialize and configure OpenClaw agent workspace MD files (AGENTS.md, SOUL.md, IDENTITY.md, USER.md, TOOLS.md, BOOTSTRAP.md, HEARTBEAT.md). Use when: setting up a new agent, customizing agent personality/behavior, configuring agent workspace, or checking/fixing agent environment (Python/uv). Provides interactive interview workflow before generating files. Supports both container and external (host) OpenClaw instances.

1k tokens
context cost
the whole folder, loaded on every use
2
files
instructions only
0
copies elsewhere
how many repositories repackaged it
532
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/majiayu000/claude-skill-registry --skill agent-init

What comes with it

893 bytes besides the instruction
metadata.json

The instruction itself

11 sections, as written by the author

Agent Init

Initialize OpenClaw agent workspace with tailored MD files through an interactive interview.

Workflow

Phase 1: Interview (MANDATORY — do not skip)

Before generating ANY files, gather context through conversation. Ask in batches of 2-3 questions:

Batch 1 — Identity & Purpose:

  • What is this agent's primary purpose? (e.g., coding assistant, research, DevOps, personal assistant)
  • What name and emoji? Any personality traits?

Batch 2 — User Profile:

  • Who will use this agent? (name, timezone, preferences)
  • Communication style preference? (formal/casual, verbose/terse, language)

Batch 3 — Environment:

  • Is this a container instance or external (host) instance?
  • What tools/languages does the agent need? (Python, Node, etc.)
  • Any specific workflows or periodic tasks?

Batch 4 — Boundaries:

  • Any topics or actions the agent should avoid?
  • Privacy requirements beyond defaults?

Only proceed to Phase 2 after user confirms the interview is complete.

Phase 2: Environment Check

Run scripts/check-env.sh to detect Python/uv status:

bash <skill-path>/scripts/check-env.sh

If uv is missing and user wants Python support:

bash <skill-path>/scripts/check-env.sh --install

For container instances, run inside the container:

docker exec <containerId> bash -c "which uv && uv --version || echo 'uv: NOT FOUND'"

Phase 3: Generate Files

Generate files in this order, showing each to user for confirmation before writing:

  • IDENTITY.md — Fill in fields from interview
  • USER.md — Fill in user profile
  • SOUL.md — Rewrite content, keep 4-section structure (Core Truths / Boundaries / Vibe / Continuity)
  • TOOLS.md — Add environment info, Python/uv config
  • AGENTS.md — Extend default template with domain-specific sections (see strategy below)
  • HEARTBEAT.md — Add periodic tasks if any
  • BOOTSTRAP.md — Skip unless user wants first-run ritual
AGENTS.md Strategy: Extend, Don't Replace

Read the current AGENTS.md first. The default template contains critical infrastructure:

  • Session startup sequence (file loading order)
  • Memory system (daily + MEMORY.md)
  • Safety rules
  • Heartbeat logic

Add new sections; never remove existing ones. Safe insertion points:

  • After "Every Session" → domain-specific startup tasks
  • After "Safety" → additional security rules
  • After "Tools" → Python/uv preferences
  • Before "Make It Yours" → project-specific workflows
Mandatory TOOLS.md Additions
## Python
- Package manager: `uv` (NEVER use pip directly)
- Create venv: `uv venv .venv`
- Install: `uv pip install <package>`
- Run: `uv run python script.py`
- If uv missing: `curl -LsSf https://astral.sh/uv/install.sh | sh`

Phase 4: Write Files

Determine write method based on instance type:

External instance (workspace on host filesystem):

# Workspace files live at {workspacePath}/workspace/ (or workspace-{profile}/)
cat > {workspacePath}/workspace/SOUL.md << 'ENDOFFILE'
[content]
ENDOFFILE

Container instance (OpenClaw running in Docker):

docker exec -i <containerId> sh -c 'cat > /home/node/.openclaw/workspace/SOUL.md' << 'ENDOFFILE'
[content]
ENDOFFILE

For non-main agents (agentId ≠ "main"):

  • Check if agent has a dedicated workspace via config.get
  • Agent workspace might be at workspace-{agentId}/ or configured separately

Phase 5: Verify

After writing, confirm files are in place:

# External
ls -la {workspacePath}/workspace/*.md

# Container
docker exec <containerId> ls -la /home/node/.openclaw/workspace/*.md

Reference Files

  • references/templates.md — Official templates, loading order, per-file strategy, section structure
  • references/openclaw-workspace.md — Instance types, workspace paths, Python env, agent creation rules

Read these when you need detailed guidance on template structure or workspace configuration.

Rules

  • Interview first — never generate files without understanding the user's intent
  • Extend, don't replace — AGENTS.md default template is infrastructure, not boilerplate
  • Show before write — display each generated file for user confirmation
  • uv over pip — always configure uv as the Python package manager
  • No secrets in files — workspace files are injected into every prompt turn
  • Keep files concise — all workspace files consume tokens every turn (20KB/file limit, 150KB total)
  • Respect existing content — read before write, merge non-destructively

Other skills for the same job

different authors, same section of the catalogue
Hook Development
by anthropics
vendor ×2

This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.

16k tokens scripts
Hook Development
by anthropics
vendor ×2

This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.

16k tokens scripts
Copilot SDK
by christophacham
×2

Build agentic applications with GitHub Copilot SDK. Use when embedding AI agents in apps, creating custom tools, implementing streaming responses, managing sessions, connecting to MCP servers, or creating custom agents. Triggers on Copilot SDK, GitHub SDK, agentic app, embed Copilot, programmable agent, MCP server, custom agent.

6k tokens
Cass
by Dicklesworthstone
×2

Coding Agent Session Search - unified CLI/TUI to index and search local coding agent history from Claude Code, Codex, Gemini, Cursor, Aider, ChatGPT, Pi-Agent, Factory, and more. Purpose-built for AI agent consumption with robot mode.

6k tokens
Dcg
by Dicklesworthstone
×2

Destructive Command Guard - High-performance Rust hook for Claude Code that blocks dangerous commands before execution. SIMD-accelerated, modular pack system, whitelist-first architecture. Essential safety layer for agent workflows.

4k tokens
Makepad Skills
by ComeOnOliver
×2

Makepad UI development skills for Rust apps: setup, patterns, shaders, packaging, and troubleshooting.

2k tokens
Varlock Claude Skill
by ComeOnOliver
×2

Secure environment variable management ensuring secrets are never exposed in Claude sessions, terminals, logs, or git commits

3k tokens
Create Agentsmd
by github
vendor ×1

Prompt for generating an AGENTS.md file for a repository

2k tokens

How to use it

Copy the folder

Take majiayu000/agent-init from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference pip, uv. Without those the skill loads but fails at the first command.