4,933,099 AI resources indexedWorking toward the world’s largest AI resource index.

Example: if user wants Stripe data

Configure custom recurring reports. User defines data sources, skill handles scheduling and formatting.

Installable skillMITBy clawicUpdated Oct 31, 2026
INTENDED FOROpenClawInstall in a listed agent.

instructions.md

---
name: report-f9c8f0b51695
slug: report
version: 1.0.3
description: Configure custom recurring reports. User defines data sources, skill handles scheduling and formatting.
homepage: https://clawic.com/skills/report
changelog: Fixed path consistency, declared optional env vars in metadata
metadata:
  clawdbot:
    emoji: πŸ“Š
    requires:
      bins: []
      env:
        optional:
        - USER_PROVIDED_API_KEYS
    os:
    - linux
    - darwin
    - win32
    displayName: Report
---

## Data Storage

```
~/Clawic/data/report/
β”œβ”€β”€ memory.md               # Index + preferences
β”œβ”€β”€ {name}/
β”‚   β”œβ”€β”€ config.md           # Report configuration
β”‚   β”œβ”€β”€ data.jsonl          # Historical data
β”‚   └── generated/          # Past reports
```

Create on first use: `mkdir -p ~/report`

## Scope

This skill:
- βœ… Stores report configurations in ~/Clawic/data/report/
- βœ… Generates reports on schedule
- βœ… Delivers via channels user configures

**User-driven model:**
- User defines WHAT data to include
- User grants access to any needed sources
- User provides API keys if external data needed
- Skill handles SCHEDULING and FORMATTING

This skill does NOT:
- ❌ Access APIs without user-provided credentials
- ❌ Pull data from sources user hasn't specified
- ❌ Store credentials (user provides via environment)

## Environment Variables

**No fixed requirements.** User provides API keys as needed:

```bash
# Example: if user wants Stripe data
export STRIPE_API_KEY="sk_..."

# Example: if user wants GitHub data  
export GITHUB_TOKEN="ghp_..."
```

Config references env var name, never the value.

## Delivery Security

External delivery (Telegram/webhook/email) sends report content off-device.
- User explicitly configures each channel
- User responsible for trusting destination
- `file` delivery stays local (~/Clawic/data/report/{name}/generated/)

## Quick Reference

| Task | File |
|------|------|
| Configuration schema | `schema.md` |
| Output formats | `formats.md` |
| Delivery options | `delivery.md` |

## Core Rules

### 1. User Defines Data Sources
When creating a report:
1. User specifies what data to track
2. If external API needed, user provides credentials
3. Credentials stored as env var references, not values

Example:
```
User: "Weekly report on my Stripe revenue"
Agent: "I'll need Stripe API access. Please set 
        STRIPE_API_KEY in your environment."
User: "Done"
β†’ Config stored with "source": {"type": "api", "env": "STRIPE_API_KEY"}
```

### 2. Report Configuration
In ~/Clawic/data/report/{name}/config.md:
```yaml
name: weekly-revenue
schedule: "0 9 * * 1"  # Monday 9am
sources:
  - type: api
    env: STRIPE_API_KEY  # User provides
format: chat
delivery: telegram
```

### 3. Scheduling
| Frequency | Cron | Example |
|-----------|------|---------|
| Daily | `0 9 * * *` | 9am daily |
| Weekly | `0 9 * * 1` | Monday 9am |
| Monthly | `0 9 1 * *` | 1st of month |
| On-demand | - | When user asks |

### 4. Delivery Channels
User configures in config.md:
- `chat` β€” Reply in conversation
- `telegram` β€” Send to Telegram (user provides chat ID)
- `file` β€” Save to ~/Clawic/data/report/{name}/generated/
- `email` β€” Send via user's configured mail

### 5. Managing Reports
```
"List my reports" β†’ Read ~/Clawic/data/report/memory.md
"Pause X report" β†’ Update config
"Run X now" β†’ Generate on-demand
```

Platform guidance

Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.