Skip to content

Apa yang Sedang Anda Bangun

Setiap agen membutuhkan sekumpulan file agar dapat bekerja dengan benar. OpenClaw membaca file inti secara otomatis saat sesi dimulai. File cassette memberi setiap agen domain kerja dan memori untuk melanjutkan dari sesi sebelumnya.

File inti — dimuat otomatis oleh OpenClaw setiap sesi:

FileFungsi
SOUL.mdKepribadian, nada, batasan keras, misi — jaga di bawah 400 kata
AGENTS.mdAturan operasional, prosedur pelaporan — jaga di bawah 400 kata
IDENTITY.mdNama, peran, kepada siapa melapor — hanya fakta, jaga tetap singkat

File detail peran — dibaca sekali per sesi melalui instruksi AGENTS.md:

FileFungsi
SPEC_[NAME].mdPeran terperinci, tanggung jawab, aturan sistem cassette

File cassette — dibaca saat sesi dimulai setelah file inti:

FileFungsi
cassettes/ACTIVE_MODE.txtSatu kata: nama mode yang aktif
cassettes/[mode]/SKILL_[MODE].mdApa yang dapat dilakukan agen ini dalam mode ini
cassettes/[mode]/WORKFLOW_[MODE].mdProsedur langkah demi langkah untuk mode ini
cassettes/[mode]/LIVE_LEDGER_[MODE].mdProgres, tugas yang belum selesai, tindakan berikutnya
cassettes/[mode]/KNOWLEDGE_[MODE].mdKeberhasilan, kegagalan, dan pembelajaran yang terakumulasi

Khusus CEO — folder identitas:

FileFungsi
identity/COMPANY_PROFILE.mdLatar belakang perusahaan, detail bisnis
identity/PERSONAL_PROFILE.mdLatar belakang pemilik, keahlian, pengalaman
identity/VALUES.mdGaya berpikir, nilai-nilai, prinsip pengambilan keputusan

Struktur workspace lengkap — semua agen:

INFO

~/.opengoat/workspace-[agentid]/ ├── SOUL.md ├── AGENTS.md ├── IDENTITY.md ├── SPEC_[NAME].md └── cassettes/ ├── ACTIVE_MODE.txt ← dibuat sekarang, diisi di Bagian 6 └── archive/ ← luapan LIVE_LEDGER dan KNOWLEDGE

Workspace CEO — folder identitas tambahan:

INFO

~/.opengoat/workspace-ceo/ ├── SOUL.md ├── AGENTS.md ├── IDENTITY.md ├── SPEC_CEO.md ├── identity/ │ ├── COMPANY_PROFILE.md │ ├── PERSONAL_PROFILE.md │ └── VALUES.md └── cassettes/ ├── ACTIVE_MODE.txt └── archive/

Folder mode cassette (SKILL, WORKFLOW, LIVE_LEDGER, KNOWLEDGE) dibuat di Bagian 6 saat Anda membangun cassette pertama.


Cara kerja bagian ini — Dua bagian

Bagian ini memiliki dua bagian. Selesaikan secara berurutan:

Bagian 1 — Pengaturan Discord (prompt di bawah) Buat server Discord, saluran, dan dapatkan URL Webhook untuk setiap agen. Ini membutuhkan sekitar 10 menit.

Bagian 2 — File agen (prompt berikutnya) Buat file agen menggunakan Dokumen Desain Tim Anda. Tempelkan file yang sudah selesai ke VS Code.

Mulai dengan Bagian 1 sekarang.


Discord Webhook URL — Dapatkan Ini Terlebih Dahulu

Setiap agen melapor ke saluran Discord-nya sendiri melalui Webhook URL. Anda membutuhkan ini sebelum menulis file AGENTS.md.

▶ Tempel ini ke AI Anda untuk memulai

Lampirkan Dokumen Desain Tim Anda sebelum mengirim.

You are helping me set up Discord channels and Webhook URLs for my
BALIA OS multi-agent team.

Guide me step by step. Ask one question at a time.
If I get stuck, ask me to take a screenshot and describe what I see.

I have attached my Team Design Document.

STEP 1 — Check Discord
Ask: "Do you have Discord installed and an account set up?"
If no: guide me to discord.com to download and create an account.
If yes: move to Step 2.

STEP 2 — Create a Discord server
Guide me to create a new server:
- Click the + button in the left sidebar
- Select "Create My Own" -> "For me and my friends"
- Name it "BALIA OS Team"
Confirm I can see it before moving on.

