Skip to main content
Every AI practitioner has a backlog of things they want to try. New techniques, new approaches, ideas that could meaningfully improve what they’re building. Most of it never gets evaluated because there is simply too much to track across too many sources. Remyx AI narrows that search space by ranking new resources daily against your team’s Research Interests and surfacing the highest-potential ideas for your use case. This tutorial connects Remyx to OpenClaw so that shortlist lands in your team’s Slack every weekday morning. Spend less time searching and more time running experiments on ideas that are worth exploring.

What this sets up

An OpenClaw skill that runs remyxai papers digest, formats a Slack digest grouped by Research Interest, and posts to #research every weekday at 9 AM PT via a scheduled cron job.
Starting point: OpenClaw is already installed and running on your machine. You have not yet connected Slack or installed the Remyx skill.

Step 1: Install the remyxai CLI

Install the remyxai CLI system-wide so OpenClaw can find the binary. OpenClaw’s exec tool uses the system PATH, so the binary must be in /usr/local/bin — not ~/.local/bin.
# Linux / Ubuntu (sudo required — installs to /usr/local/bin)
sudo pip install remyxai

# Mac
pip install remyxai

# Verify the binary is in the right place
which remyxai
# Must show: /usr/local/bin/remyxai

# Verify papers command is present
remyxai papers --help
Linux: use sudo pip installOn Ubuntu, plain pip install puts the binary in ~/.local/bin which OpenClaw cannot see. Using sudo pip install ensures the binary lands in /usr/local/bin where OpenClaw can find the library.

Step 2: Create Your Research Interests

Research Interests tell Remyx what to track. Each one has a name, a natural-language description, links (huggingface, github, blogs, etc) of what you care about, and a daily recommendation count.
remyxai interests create \
  --name "Spatial Reasoning" \
  --context "https://huggingface.co/remyxai/SpaceThinker-Qwen2.5VL-3B" \
  --daily-count 3
Run it once per topic you want to track. You can always add more later.
# See all your interests
remyxai interests list

# Trigger your first ranking so recommendations are ready
remyxai papers refresh --wait

Step 3: Install OpenClaw and Connect Slack

If you want to share your recommended papers via Slack, you can configure it during the OpenClaw onboarding wizard. Run the installer and follow the prompts.

3.1 Run the installer

curl -fsSL https://molt.bot/install.sh | bash
When prompted: select Yes to continue, then choose QuickStart mode.

3.2 Choose your LLM provider

Select your provider of choice and enter your API key.

3.3 Create a Slack App

OpenClaw connects to Slack via Socket Mode. You’ll need two tokens. Here’s how to get them:
  1. Go to api.slack.com/apps and click Create New App → From scratch
  2. Name it (e.g. Remyx OpenClaw) and select your workspace
  3. Click OAuth & Permissions in the sidebar. Scroll to Bot Token Scopes and add: chat:write, channels:read, app_mentions:read
  4. Click Socket Mode in the sidebar and toggle it On. Create an App-Level Token named openclaw-socket. Copy the xapp- token
  5. Click Event Subscriptions and toggle On. Add app_mention and message.channels under bot events
  6. Click Install App → Install to Workspace. Copy the Bot User OAuth Token (xoxb-)

3.4 Enter tokens in OpenClaw wizard

The installer will ask you to select a channel. Select Slack, name your bot, then enter: Slack for OpenClaw — Name Your Bot
Bot User OAuth Token:  xoxb-your-token-here
App-Level Token:       xapp-your-token-here
Select which channels the bot can access and include #research. Skip skills for now. Slack for OpenClaw — Add to #research

3.5 Invite the bot to #research

In Slack, open #research and type:
/invite @YourBotName

3.6 Disable the bundled Slack skill

OpenClaw ships a bundled slack skill that tries to exec a slack CLI binary. This conflicts with the native Slack integration. Disable it:
openclaw config set skills.entries.slack.enabled false
openclaw gateway restart
Why disable the bundled slack skill?Without this, the agent tries to run slack sendMessage ... as a shell command. That binary doesn’t exist, so all Slack posts fail. Disabling it forces the agent to use OpenClaw’s native message tool instead.

3.7 Test Slack is working

Start the TUI and send a test message:
openclaw tui

# In the TUI say:
# Send the message "Hello from Remyx AI 🦞" to Slack channel #research
Slack #research — test message from OpenClaw

Step 4: Install the Remyx Skill

4.1 Find your workspace path

openclaw config get agents.defaults.workspace
The default is ~/.openclaw/workspace. Use whatever this returns in the steps below.

4.2 Create the skill directory and copy SKILL.md

# Create the directory (mkdir -p handles the full path in one step)
git clone https://github.com/remyxai/remyxai-cli.git
mkdir -p ~/.openclaw/workspace/skills/remyx

# Copy SKILL.md from the remyxai-cli repo
cp ~/remyxai-cli/skills/openclaw/remyx/SKILL.md \
   ~/.openclaw/workspace/skills/remyx/SKILL.md

