← Back to Skills
Productivity

mastodon-scout

patelhiren By patelhiren 👁 4 views ▲ 0 votes

Read-only Mastodon.

GitHub
---
name: mastodon-scout
description: Read-only Mastodon CLI. Outputs human-readable timeline summaries or raw JSON.
metadata:
  {
    "openclaw":
      {
        "emoji": "🦣",
        "requires": { "anyBins": ["{baseDir}/bin/mastodon-scout", "mastodon-scout"] },
        "install":
          [
            {
              "id": "download-darwin-arm64",
              "kind": "download",
              "os": ["darwin"],
              "url": "https://github.com/patelhiren/mastodon-scout/releases/download/v1.0.2/mastodon-scout-darwin-arm64.zip",
              "archive": "zip",
              "bins": ["mastodon-scout"],
              "targetDir": "{baseDir}/bin",
              "label": "Install Mastodon Scout (macOS Apple Silicon)",
            },
            {
              "id": "download-darwin-amd64",
              "kind": "download",
              "os": ["darwin"],
              "url": "https://github.com/patelhiren/mastodon-scout/releases/download/v1.0.2/mastodon-scout-darwin-amd64.zip",
              "archive": "zip",
              "bins": ["mastodon-scout"],
              "targetDir": "{baseDir}/bin",
              "label": "Install Mastodon Scout (macOS Intel)",
            },
            {
              "id": "download-linux-amd64",
              "kind": "download",
              "os": ["linux"],
              "url": "https://github.com/patelhiren/mastodon-scout/releases/download/v1.0.2/mastodon-scout-linux-amd64.zip",
              "archive": "zip",
              "bins": ["mastodon-scout"],
              "targetDir": "{baseDir}/bin",
              "label": "Install Mastodon Scout (Linux)",
            },
            {
              "id": "download-windows-amd64",
              "kind": "download",
              "os": ["win32"],
              "url": "https://github.com/patelhiren/mastodon-scout/releases/download/v1.0.2/mastodon-scout-windows-amd64.zip",
              "archive": "zip",
              "bins": ["mastodon-scout.exe"],
              "targetDir": "{baseDir}/bin",
              "label": "Install Mastodon Scout (Windows)",
            },
          ],
      },
  }
---

# Mastodon Scout

## Purpose

Read-only Mastodon CLI that fetches data from the Mastodon API. Returns human-readable summaries by default, or raw JSON with `--json` flag.

---

## Invocation Rules (MANDATORY)

### Binary Selection
- **macOS / Darwin** → `dist/mastodon-scout`
- **Linux** → `dist/mastodon-scout-linux`

### Commands

#### Home Timeline
```
{baseDir}/bin/mastodon-scout home
```
Fetches the authenticated user's home timeline.

#### User Tweets
```
{baseDir}/bin/mastodon-scout user-tweets
```
Fetches the authenticated user's own posts.

#### Mentions
```
{baseDir}/bin/mastodon-scout mentions
```
Fetches mentions of the authenticated user.

#### Search
```
{baseDir}/bin/mastodon-scout search <query>
```
Searches for posts matching the query.

### Flags (Optional)
```
--instance <url>       # Mastodon instance URL (default: https://mastodon.social)
--limit <int>          # Number of items to return (default: 20)
--timeout <int>        # Timeout in seconds (default: 30)
--json                 # Output raw JSON instead of human-readable text
```

### Environment Variables (REQUIRED)
```
MASTODON_TOKEN         # OAuth bearer token for authentication
```

---

## Output Modes

### Text Mode (Default)
```bash
mastodon-scout home
```
Returns human-readable summary of timeline data.

The agent MAY summarize and explain the timeline results to make them more accessible to the user.

### JSON Mode
```bash
mastodon-scout --json home
```
Returns raw JSON data from the Mastodon API.

When JSON mode is used, return the output verbatim without interpretation.

---

## Error Handling

- If the binary exits non-zero:
  - In JSON mode: return error output verbatim
  - In text mode: the agent MAY explain the error to the user
  - Do not retry

- If MASTODON_TOKEN is not set:
  - The binary will exit with an error message
  - Agent should guide the user to the authentication setup section

---

## Examples That Trigger This Skill

- `mastodon-scout home`
- `show my mastodon timeline`
- `check mastodon mentions`
- `search mastodon for "golang"`
- `get my mastodon posts`

---

## Performance Requirements

- Execute binary directly
- No web searches
- No secondary tools beyond the binary
- Minimize latency

---

## Notes

- In text mode: agent MAY summarize and explain results
- In JSON mode: output verbatim, no interpretation
- This skill is **read-only** (no posting, following, or other mutations)

---

## Authentication Setup (Agent MAY Help)

**EXCEPTION TO STRICT MODE**: If the user needs help obtaining a token, the agent **may** provide guidance before executing the skill.

The tool requires a Mastodon OAuth bearer token set in the `MASTODON_TOKEN` environment variable.

### How to Obtain a Token (Guide the User):

**Step 1: Access Development Settings**
- User should log into their Mastodon instance (e.g., mastodon.social, fosstodon.org)
- Navigate to: **Settings → Development** (or Preferences → Development)
- Direct URL format: `https://[instance-domain]/settings/applications`

**Step 2: Create Application**
- Click "New Application"
- Fill in details:
  - **Application name**: `mastodon-scout` (or any name)
  - **Application website**: Can leave blank or use any URL
  - **Redirect URI**: `urn:ietf:wg:oauth:2.0:oob` (for CLI apps)
  - **Scopes**: **CRITICAL - Only select `read`** (uncheck write, follow, push)

**Step 3: Get Access Token**
- Click "Submit"
- Click on the created application to view details
- Copy the **"Your access token"** field value

**Step 4: Set Environment Variable**
```bash
export MASTODON_TOKEN="paste_token_here"
```

**Step 5: Verify Token Works**
```bash
./dist/mastodon-scout home
```

### Common Mastodon Instances:
- `mastodon.social` - General purpose (default)
- `fosstodon.org` - FOSS/tech community
- `mas.to` - Tech focused
- `hachyderm.io` - Tech/infosec community

Use `--instance https://your-instance.com` flag for non-default instances.

### Security Notes to Communicate:
- Token is **read-only** (cannot post, follow, or delete)
- Keep token secret (don't commit to git)
- Can be revoked anytime in Development settings
- Each Mastodon instance requires its own token

---

## Output Format

### Text Mode (Default)
Human-readable summary of posts, formatted for readability. The agent decides how to present the information.

### JSON Mode (`--json` flag)
All commands return JSON in the following format:

```json
{
  "success": true,
  "data": [ /* Mastodon API response */ ]
}
```

Or on error:

```json
{
  "success": false,
  "error": "error message"
}
```

The `data` field contains the raw Mastodon API response without any modifications.
productivity

Comments

Sign in to leave a comment

Loading comments...