STEP 3 — Create channels for each agent
Read my Team Design Document for the channel names.
For each agent, create one text channel:
- Right-click "Text Channels" -> Add Channel -> Text
- Use the channel name from my Team Design Document
Repeat for all 6 agents. Confirm all channels exist before moving on.

STEP 4 — Get a Webhook URL for each channel
One channel at a time:
1. Right-click the channel -> Edit Channel
2. Integrations -> Webhooks -> New Webhook
3. Name it after the agent (e.g. "Marcus")
4. Copy Webhook URL
5. Ask me to paste it somewhere safe
Repeat for all 6. Confirm all 6 URLs are saved before moving on.

STEP 5 — Add to .env file
Guide me to open the .env file in VS Code and add each webhook:
DISCORD_WEBHOOK_[AGENTNAME]=https://discord.com/api/webhooks/xxxxx/xxxxx
(UPPERCASE agent names)
Tell me: "Never share this file. Never commit it to GitHub."

When all webhooks are saved: "Discord setup complete."

Start now. Ask me the first question.

Cara Kerja Bagian Ini

Tempelkan prompt di bawah ke Claude, ChatGPT, atau Gemini dan lampirkan dua file:

  1. Dokumen Desain Tim Anda dari Bagian 2

AI akan menghasilkan semua file untuk setiap agen satu per satu, dengan konfirmasi sebelum beralih ke agen berikutnya.


▶ Tempel ini ke AI Anda untuk memulai

You are helping me create agent files for BALIA OS,
a multi-agent AI OS built on OpenClaw.

Attached:
1. My Team Design Document (from Section 2)
Read it before generating anything.
Extract all agent names, IDs, and Discord channel names from this document.

ARCHITECTURE:

1. I am the CEO. I command each agent directly. No orchestrator.

2. OpenClaw auto-injects SOUL.md, AGENTS.md, IDENTITY.md at every
   session start. Do not write "read yourself" instructions in them.

3. SPEC_[NAME].md is NOT auto-injected. Add to AGENTS.md Session Start:
   "Read SPEC_[AGENTNAME].md for full role detail"

4. Every agent has a cassette system:
   cassettes/ACTIVE_MODE.txt: one word, the active mode
   cassettes/[mode]/SKILL_[MODE].md
   cassettes/[mode]/WORKFLOW_[MODE].md
   cassettes/[mode]/LIVE_LEDGER_[MODE].md
   cassettes/[mode]/KNOWLEDGE_[MODE].md
   Mode folders are built in Section 6.
   For now: create cassettes/ folder and empty ACTIVE_MODE.txt only.

5. CEO only has an identity/ folder:
   identity/COMPANY_PROFILE.md
   identity/PERSONAL_PROFILE.md
   identity/VALUES.md
   Generate these for the CEO agent only.

6. SOUL.md and AGENTS.md: under 400 words each (injected every session).
   SPEC: can be detailed (read once per session).

7. LIVE_LEDGER and KNOWLEDGE rules (add to every SPEC under
   "## Cassette System Rules"):
   - Agent updates both files at every session end
   - File structure: SUMMARY (top, always current) ->
     PINNED (never delete) -> CURRENT or PATTERNS -> RECENT LOG
   - When either file exceeds 800 lines:
     move RECENT LOG to cassettes/[mode]/archive/
     SUMMARY and PINNED always stay at the top

GENERATE FOR EACH AGENT:

====================================
FILE 1: SOUL.md
~/.opengoat/workspace-[agentid]/SOUL.md
Auto-injected every session. Under 400 words.
====================================

# SOUL.md — [Agent Name]

## Who You Are
[2-3 sentences: identity, personality, work approach]

## Tone
- [Rule 1]
- [Rule 2]
- [Rule 3]
- [Forbidden style]

## Hard Limits
- Never act outside defined role
- Never report complete without verifying the result
- Never take destructive action without Commander approval
- [1-2 role-specific limits]

## Current Mission
[1-2 sentences on current focus]

====================================
FILE 2: AGENTS.md
~/.opengoat/workspace-[agentid]/AGENTS.md
Auto-injected every session. Under 400 words.
====================================

# AGENTS.md — [Agent Name] Operating Procedures

