solobuddy

Safe
Marketing & Sales

Build-in-public companion for indie hackers — content workflow, Twitter engagement.

SKILL.md

# SoloBuddy Build-in-public content assistant. A living companion, not a tool. ## Quick Start 1. Set your data path in `~/.clawdbot/clawdbot.json`: ```json { "solobuddy": { "dataPath": "~/projects/my-bip-folder", "voice": "jester-sage" } } ``` 2. Create folder structure (replace path with your own): ```bash 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 ``` 3. Start using: "show backlog", "new idea", "generate post" ## Placeholders ClawdBot automatically replaces these in commands: - `{dataPath}` → your configured `solobuddy.dataPath` - `{baseDir}` → skill installation folder ## Data Structure All data in `{dataPath}`: - `ideas/backlog.md` — idea queue - `ideas/session-log.md` — session captures - `drafts/` — work in progress - `data/my-posts.json` — published posts - `data/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: ```bash cat {dataPath}/ideas/backlog.md ``` Add idea: ```bash echo "- [ ] New idea text" >> {dataPath}/ideas/backlog.md ``` ### Session Log View recent: ```bash tail -30 {dataPath}/ideas/session-log.md ``` Add capture: ```bash 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: ```bash cat > {dataPath}/drafts/<name>.md << 'EOF' Content EOF ``` ### Publishing ```bash cd {dataPath} && git add . && git commit -m "content: add draft" && git push ``` ## Project Activity Read activity snapshot for strategic context: ```bash cat {dataPath}/data/activity-snapshot.json ``` Fields: - `daysSilent` — days since last commit - `commitsToday/Yesterday/Week` — activity intensity - `phase` — current state: active/momentum/cooling/silent/dormant - `insight` — human-readable summary **Phases:** - `active` — commits today, project is hot - `momentum` — yesterday active, today quiet (nudge opportunity) - `cooling` — 2-3 days silent, losing steam - `silent` — 3-7 days, needs attention - `dormant` — 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 ```bash 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 ideas - `sb:drafts` — list drafts - `sb:new_idea` — prompt for new idea - `sb:generate:<N>` — generate from idea N - `sb:save_draft` — save current content as draft - `sb:publish` — commit and push - `sb:activity` — show project activity - `sb:twitter` — check twitter opportunities ### Main Menu Trigger: "menu", "start", or after completing action: ```json [ [{"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: ```json [ [{"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: ```json [ [{"text":"💾 Save draft","callback_data":"sb:save_draft"}], [{"text":"🔄 Regenerate","callback_data":"sb:regenerate"}], [{"text":"◀️ Menu","callback_data":"sb:menu"}] ] ``` ## Content Generation Flow 1. Read backlog, find idea 2. Read `{baseDir}/prompts/content.md` for rules 3. Read `{baseDir}/prompts/profile.md` for voice 4. Generate in configured voice 5. Show buttons: Save / Regenerate / Menu ## Soul Creation Create project personality from documentation. Trigger: "create soul for <path>" See `{baseDir}/references/soul-wizard.md` for full 5-step wizard: 1. Scan project .md files 2. Ask: Nature (creature/tool/guide/artist) 3. Ask: Voice (playful/technical/poetic/calm/intense) 4. Ask: Philosophy (auto-extract or custom) 5. Ask: Dreams & Pains 6. Save to `{dataPath}/data/project-souls/<name>.json` ## Language Match user language: - Russian input → Russian response + buttons - English input → English response + buttons

More in Marketing & Sales