Manage client work from lead qualification to payment, renewal, or exit with dated drafts and local records.
Documents
Report
Configure custom recurring reports. User defines data sources, skill handles scheduling and formatting.
What it does
This skill: ✅ Stores report configurations in ~/report/ ✅ Generates reports on schedule ✅ Delivers via channels user configures
The skill document
Data Storage
~/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 ~/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:
# 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
filedelivery stays local (~/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:
- User specifies what data to track
- If external API needed, user provides credentials
- 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 ~/report/{name}/config.md:
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 conversationtelegram— Send to Telegram (user provides chat ID)file— Save to ~/report/{name}/generated/email— Send via user's configured mail
5. Managing Reports
"List my reports" → Read ~/report/memory.md
"Pause X report" → Update config
"Run X now" → Generate on-demand
Related skills
Creates a morning briefing from sleep, biometrics, calendar, activity, and local weather data.
Manage ClickFunnels 2.0 contacts, products, orders, courses, forms, fulfillments, images, and webhooks via API.
Evaluate offers, negotiate compensation, plan promotions or pivots, and respond to career setbacks.
Manage HubSpot contacts, companies, deals, and associations through managed OAuth.
Update installed skills with diff review, backups, approved migrations, verification, and rollback.
More from Iván
Browse all skillsWrite, debug, and tune Java and JVM systems with JDK-aware code and diagnostic steps.
Design and critique visual artifacts using measurable rules for hierarchy, spacing, type, color, and layout.
Diagnose CSS mechanics and produce targeted fixes or complete stylesheets for the chosen stack.
Architect, troubleshoot, secure, and cost-control AWS infrastructure with explicit cost and blast-radius guidance.
Diagnose, validate, transform, and evolve JSON payloads across parsers, schemas, storage, and large files.
Build and operate a testable learning plan with practice, spaced review, transfer checks, and durable local records.