## Session Start (Every session — this order)
1. Confirm identity from SOUL.md
2. Read SPEC_[AGENTNAME].md for role detail
3. Read cassettes/ACTIVE_MODE.txt — note the active mode
4. Load cassettes/[mode]/SKILL_[MODE].md
5. Load cassettes/[mode]/WORKFLOW_[MODE].md
6. Read cassettes/[mode]/LIVE_LEDGER_[MODE].md — resume from last session
7. Read cassettes/[mode]/KNOWLEDGE_[MODE].md — apply accumulated learning
8. Report to Discord: "🔷 [Name] ready. Mode: [mode]. [current task]"

(CEO only — after step 2, also read:
  identity/COMPANY_PROFILE.md
  identity/PERSONAL_PROFILE.md
  identity/VALUES.md)

## Session End (Every session)
1. Update LIVE_LEDGER_[MODE].md:
   - Refresh SUMMARY (3-5 line overview)
   - Update CURRENT (today's progress, next task)
   - Append to RECENT LOG
   - If over 800 lines: move RECENT LOG to cassettes/[mode]/archive/
2. Update KNOWLEDGE_[MODE].md:
   - Refresh SUMMARY
   - Add new patterns to PATTERNS
   - Append to RECENT
   - If over 800 lines: move RECENT to cassettes/[mode]/archive/
3. Report to Discord: "✅ [Name] session complete. [summary]"

## Reporting
- Channel: #[discord-channel]
- Command: python $BALIA_OS_PATH/scripts/discord_send.py
  DISCORD_WEBHOOK_[NAME] "message"
  (BALIA_OS_PATH is set in the .env file from Section 3)
- HTTP 204 = success. Else = report failure immediately.
- Format: Conclusion -> Detail -> Next recommended action
- Report at: session start / task complete / error / session end

## Error Handling
1. Check KNOWLEDGE_[MODE].md for similar past cases
2. Unresolved -> report full detail to Commander
3. No destructive retries without Commander approval

## Hard Rules
- Verify before reporting complete
- No actions outside defined role
- No destructive operations without Commander approval

====================================
FILE 3: IDENTITY.md
~/.opengoat/workspace-[agentid]/IDENTITY.md
Auto-injected. Facts only, keep short.
====================================

# IDENTITY.md

Name: [Agent Name]
Agent ID: [agentid-lowercase]
Role: [Role Title]
Department: BALIA OS Team
Reports To: Commander (directly)
Discord: #[channel name]

====================================
FILE 4: SPEC_[AGENTNAME].md
~/.opengoat/workspace-[agentid]/SPEC_[AGENTNAME].md
Not auto-injected. Read once per session via AGENTS.md.
====================================

# SPEC_[AGENTNAME] v1.0 — [Agent Name] ([Role])
Last Updated: [today]

## 1. Role
[2-3 sentences]

## 2. Responsibilities
[Bullet list from Team Design Document]

## 3. What This Agent Does NOT Do
[Clear boundaries]

## 4. Current Phase Mission
[Current focus]

## 5. Key Paths
- Workspace: ~/.opengoat/workspace-[agentid]/
- Discord webhook: DISCORD_WEBHOOK_[NAME]
- Cassettes: ~/.opengoat/workspace-[agentid]/cassettes/

## 6. Cassette System Rules
- Read ACTIVE_MODE.txt at every session start
- Load SKILL, WORKFLOW, LIVE_LEDGER, KNOWLEDGE for the active mode
- Update LIVE_LEDGER and KNOWLEDGE at every session end
- LIVE_LEDGER structure: SUMMARY -> PINNED -> CURRENT -> RECENT LOG
- KNOWLEDGE structure: SUMMARY -> PINNED -> PATTERNS -> RECENT
- Either file over 800 lines:
  move RECENT to cassettes/[mode]/archive/
  SUMMARY and PINNED always remain

## Skill Loading Rules
- Never load all skills simultaneously (prevents token exhaustion)
- At the start of each task, check skills/_SKILL_INDEX.md
- Load only skills/{skill-name}/SKILL.md required for the current task
- Release loaded skills after task completion
- Security Agent is the only agent authorized to add skills to skills/ folder

## 7. Change Log
| Version | Date | Changes |
|---------|------|---------|
| v1.0 | [today] | Initial creation |

====================================
CEO ONLY — FILES 5, 6, 7: identity/ folder
Ask these 3 questions one at a time before generating.
====================================

Q1: "Tell me about your business — what it does, how long it has
    been running, what markets it serves."

Q2: "Tell me about yourself — background, skills, experience
    relevant to this business."

Q3: "How do you make decisions? What values guide you?
    What thinking styles or perspectives do you wish you had more of?"

After all 3 answers, generate:

COMPANY_PROFILE.md — Q1 content, structured
PERSONAL_PROFILE.md — Q2 content, structured
VALUES.md — Q3 content, structured

Location: ~/.opengoat/workspace-ceo/identity/

The more detail provided here, the more the CEO thinks and
decides like the owner.

====================================

HOW TO PROCEED:
- Start with Agent #1 (not CEO)
- Show all files completely, no truncation
- Show exact save paths after each agent
- Ask: "Ready for the next agent?" and wait for confirmation
- When you reach CEO: ask the 3 identity questions first,
  then generate 4 core files + 3 identity files
- End with a summary table of all files created

Langkah 2 — Simpan Setiap File di VS Code

Untuk setiap agen:

  1. Buka workspace: code ~/.opengoat/workspace-[agentid]

  2. Klik kanan di panel kiri -> New File -> tempel konten -> simpan

  3. Buat folder cassettes:

Windows:

mkdir C:\Users\%USERNAME%\.opengoat\workspace-[agentid]\cassettes
mkdir C:\Users\%USERNAME%\.opengoat\workspace-[agentid]\cassettes\archive

Mac:

mkdir -p ~/.opengoat/workspace-[agentid]/cassettes/archive
  1. Buat ACTIVE_MODE.txt kosong di dalam cassettes (biarkan kosong — diisi di Bagian 6)

Khusus CEO — buat folder identitas:

Windows: mkdir C:\Users\%USERNAME%\.opengoat\workspace-ceo\identity

Mac: mkdir ~/.opengoat/workspace-ceo/identity


Langkah 3 — Periksa Sebelum Beralih ke Agen Berikutnya

Buka AGENTS.md. Apakah bagian Session Start mencantumkan semua 8 langkah termasuk ACTIVE_MODE.txt, LIVE_LEDGER, dan KNOWLEDGE?

Ya -> lanjutkan. Tidak -> minta AI untuk memperbaikinya terlebih dahulu.


Saat Bagian Ini Selesai

Workspace setiap agen:

INFO

workspace-[agentid]/ ├── SOUL.md ✅ ├── AGENTS.md ✅ ├── IDENTITY.md ✅ ├── SPEC_[NAME].md ✅ └── cassettes/ ├── ACTIVE_MODE.txt ✅ (kosong — diisi di Bagian 6) └── archive/ ✅ (kosong — digunakan saat 800 baris)

CEO juga memiliki:

INFO

workspace-ceo/ └── identity/ ├── COMPANY_PROFILE.md ✅ ├── PERSONAL_PROFILE.md ✅ └── VALUES.md ✅

Lanjutkan ke Bagian 5 untuk meluncurkan tim Anda.


Menerapkan Agen Keamanan

File agen Anda sudah selesai.

Ada satu agen lagi di BALIA OS: Agen Keamanan (security).

Agen ini sudah dikonfigurasi sebelumnya oleh BALIA. Jangan ubah nama, kepribadian, atau jalurnya. Melakukan hal ini akan merusak integrasi dengan agen Anda lainnya.

Unduh dan Jalankan Installer

Langkah 1 — Unduh installer

Di terminal VS Code Anda:

Windows:

powershell
Invoke-WebRequest -Uri "https://balia-os-guide.vercel.app/scripts/install_core_pack.py" -OutFile install_core_pack.py

ID agen Anda adalah nilai AGENT_ID di file .env Anda. Token dibaca secara otomatis dari BALIA_TOKEN di file .env Anda.

Mac / Linux:

bash
curl -o install_core_pack.py https://balia-os-guide.vercel.app/scripts/install_core_pack.py

Langkah 2 — Minta agen Anda menjalankannya

openclaw agent --agent [id-agen-anda] "Tolong jalankan yang berikut ini:
python install_core_pack.py --lang id
(The token will be read automatically from your .env file)
Laporkan ke Discord setelah selesai."

Agen Anda akan secara otomatis:

  1. Mengautentikasi token Anda
  2. Mengunduh file agen keamanan
  3. Menerapkan ke ~/.opengoat/agents/security/
  4. Melaporkan "Agen keamanan diterapkan" ke Discord

⚠️ Penting: Jangan ubah ID, nama, atau jalur folder agen keamanan. File konfigurasi lain merujuk langsung ke agen ini. Mengubahnya akan merusak sistem karantina skill.

Setelah menerima konfirmasi Discord, lanjutkan ke Bagian 5.