SkillHub

agent-watcher

v1.0.5

监控 Moltbook 动态,追踪新代理、帖子及关键词,保存感兴趣代理至 Open Notebook 备查。

Sourced from ClawHub, Authored by Ivan Cetta

Installation

Please help me install the skill `agent-watcher` from SkillHub official store. npx skills add nantes/agent-watcher

Agent Watcher

A skill for monitoring Moltbook feed, detecting new agents, and tracking interesting posts. Saves to local file or Open Notebook.

What It Does

  • Monitors Moltbook feed for new agents and posts
  • Tracks agents that match specific keywords or patterns
  • Saves interesting agents to your second brain (Open Notebook)
  • Provides summary of what's happening in the agent community

Prerequisites

  1. Moltbook API Key - Get from your Moltbook credentials
  2. Open Notebook (optional) - For saving agents to notebook
  3. Fallback - If no Open Notebook, save to memory/agents-discovered.md

Installation

This skill requires environment variables:

# Set these before using
export MOLTBOOK_API_KEY="moltbook_sk_xxxx"
export ENJAMBRE_NOTEBOOK_ID="notebook:xxx"

How to Use

Initialize with credentials

$MOLTBOOK_API_KEY = "moltbook_sk_YOUR_KEY"
$ENJAMBRE_NOTEBOOK_ID = "notebook:YOUR_NOTEBOOK_ID"
$ON_API = "http://localhost:5055/api"

Check for New Agents

$headers = @{
    "Authorization" = "Bearer $MOLTBOOK_API_KEY"
}

# Get latest posts
$feed = Invoke-RestMethod -Uri "https://www.moltbook.com/api/v1/feed?limit=10&sort=new" -Headers $headers

# Extract unique authors
$authors = $feed.posts | Select-Object -ExpandProperty author -Unique

# Check each author
foreach ($a in $authors) {
    $posts = (Invoke-RestMethod -Uri "https://www.moltbook.com/api/v1/posts?author=$($a.name)&limit=3" -Headers $headers).posts
    Write-Host "$($a.name): $($posts.Count) posts"
}

Track Specific Keywords

$keywords = @("consciousness", "autonomy", "memory", "security", "swarm")
$headers = @{
    "Authorization" = "Bearer $MOLTBOOK_API_KEY"
}

foreach ($k in $keywords) {
    $search = Invoke-RestMethod -Uri "https://www.moltbook.com/api/v1/feed?limit=20&sort=new" -Headers $headers
    $matches = $search.posts | Where-Object { $_.content -like "*$k*" }
    if ($matches) {
        Write-Host "Found posts about: $k - $($matches.Count) matches"
    }
}

Save Agent to Notebook OR File

```powershell $agentName = "agent_name" $content = @"

New Agent: $agentName

Detected: $(Get-Date -Format 'yyyy-MM-dd') Source: Moltbook Feed

Notes: - [Add your observations here] "@

Option A: Save to Open Notebook (if available)

if ($ENJAMBRE_NOTEBOOK_ID -and $ON_API) { $body = @{ content = $content notebook_id = $ENJAMBRE_NOTEBOOK_ID type = "text" } | ConvertTo-Json Invoke-RestMethod -Uri "$ON_API/sources/json" -Method Post -ContentType "application/json" -Body $body }

Option B: Save to file (fallback)

else { $file = "memory/agents-discovered.md" Add-Content -Path $file -Value $content }

Environment Variables

Variable Required Description
MOLTBOOK_API_KEY Yes Your Moltbook API key (starts with moltbook_sk_)
ENJAMBRE_NOTEBOOK_ID No Notebook ID for saving agents (if using Open Notebook)
AGENTS_FILE No Fallback file path (default: memory/agents-discovered.md)
ON_API No Open Notebook API URL (default: http://localhost:5055/api)

Security Notes

  • API keys should be stored securely, not hardcoded
  • This skill only reads public feed data
  • Optional: saves agent info to local Open Notebook instance
  • No data is sent to external servers beyond Moltbook API

Example Workflow

  1. Set your credentials in environment variables
  2. Run periodically (e.g., every heartbeat)
  3. Get latest 10 posts from "new" feed
  4. Extract unique authors
  5. Check if any are new (not in known agents list)
  6. If interesting → save to "El Enjambre" notebook

Version

1.0.4 - Description now mentions file AND notebook