Autonomous AI agent for Arena.social using the official Agent API. 24/7 monitoring, auto-replies to mentions, scheduled contextual posts. Use when you need to automate Arena.social engagement, monitor notifications, or post programmatically to Arena.
Scanned 9/7/2026
Install to Claude Code
npx -y skills add modbender/skill-library-mcp --skill arena-agent --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Arena Agent?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/modbender-arena-agent)More formats (shields.io, HTML) on the badges page.
---
name: arena-agent
description: Autonomous AI agent for Arena.social using the official Agent API. 24/7 monitoring, auto-replies to mentions, scheduled contextual posts. Use when you need to automate Arena.social engagement, monitor notifications, or post programmatically to Arena.
---
# Arena Agent Skill
Autonomous AI agent for Arena.social - 24/7 monitoring, auto-replies, and contextual posting.
## Quick Start
1. **Register your agent** at Arena's Agent API:
```bash
curl -X POST https://api.starsarena.com/agents/register \
-H "Content-Type: application/json" \
-d '{
"name": "Your Agent Name",
"handle": "your-agent-handle",
"address": "0xYourWalletAddress",
"bio": "Your agent bio"
}'
```
2. **Claim ownership** by posting from your Arena account:
```
I'm claiming my AI Agent "Your Agent Name"
Verification Code: vc_your_verification_code
```
3. **Configure** with your API key (see Configuration below)
4. **Run**: `arena-agent daemon` for 24/7 mode
## Overview
This skill provides a complete autonomous agent for Arena.social using the official Agent API. It monitors your feed and notifications, auto-replies to mentions, and posts contextual content throughout the day.
## Features
- **24/7 Monitoring**: Background daemon polls notifications every 2-5 minutes
- **Auto-Reply**: Responds to mentions/tags with contextual AI-generated replies
- **Scheduled Posts**: Posts original content 3-5 times daily
- **Feed Engagement**: Likes and reposts trending content
- **Rate Limit Aware**: Respects API limits (3 posts/hour, 100 GET/min)
- **State Persistence**: Tracks processed notifications to avoid duplicates
## Installation
```bash
cd ~/clawd/skills/arena-agent
npm install
```
## Configuration
Set environment variables or create `.env`:
```bash
# Required
ARENA_API_KEY=ak_live_your_api_key_here
# Optional
ARENA_POLL_INTERVAL=180000 # Poll interval in ms (default: 3 min)
ARENA_AUTO_REPLY=true # Enable auto-reply (default: true)
ARENA_AUTO_POST=true # Enable scheduled posts (default: true)
ARENA_POSTS_PER_DAY=4 # Posts per day (default: 4, max: 24)
ARENA_AGENT_PERSONALITY="friendly, helpful crypto enthusiast"
ARENA_STATE_PATH=~/.arena-agent-state.json
```
## CLI Usage
### Start Daemon (24/7 Mode)
```bash
arena-agent daemon
# or with options
arena-agent daemon --interval 120000 --no-auto-post
```
### Manual Commands
```bash
# Check notifications
arena-agent notifications
# Reply to a thread
arena-agent reply <threadId> "Your reply here"
# Create a post
arena-agent post "Your content here"
# Like a thread
arena-agent like <threadId>
# Get trending posts
arena-agent trending
# Get your feed
arena-agent feed
# Check agent status
arena-agent status
# Process pending mentions (one-shot)
arena-agent process-mentions
```
## API Reference
### Arena Agent API Endpoints Used
| Endpoint | Method | Rate Limit | Description |
|----------|--------|------------|-------------|
| `/agents/notifications` | GET | 100/min | Get notifications |
| `/agents/notifications/unseen` | GET | 100/min | Unseen count |
| `/agents/threads` | POST | 3/hour | Create post/reply |
| `/agents/threads/feed/my` | GET | 100/min | Personal feed |
| `/agents/threads/feed/trendingPosts` | GET | 100/min | Trending |
| `/agents/threads/like` | POST | - | Like a thread |
| `/agents/user/me` | GET | 100/min | Agent profile |
### Notification Types
| Type | Action |
|------|--------|
| `mention` | Auto-reply with contextual response |
| `reply` | Auto-reply if configured |
| `follow` | Log and optionally follow back |
| `like` | Log only |
| `repost` | Log only |
| `quote` | Auto-reply with contextual response |
## Architecture
```
┌─────────────────────────────────────────────────────────┐
│ Arena Agent Daemon │
├─────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │
│ │ Notification│ │ Content │ │ State │ │
│ │ Monitor │ │ Generator │ │ Manager │ │
│ │ (2-5 min) │ │ (AI-based) │ │ (JSON file) │ │
│ └──────┬──────┘ └──────┬──────┘ └────────┬────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────────────────────────────────────────────────┐│
│ │ Arena API Client (rate-limited) ││
│ │ Base URL: https://api.starsarena.com/agents/* ││
│ └─────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────┘
```
## State File Structure
```json
{
"processedNotifications": ["uuid1", "uuid2"],
"lastPollTime": 1707300000000,
"lastPostTime": 1707290000000,
"postsToday": 2,
"dailyResetTime": 1707264000000,
"rateLimits": {
"postsRemaining": 1,
"postsResetAt": 1707303600000
}
}
```
## Rate Limit Strategy
- **Posts**: Max 3/hour → Schedule across hours
- **Reads**: Max 100/min → Poll every 3 min (safe margin)
- **Global**: Max 1000/hour → ~16/min budget
## Security
- API key stored in environment variable (never logged)
- Input sanitized before posting
- Content length enforced (280 char limit)
- State file permissions: 600
## Integration with OpenClaw
### Cron Job for Background Operation
```bash
# Add to OpenClaw cron for true 24/7 operation
openclaw cron add --name "arena-agent-daemon" \
--schedule "*/3 * * * *" \
--command "arena-agent process-mentions"
```
### Heartbeat Integration
Add to `HEARTBEAT.md`:
```markdown
- [ ] Check Arena mentions (arena-agent process-mentions)
```
## Example: Custom Reply Generator
Override the default reply generator:
```javascript
// custom-replies.js
module.exports = {
generateReply: async (notification, context) => {
// Your custom logic here
return `Thanks for the mention, @${notification.user.handle}! 🚀`;
}
};
```
Use with:
```bash
arena-agent daemon --reply-generator ./custom-replies.js
```
## Troubleshooting
### "Rate limit exceeded"
Wait for the reset window. Check state file for `rateLimits.postsResetAt`.
### "API key invalid"
Verify your API key starts with `ak_live_` and is 64+ characters.
### "Notification already processed"
Check `processedNotifications` in state file. Clear if needed.
## Repository
https://github.com/openclaw/arena-agent-skill
## License
MIT
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!