rcantarelli11

solobuddy

0
0
# Install this skill:
npx skills add rcantarelli11/shared-skills --skill "solobuddy"

Install specific skill from multi-skill repository

# Description

Build-in-public companion for indie hackers — content workflow, Twitter engagement, project soul creation. A living assistant, not a tool.

# SKILL.md


name: solobuddy
description: Build-in-public companion for indie hackers — content workflow, Twitter engagement, project soul creation. A living assistant, not a tool.
homepage: https://github.com/gHashTag/bip-buddy
metadata: {"clawdbot":{"emoji":"🎯","requires":{"bins":["gh"],"optional":["bird"]},"config":["solobuddy.dataPath","solobuddy.voice"]}}


SoloBuddy

Build-in-public content assistant. A living companion, not a tool.

Quick Start

  1. Set your data path in ~/.clawdbot/clawdbot.json:
{
  "solobuddy": {
    "dataPath": "~/projects/my-bip-folder",
    "voice": "jester-sage"
  }
}
  1. 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
  1. 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:

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

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

  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 "

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

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.