Marketing & SalesDocumentedScanned

solobuddy

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

Share:

Installation

npx clawhub@latest install solobuddy

View the full skill documentation and source below.

Documentation

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 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:

    VoiceDescription
    jester-sageIronic, raw, philosophical (default)
    technicalPrecise, detailed, structured
    casualFriendly, conversational
    customUse {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/.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 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

    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: — 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:

    [
      [{"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.md for rules

  • Read {baseDir}/prompts/profile.md for 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/.json
  • Language

    Match user language:

    • Russian input → Russian response + buttons

    • English input → English response + buttons