# Verify
head -5 ~/.openclaw/workspace/skills/remyx/SKILL.md
The skills/ directory doesn’t exist by defaultmkdir -p creates the full path including the skills/ directory. Skipping this step causes No such file or directory when copying. The skill name in the directory must match the name: field in SKILL.md. Our SKILL.md has name: remyx, so the directory must be skills/remyx/.

4.3 Set REMYXAI_API_KEY

The skill uses requires.env to check for this key — it must be in OpenClaw’s config env, not just your shell.
openclaw config set env.REMYXAI_API_KEY your_api_key_here
Where to find your API keyLog in to remyx.ai → Account Settings → API Keys → Create new key. Use the view button to see and copy the full token.

4.4 Restart the gateway

openclaw gateway restart
openclaw tui

4.5 Verify the skill is eligible

openclaw skills list --json 2>/dev/null | python3 -c "
import json,sys
data=json.load(sys.stdin)
for s in data.get('skills',[]):
    if 'remyx' in s.get('name',''):
        print('eligible:', s.get('eligible'), '| missing:', s.get('missing'))
"
You must see:
eligible: True | missing: {'bins': [], 'anyBins': [], 'env': [], 'config': [], 'os': []}
If config still shows REMYXAI_API_KEY, the key is under the wrong namespace. Verify:
openclaw config get env.REMYXAI_API_KEY

Step 5: Trigger a Manual Run

Before scheduling the cron, confirm the full pipeline works end-to-end.

5.1 Make sure you have recommendations

remyxai papers digest --period today --limit 5 --format json

# If total_papers is 0, refresh first:
remyxai papers refresh --wait

# Or for a specific interest:
remyxai papers refresh --interest "Reinforcement Learning" --wait

5.2 Test the skill in the TUI

In the OpenClaw TUI say:
Show me today's Remyx recommendations
OpenClaw Remyx digest message The agent should call remyxai papers digest and display the formatted digest in chat. Then test posting to Slack:
Post today's Remyx recommendations to #research
Slack #research — first Remyx digest message
Digest shows ‘no new recommendations today’?Run remyxai papers refresh --wait to trigger a fresh ranking or view more results. If papers show for period=week but not today, recommendations were generated on a previous day. Refresh will present the latest papers as alerted for today.

Step 6: Set Up the Daily Cron

Schedule the skill to post every weekday at 9 AM PT. In the TUI just say:
Set up the Remyx daily recommendations cron to post to #research every weekday at 9 AM Pacific.
OpenClaw cron job for Remyx digest The agent reads the cron setup section of SKILL.md and runs the openclaw cron add command automatically.

Option B — Run directly

openclaw cron add \
  --name "Remyx Daily Recommendations" \
  --cron "0 9 * * 1-5" \
  --tz "America/Los_Angeles" \
  --session isolated \
  --message "Fetch today's Remyx recommendations and post the digest to #research on Slack." \
  --announce \
  --channel slack \
  --to "channel:#research" \
  --light-context

Verify and test immediately

# See the registered job
openclaw cron list

# Trigger a manual test run right now
openclaw cron run <job-id>

# Check run history
openclaw cron runs --id <job-id> --limit 5

Troubleshooting

Check the logs:
journalctl --user -u openclaw-gateway.service -n 30 --no-pager | grep -i slack
If you see invalid_auth: your Slack tokens are wrong or swapped. Re-enter them:
openclaw configure --section channels
The key is under the wrong namespace. The skill uses requires.env, not requires.config. Fix:
openclaw config set env.REMYXAI_API_KEY your_key
openclaw gateway restart
The wrong Python installed the package. Wipe and reinstall using the exact Python the binary will use:
sudo pip uninstall remyxai -y
sudo rm -f /usr/local/bin/remyxai
sudo /usr/bin/python3 -m pip install remyxai
remyxai papers --help
The bundled slack skill is enabled. Disable it:
openclaw config set skills.entries.slack.enabled false
openclaw gateway restart
openclaw doctor --fix
openclaw gateway restart
openclaw tui

Quick Reference

IntentCommand
Get today’s digestremyxai papers digest --period today --format json
Get last week’s digestremyxai papers digest --period week
Papers for one interestremyxai papers list --interest "Reinforcement Learning" --period today
Refresh all interestsremyxai papers refresh --wait
Refresh one interestremyxai papers refresh --interest "Reinforcement Learning" --wait
List interestsremyxai interests list
Create an interestremyxai interests create --name '...' --context '...'
Pause/resume an interestremyxai interests toggle --interest "Reinforcement Learning"
Pause the cronopenclaw cron edit <job-id> --disable
Resume the cronopenclaw cron edit <job-id> --enable
Change cron to 8 AMopenclaw cron edit <job-id> --cron "0 8 * * 1-5"
Run cron immediatelyopenclaw cron run <job-id>
Check run historyopenclaw cron runs --id <job-id> --limit 5
Check gateway logsjournalctl --user -u openclaw-gateway.service -n 50 --no-pager
Check skill eligibilityopenclaw skills list --json 2>/dev/null | grep -A5 remyx