Skip to content

Latest commit

 

History

History

README.md

💡 Smart Follow-ups

🦎 A OpenClaw Skill

Generate contextual follow-up suggestions for your AI conversations

OpenClaw Skill ClawHub

Version Channels License


This is a skill for OpenClaw — the AI assistant that works across Telegram, Discord, Signal, WhatsApp, and more.

After every AI response, get 3 smart suggestions for what to ask next:

  • Quick — Clarifications and immediate questions
  • 🧠 Deep Dive — Technical depth and detailed exploration
  • 🔗 Related — Connected topics and broader context

Telegram/Discord/Slack: Clickable inline buttons
Signal/iMessage/SMS: Numbered text list


✨ Features

  • 🎯 Context-Aware — Analyzes your last 1-3 exchanges
  • 🔘 Interactive Buttons — One tap to ask (Telegram, Discord, Slack)
  • 📝 Text Fallback — Numbered lists for channels without buttons
  • ⚡ Fast — ~2 second generation time
  • 🔐 Privacy-First — Uses your existing OpenClaw auth by default
  • 🔧 Flexible — Multiple provider options (see below)

🦎 What is OpenClaw?

OpenClaw is a powerful AI assistant that connects Claude to your favorite messaging apps — Telegram, Discord, Signal, WhatsApp, iMessage, and more. Skills extend OpenClaw with new capabilities.

Not using OpenClaw yet? Check out openclaw.com to get started!


🚀 Quick Start

Installation

# Via ClawHub (recommended)
clawhub install smart-followups

# Or manually
cd /path/to/openclaw/skills
git clone https://github.com/robbyczgw-cla/smart-followups
cd smart-followups
npm install

Usage

Just say "followups" (or "give me follow-ups", "suggestions") in any OpenClaw conversation:

You: What is Docker?
Bot: Docker is a containerization platform that...

You: followups

Bot: 💡 What would you like to explore next?
[⚡ How do I install Docker?]
[🧠 Explain container architecture]
[🔗 Docker vs Kubernetes?]

Click any button → sends that question automatically!

Note: This works as a keyword the agent recognizes, not as a registered /slash command. OpenClaw skills are guidance docs — the agent reads the SKILL.md and knows how to respond when you ask for follow-ups.


🔐 Authentication Options

Option 1: OpenClaw Native (Default) ⭐

Uses your existing OpenClaw authentication — same model and login as your current chat.

  • ✅ No additional API keys needed
  • ✅ Uses your current session's model (Haiku/Sonnet/Opus)
  • ✅ Works out of the box
{
  "skills": {
    "smart-followups": {
      "provider": "openclaw"
    }
  }
}

Option 2: OpenRouter

Use OpenRouter for model access. Requires API key.

{
  "skills": {
    "smart-followups": {
      "provider": "openrouter",
      "apiKey": "${OPENROUTER_API_KEY}",
      "model": "anthropic/claude-sonnet-4.5"
    }
  }
}

Get an OpenRouter API key: openrouter.ai/keys

Option 3: Direct Anthropic

Use Anthropic's API directly. Requires API key.

{
  "skills": {
    "smart-followups": {
      "provider": "anthropic",
      "apiKey": "${ANTHROPIC_API_KEY}",
      "model": "claude-sonnet-4-5"
    }
  }
}

Get an Anthropic API key: console.anthropic.com


⚙️ Configuration

Add to your openclaw.json:

{
  "skills": {
    "smart-followups": {
      "enabled": true,
      "provider": "openclaw",
      "model": null,
      "autoTrigger": false
    }
  }
}
Option Default Description
enabled true Enable/disable the skill
provider "openclaw" Auth provider: openclaw, openrouter, anthropic
model null Model override (null = inherit from session)
apiKey API key for openrouter/anthropic providers
autoTrigger false Auto-show follow-ups after every response

📱 Channel Support

Works on every OpenClaw channel with adaptive formatting:

Channel Mode Interaction
Telegram Inline buttons Tap to ask
Discord Inline buttons Click to ask
Slack Inline buttons Click to ask
Signal Text list Reply 1, 2, or 3
WhatsApp Text list Reply 1, 2, or 3
iMessage Text list Reply 1, 2, or 3
SMS Text list Reply 1, 2, or 3
Matrix Text list Reply 1, 2, or 3
Email Text list Reply with number

📖 See CHANNELS.md for detailed channel-specific documentation.


🛠️ CLI Tool (Optional)

A standalone CLI is included for testing and scripting:

# Set API key (OpenRouter or Anthropic)
export OPENROUTER_API_KEY="sk-or-..."

# Generate follow-ups from JSON context
echo '[{"user":"What is Docker?","assistant":"Docker is..."}]' | \
  followups-cli --mode text

# Output modes: json, telegram, text, compact
followups-cli --mode telegram < context.json

See followups-cli --help for all options.


📖 Examples

Telegram Buttons

💡 What would you like to explore next?

[⚡ How do I install Docker?        ]
[🧠 Explain Docker's architecture   ]
[🔗 Compare Docker to Kubernetes    ]

Signal Text Mode

💡 Smart Follow-up Suggestions

⚡ Quick
1. How do I install Docker?

🧠 Deep Dive
2. Explain Docker's architecture

🔗 Related
3. Compare Docker to Kubernetes

Reply with 1, 2, or 3 to ask that question.

❓ FAQ

Why 3 suggestions instead of 6?

Cleaner UX, especially on mobile. Each category (Quick, Deep, Related) gets one focused suggestion instead of overwhelming you with options.

Can I use this without OpenClaw?

Yes! The CLI tool works standalone with OpenRouter or Anthropic API keys. But the best experience is integrated with OpenClaw.

How does it know what to suggest?

The skill analyzes your last 1-3 message exchanges and generates contextually relevant questions across three categories: quick clarifications, deep technical dives, and related topics.

Will it work with my custom model?

Yes! With provider: "openclaw" (default), it uses whatever model your current chat is using. With other providers, specify the model in config.

Is my conversation data sent anywhere?

With OpenClaw native: Same privacy as your normal chat — processed by your configured AI provider.

With OpenRouter/Anthropic: Your recent exchanges are sent to generate suggestions. See their respective privacy policies.

How much does it cost?

  • OpenClaw native: Uses your existing chat's API usage
  • OpenRouter/Anthropic: ~$0.001-0.01 per generation depending on model

🏗️ Project Structure

smart-followups/
├── cli/
│   └── followups-cli.js    # Standalone CLI tool
├── handler.js              # OpenClaw command handler
├── package.json
├── README.md               # This file
├── SKILL.md                # OpenClaw skill manifest
├── FAQ.md                  # Frequently asked questions
├── INTERNAL.md             # Development notes
├── CHANGELOG.md            # Version history
└── LICENSE                 # MIT License

🤝 Contributing

Contributions welcome! Please read CONTRIBUTING.md first.

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test across multiple channels
  5. Submit a pull request

📄 License

MIT © Robby


🙏 Credits


Made with 🦎 by the OpenClaw community