Skip to content

Instantly share code, notes, and snippets.

@simonm
simonm / openclaw-50-day-prompts.md
Created February 21, 2026 20:07 — forked from velvet-shark/openclaw-50-day-prompts.md
OpenClaw after 50 days: all prompts for 20 real workflows (companion to YouTube video)

OpenClaw after 50 days: all prompts

Companion prompts for the video: OpenClaw after 50 days: 20 real workflows (honest review)

These are the actual prompts I use for each use case shown in the video. Copy-paste them into your agent and adjust for your setup. Most will work as-is or the agent will ask you clarifying questions.

Each prompt describes the intent clearly enough that the agent can figure out the implementation details. You don't need to hand-hold it through every step.

My setup: OpenClaw running on a VPS, Discord as primary interface (separate channels per workflow), Obsidian for notes (markdown-first), Coolify for self-hosted services.

# OpenClaw Implementation Prompts
Each prompt below is a self-contained brief you can hand to an AI coding assistant (or use as a project spec) to build that use case from scratch. Adapt the specific services to whatever you already use — the patterns are what matter.
---
## 1) Personal CRM Intelligence
```
Build me a personal CRM system that automatically tracks everyone I interact with, with smart filtering so it only adds real people — not newsletters, bots, or cold outreach.
@simonm
simonm / bidirectional_clipboard.md
Created February 12, 2026 23:44 — forked from jclosure/bidirectional_clipboard.md
Setup a bi-directional shared clipboard between client macos and linux server for remote terminal emacs.

Using netcat and ssh tunnels, create a shared clipboard allowing client and server clipboards to be fused

Serve pbcopy and pbpaste on Mac's localhost

NOTE: That we are making the assumption that the clipboards are sending and receiving UTF-8 encoded bytes

~/Library/LaunchAgents/pbcopy.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
@simonm
simonm / dedupe_maildir.sh
Created April 24, 2025 18:39 — forked from lewisthompson/dedupe_maildir.sh
Dedupe a Maildir with X-TUID headers
#!/usr/bin/env bash
set -euo pipefail
# After some strange combination of OfflineIMAP & mbsync/isync created a whole
# bunch of duplicate messages in my Fastmail account I had to start cleaning things
# up. I discovered that the duplicates all had X-TUID headers and were showing up
# totally out of order in the Fastmail UI. I now run mbsync with `CopyArrivalDate yes`
# which appears prevents this from occurring again.
#
# I found that every message with an X-TUID header had a matching message without
#!/bin/bash
function move() {
# move a workspace to the appropriate monitor
local workspace_id=$1
shift
local monitors=($@)
if [[ ${#monitors[@]} == 0 ]]; then
monitors=($(hyprctl monitors -j | jq -r '.[].name'))
@simonm
simonm / arrange-workspaces.sh
Created July 15, 2023 08:08 — forked from Diaoul/monitors.sh
Arrange workspace on multiple monitors (Hyprland)
#!/bin/bash
# Maintain 10 workspaces across multiple monitors
# This script assumes that the monitors are in horizontal layout, correctly setup and in the correct order
# gather monitor count
monitor_count=$(hyprctl monitors -j | jq '. | length')
echo "Configuring for $monitor_count monitors"
if [[ "$monitor_count" == 1 ]]; then
monitor_1=$(hyprctl monitors -j | jq -r '.[0].name')
@simonm
simonm / getopts.sh
Created July 22, 2021 10:19 — forked from rosterloh/getopts.sh
An example of how to use bash getopts
#!/bin/bash
######################################################################
#This is an example of using getopts in Bash. It also contains some
#other bits of code I find useful.
#Author: Linerd
#Website: http://tuxtweaks.com/
#Copyright 2014
#License: Creative Commons Attribution-ShareAlike 4.0
#http://creativecommons.org/licenses/by-sa/4.0/legalcode
@simonm
simonm / gist:37bd7bcd8cc8b25b8cab456a9c7e6585
Created February 27, 2021 19:41 — forked from LeeBrotherston/gist:92cc2637f33468485b8f
Detect TLS Client Hello in many things using a BPF
Match TLS Client Hello packets with a BPF:
IPv4 + TCP: (tcp[tcp[12]/16*4]=22 and (tcp[tcp[12]/16*4+5]=1) and (tcp[tcp[12]/16*4+9]=3) and (tcp[tcp[12]/16*4+1]=3))
IPv6 + TCP: (ip6[(ip6[52]/16*4)+40]=22 and (ip6[(ip6[52]/16*4+5)+40]=1) and (ip6[(ip6[52]/16*4+9)+40]=3) and (ip6[(ip6[52]/16*4+1)+40]=3))
Teredo
(IPv6 + TCP over IPv4 + UDP): ((udp[14] = 6 and udp[16] = 32 and udp[17] = 1) and ((udp[(udp[60]/16*4)+48]=22) and (udp[(udp[60]/16*4)+53]=1) and (udp[(udp[60]/16*4)+57]=3) and (udp[(udp[60]/16*4)+49]=3)))
6in4 (IPv6 + TCP over IPv4): (proto 41 and ip[26] = 6 and ip[(ip[72]/16*4)+60]=22 and (ip[(ip[72]/16*4+5)+60]=1) and (ip[(ip[72]/16*4+9)+60]=3) and (ip[(ip[72]/16*4+1)+60]=3)
Complete: (tcp[tcp[12]/16*4]=22 and (tcp[tcp[12]/16*4+5]=1) and (tcp[tcp[12]/16*4+9]=3) and (tcp[tcp[12]/16*4+1]=3)) or (ip6[(ip6[52]/16*4)+40]=22 and (ip6[(ip6[52]/16*4+5)+40]=1) and (ip6[(ip6[52]/16*4+9)+40]=3) and (ip6[(ip6[52]/16*4+1)+40]=3)) or ((udp[14] = 6 and
@simonm
simonm / docker-compose-tick.yml
Created February 20, 2021 12:30 — forked from cdelaitre/docker-compose-tick.yml
Monitor Docker Swarm with the InfluxData TICK Stack
version: '3'
services:
# FRONT
chronograf:
# Full tag list: https://hub.docker.com/r/library/chronograf/tags/
image: chronograf
deploy:
replicas: 1
placement:
constraints: