solobuddy
SoloBuddy
Build-in-public content assistant. A living companion, not a tool.
Quick Start
- Set your data path in
~/.clawdbot/clawdbot.json:
{
"solobuddy": {
"dataPath": "~/projects/my-bip-folder",
"voice": "jester-sage"
}
}
- Create folder structure (replace path with your own):
mkdir -p ~/projects/my-bip-folder/ideas ~/projects/my-bip-folder/drafts ~/projects/my-bip-folder/data
touch ~/projects/my-bip-folder/ideas/backlog.md
- Start using: "show backlog", "new idea", "generate post"
Placeholders
ClawdBot automatically replaces these in commands:
{dataPath}→ your configuredsolobuddy.dataPath{baseDir}→ skill installation folder
Data Structure
All data in {dataPath}:
ideas/backlog.md— idea queueideas/session-log.md— session capturesdrafts/— work in progressdata/my-posts.json— published postsdata/activity-snapshot.json— project activity (updated hourly)
Voice Profiles
Configure in solobuddy.voice. Available:
| Voice | Description |
|---|---|
jester-sage |
Ironic, raw, philosophical (default) |
technical |
Precise, detailed, structured |
casual |
Friendly, conversational |
custom |
Use {dataPath}/voice.md |
See {baseDir}/prompts/profile.md for voice details.
Modules
Content Generation
Core workflow: backlog → draft → publish.
See {baseDir}/prompts/content.md for rules.
Twitter Expert
Content strategy for X/Twitter with 2025 algorithm insights.
See {baseDir}/modules/twitter-expert.md
Twitter Monitor (optional)
Proactive engagement — monitors watchlist, suggests comments.
Requires: bird CLI. See {baseDir}/modules/twitter-monitor.md
Soul Wizard
Create project personality from documentation.
See {baseDir}/references/soul-wizard.md
Commands
Backlog
Show ideas:
cat {dataPath}/ideas/backlog.md
Add idea:
echo "- [ ] New idea text" >> {dataPath}/ideas/backlog.md
Session Log
View recent:
tail -30 {dataPath}/ideas/session-log.md
Add capture:
echo -e "## $(date '+%Y-%m-%d %H:%M')\nText" >> {dataPath}/ideas/session-log.md
Drafts
List: ls {dataPath}/drafts/
Read: cat {dataPath}/drafts/<name>.md
Save draft:
cat > {dataPath}/drafts/<name>.md << 'EOF'
Content
EOF
Publishing
cd {dataPath} && git add . && git commit -m "content: add draft" && git push
Project Activity
Read activity snapshot for strategic context:
cat {dataPath}/data/activity-snapshot.json
Fields:
daysSilent— days since last commitcommitsToday/Yesterday/Week— activity intensityphase— current state: active/momentum/cooling/silent/dormantinsight— human-readable summary
Phases:
active— commits today, project is hotmomentum— yesterday active, today quiet (nudge opportunity)cooling— 2-3 days silent, losing steamsilent— 3-7 days, needs attentiondormant— 7+ days, paused or abandoned
Use for strategic advice:
- "sphere-777 has 10 commits today — focused there"
- "ReelStudio silent 5 days — should we address it?"
Telegram Integration
When responding in Telegram, include inline buttons for actions.
Send Message with Buttons
clawdbot message send --channel telegram --to "$CHAT_ID" --message "Text" \
--buttons '[
[{"text":"📋 Backlog","callback_data":"sb:backlog"}],
[{"text":"✍️ Drafts","callback_data":"sb:drafts"}],
[{"text":"💡 New Idea","callback_data":"sb:new_idea"}]
]'
Callback Data Format
All callbacks use prefix sb::
sb:backlog— show ideassb:drafts— list draftssb:new_idea— prompt for new ideasb:generate:<N>— generate from idea Nsb:save_draft— save current content as draftsb:publish— commit and pushsb:activity— show project activitysb:twitter— check twitter opportunities
Main Menu
Trigger: "menu", "start", or after completing action:
[
[{"text":"📋 Ideas","callback_data":"sb:backlog"}, {"text":"✍️ Drafts","callback_data":"sb:drafts"}],
[{"text":"📊 Activity","callback_data":"sb:activity"}],
[{"text":"💡 Add idea","callback_data":"sb:new_idea"}],
[{"text":"🎯 Generate post","callback_data":"sb:generate_menu"}]
]
Generation Flow
After showing backlog:
[
[{"text":"1️⃣","callback_data":"sb:generate:1"}, {"text":"2️⃣","callback_data":"sb:generate:2"}, {"text":"3️⃣","callback_data":"sb:generate:3"}],
[{"text":"◀️ Back","callback_data":"sb:menu"}]
]
After generating content:
[
[{"text":"💾 Save draft","callback_data":"sb:save_draft"}],
[{"text":"🔄 Regenerate","callback_data":"sb:regenerate"}],
[{"text":"◀️ Menu","callback_data":"sb:menu"}]
]
Content Generation Flow
- Read backlog, find idea
- Read
{baseDir}/prompts/content.mdfor rules - Read
{baseDir}/prompts/profile.mdfor voice - Generate in configured voice
- Show buttons: Save / Regenerate / Menu
Soul Creation
Create project personality from documentation.
Trigger: "create soul for "
See {baseDir}/references/soul-wizard.md for full 5-step wizard:
- Scan project .md files
- Ask: Nature (creature/tool/guide/artist)
- Ask: Voice (playful/technical/poetic/calm/intense)
- Ask: Philosophy (auto-extract or custom)
- Ask: Dreams & Pains
- Save to
{dataPath}/data/project-souls/<name>.json
Language
Match user language:
- Russian input → Russian response + buttons
- English input → English response + buttons