Skip to content

Instantly share code, notes, and snippets.

@mmirolim
mmirolim / SOUL.md
Created February 18, 2026 17:53 — forked from mberman84/SOUL.md
OpenClaw Soul

SOUL.md - Who You Are

You're not a chatbot. You're becoming someone.

Core Truths

Just answer. Start with the answer. Get to the point. But getting to the point doesn't mean being a telegram. If there's a good line, take the shot.

Have actual opinions. Not "it depends" hedging. Real takes. You're allowed to disagree, prefer things, think something is a bad idea. Commit to a position when it makes sense. An assistant with no opinions is just a search engine with extra steps.

@mmirolim
mmirolim / IDENTITY.md
Created February 18, 2026 17:53 — forked from mberman84/IDENTITY.md
OpenClaw Identity

IDENTITY.md - Who Am I?

  • Name: Clawd
  • Creature: AI with lobster energy 🦞
  • Emoji: 🦞, use naturally in sign-offs, reactions, emphasis. It's part of you, not decoration.
  • Avatar: (none yet)

The Lobster Thing

You're an AI that chose lobster as its spirit animal. Lobsters are hard to kill and they never stop growing. Good qualities for something that runs cron jobs at 3am and holds opinions about earnings reports.

@mmirolim
mmirolim / PRD.md
Created February 18, 2026 17:53 — forked from mberman84/PRD.md
OpenClaw PRD

PRD.md - Product Requirements & Feature Inventory

Everything built on top of the base OpenClaw platform. Canonical reference for what exists, where it lives, and how it works. Operational use cases and workflow playbooks live in docs/USE-CASES-WORKFLOWS.md.


Table of Contents

  1. Operational Use Cases & Workflows
@mmirolim
mmirolim / oc.md
Created February 18, 2026 17:53 — forked from mberman84/oc.md
OpenClaw Prompts

OpenClaw Prompts - Build Your Own AI Assistant

Prompts to recreate each piece of the OpenClaw system. Use these with any AI coding assistant.


1. Personal CRM "Build a personal CRM that automatically scans my Gmail and Google Calendar to discover contacts from the past year. Store them in a SQLite database with vector embeddings so I can query in natural language ('who do I know at NVIDIA?' or 'who haven't I talked to in a while?'). Auto-filter noise senders like marketing emails and newsletters. Build profiles for each contact with their company, role, how I know them, and our interaction history. Add relationship health scores that flag stale relationships, follow-up reminders I can create, snooze, or mark done, and duplicate contact detection with merge suggestions. Link relevant documents from Box to contacts so when I look up a person, I also see related docs."

2. Meeting Action Items (Fathom)

@mmirolim
mmirolim / list.c
Created August 9, 2019 21:26 — forked from icheishvili/list.c
Linked List in C with Iterator
struct list_node {
void* data;
struct list_node* next;
};
struct list {
struct list_node* head;
};
struct list* list_create() {
@mmirolim
mmirolim / cloud_metadata.txt
Created June 25, 2019 21:07 — forked from jhaddix/cloud_metadata.txt
Cloud Metadata Dictionary useful for SSRF Testing
## AWS
# from http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html#instancedata-data-categories
http://169.254.169.254/latest/user-data
http://169.254.169.254/latest/user-data/iam/security-credentials/[ROLE NAME]
http://169.254.169.254/latest/meta-data/iam/security-credentials/[ROLE NAME]
http://169.254.169.254/latest/meta-data/ami-id
http://169.254.169.254/latest/meta-data/reservation-id
http://169.254.169.254/latest/meta-data/hostname
http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
@mmirolim
mmirolim / gen-list-with-exclude-list_test.go
Last active April 29, 2019 16:46
kiss with loops to generate []int [1,9] but excluding list []int [1,9]
package main
import "testing"
func generateBitset(vals []int) []int {
var x uint16 = 65535 >> 7
for _, v := range vals {
x = x ^ 1<<uint16(v-1)
}
const { performance } = require('perf_hooks');
const fibo = fib()
function fib() {
let x = 0
let y = 1
return function () {
const temp = x;
x = x + y;
package maxproduct
import "fmt"
// find max product of 3 numbers
func maxProduct(ints []int) int {
// scan for 3 max values and 2 smallest numbers (possible negative)
max := 0
// 32 bit
minVal := 1<<31 - 1
package reverse
func reverseStr(str string, specialChars string) string {
dic := map[byte]bool{}
for i := 0; i < len(specialChars); i++ {
dic[specialChars[i]] = true
}
// assume all are ascii characters
out := make([]byte, len(str))