reporting
Reporting & Data Distribution
Report Types
| Type | Data Sources | Typical Schedule |
|---|---|---|
| Daily Summary | journal.md, tasks.md, cron logs | 0 18 * * MON-FRI |
| Project Status | orchestration.md, git log, test results | On-demand or weekly |
| Monitoring Report | monitors.md, notify history | 0 9 * * MON |
| Custom Report | Any combination | On-demand |
Data Gathering
From memory files
Read .aiter/memory/tasks.md → pending/completed task counts
Read .aiter/memory/journal.md → today's activity entries
Read .aiter/memory/orchestration.md → orchestration progress
Read .aiter/memory/monitors.md → monitor status
From AiTer CLI
# Terminal activity
aiter terminal list | jq '.data | length' # active terminal count
# Cron job status
aiter cron list | jq '.data[] | {name, lastRun, status}'
# Recent notifications
aiter notify history --limit 10
# Server stats
aiter server stats
# Active tunnels
aiter tunnel list
From project tools
# Git activity (last 24 hours)
git log --since="24 hours ago" --oneline
# Test results
npm test 2>&1 | tail -5
# Build status
npm run build 2>&1 | tail -3
Report Formats
Markdown Report (for IM)
**Daily Summary — 2024-01-15**
📋 **Tasks**
- Completed: 3
- In Progress: 2
- Pending: 4 (1 overdue)
🔄 **Orchestration**
- "E-commerce Platform": Phase 2/3, 65% complete
📡 **Monitoring**
- API Health: ✅ Healthy (99.9% uptime)
- Database: ✅ Connected
- Disk: ⚠️ 78% used
⏰ **Cron Jobs**
- 12/12 ran successfully
- 0 failures
📝 **Activity Highlights**
- Deployed auth API to staging
- Resolved API 503 error (auto-remediated)
- Answered 2 IM questions from Alice
HTML Report (for tunnel sharing)
When generating HTML reports for sharing via tunnel:
- Create an HTML file in the project directory:
<!DOCTYPE html>
<html>
<head>
<title>Project Status Report</title>
<style>
body { font-family: system-ui; max-width: 800px; margin: 40px auto; padding: 0 20px; }
.metric { display: inline-block; padding: 16px; margin: 8px; border-radius: 8px; background: #f5f5f5; }
.metric h3 { margin: 0; color: #666; font-size: 14px; }
.metric .value { font-size: 32px; font-weight: bold; }
.healthy { color: #4caf50; }
.warning { color: #ff9800; }
.critical { color: #f44336; }
table { width: 100%; border-collapse: collapse; margin: 16px 0; }
th, td { text-align: left; padding: 8px; border-bottom: 1px solid #eee; }
th { background: #f5f5f5; }
</style>
</head>
<body>
<h1>Project Status Report</h1>
<p>Generated: 2024-01-15 18:00</p>
<div class="metrics">
<div class="metric">
<h3>Tasks Completed</h3>
<div class="value healthy">3</div>
</div>
<div class="metric">
<h3>In Progress</h3>
<div class="value">2</div>
</div>
<div class="metric">
<h3>Overdue</h3>
<div class="value critical">1</div>
</div>
</div>
<!-- Add tables, charts, details as needed -->
</body>
</html>
- Start file server and create tunnel (see tunnels skill)
- Share the tunnel URL
Distribution
Send via IM
# Format report as markdown
REPORT="**Daily Summary — $(date +%Y-%m-%d)**\n\n..."
# Send to primary channel
aiter message send --channel $CHANNEL_ID --text "$REPORT" --format markdown
Send via notification
# Short summary notification
aiter notify send \
--title "Daily Summary" \
--message "3 tasks completed, 1 overdue. API healthy. Details: $TUNNEL_URL"
Share via tunnel (detailed reports)
# Write HTML report file
# Start server: aiter server start --projectId $PID
# Create tunnel: aiter tunnel create --localPort $PORT --label "Report"
# Share URL via IM or notification
Report Generation Workflow
Automated daily summary
The heartbeat or cron triggers this flow:
- Gather data: Read memory files, query AiTer CLI, run project commands
- Compile: Aggregate counts, status, highlights
- Format: Create markdown (for IM) or HTML (for sharing)
- Distribute: Send via configured channel
- Log: Record in journal.md
On-demand report
User requests via /report command or IM message:
- Parse request: What type of report? What time range?
- Gather: Same as automated, but scoped to request
- Format and deliver: Same distribution channels
- Respond: If IM-triggered, reply with report content or URL
Report Templates
Weekly Status Template
**Weekly Status — Week of {start_date}**
## Highlights
- {highlight_1}
- {highlight_2}
## Tasks
| Status | Count |
|--------|-------|
| Completed | {n} |
| In Progress | {n} |
| Pending | {n} |
| Overdue | {n} |
## Key Metrics
- API Uptime: {uptime}%
- Builds: {builds_passed}/{builds_total} passed
- Response Time: {avg_ms}ms average
## Next Week
- {planned_1}
- {planned_2}
Incident Report Template
**Incident Report — {date}**
**Severity:** {HIGH/NORMAL/LOW}
**Duration:** {start_time} — {end_time} ({duration})
**Impact:** {description}
## Timeline
- {time}: {event}
- {time}: {event}
## Root Cause
{description}
## Resolution
{what_was_done}
## Prevention
{recommendations}
More from within-7/aiter
notifications
Multi-target notification system. Send app, IM, and webhook notifications with priority levels, quiet hours, and history tracking.
2tunnels
Tunnel lifecycle management. Create, monitor, and close tunnels for sharing local services publicly. Integrate with file servers for report and preview sharing.
1platform-core
Foundation skill for the AiTer Agent Platform. Provides identity framework, autonomous decision rules, environment detection, full AiTer CLI command reference across all 11 namespaces, and persistent memory basics.
1scheduling
Cron-based scheduling and heartbeat automation. Create, manage, and monitor recurring tasks. Implement the heartbeat pattern for proactive task checking.
1messaging
IM gateway mastery. Configure channels (Telegram, Slack, DingTalk, WeChat Work, Webhook), manage message routes, handle bidirectional communication, and implement the reply pattern for IM-triggered sessions.
1