report Command
The report command generates comprehensive daily work reports with detailed information about work sessions, breaks, productivity metrics, and completed tasks. It also supports automatic report submission to external systems and monthly summary generation.
Usage
kasl report [OPTIONS]
Options
-
--send: Submit the generated daily report to configured API- Automatically submits the report to the configured reporting service (typically SiServer)
- Enables integration with organizational time tracking systems
- Useful for compliance and organizational reporting requirements
-
--last,-l: Generate report for the previous day instead of today- Useful for submitting yesterday's report in the morning
- Reviewing completed work sessions
- Batch processing of historical reports
-
--month: Submit monthly summary report to configured API- Generates and submits an aggregate monthly report
- Contains summary statistics and total work hours
- Typically used for organizational reporting requirements at month-end
Examples
Basic Report Generation
# Generate and display today's report
kasl report
# Generate report for yesterday
kasl report --last
# Generate and send today's report
kasl report --send
Advanced Reporting
# Submit monthly summary report
kasl report --month
# Generate yesterday's report and send it
kasl report --last --send
Report Analysis
# Review today's work without sending
kasl report
# Check yesterday's productivity
kasl report --last
Report Components
Daily Report Structure
The daily report includes:
-
Work Session Summary
- Start and end times
- Total work duration
- Productivity percentage
- Break periods
-
Task Completion
- List of completed tasks
- Task completion percentages
- Task descriptions and comments
-
Productivity Metrics
- Net working time vs. gross time
- Break analysis
- Efficiency calculations
-
Time Intervals
- Detailed work periods (short intervals automatically filtered out)
- Break periods
- Activity patterns
- Information about filtered short intervals
Monthly Report Structure
Monthly reports include:
-
Aggregate Statistics
- Total work hours for the month
- Average daily hours
- Overall productivity percentage
-
Daily Breakdown
- Each workday with hours and productivity
- Rest days with default hours
- Missing days identification
-
Trend Analysis
- Productivity trends
- Work pattern analysis
- Performance insights
Short Interval Filtering
The report command automatically filters out work intervals that are shorter than the configured min_work_interval threshold. This filtering provides cleaner, more meaningful reports by removing brief interruptions that don't represent significant work periods.
How It Works
- Automatic Detection: Work intervals are analyzed based on the
min_work_intervalconfiguration setting - Display Filtering: Short intervals are filtered at display time - no database modifications are made
- Consistent Application: Same filtering logic applies to both local display (
kasl report) and API submission (kasl report --send) - User Notification: When short intervals are filtered, users receive information about how many were filtered and their total duration
Configuration
The filtering threshold is controlled by the min_work_interval setting in your configuration:
{
"monitor": {
"min_work_interval": 30
}
}
This setting defines the minimum duration (in minutes) for intervals to be included in reports.
Benefits
- Cleaner Reports: Eliminates noise from brief interruptions
- Better Analytics: Focus on meaningful work periods
- Preserved Data: Original data remains intact in the database
- Consistent Behavior: Same filtering for display and API submission
Sample Output
Daily Report
December 15, 2024
+--------------+-------+-------+----------+
| ID | START | END | DURATION |
+--------------+-------+-------+----------+
| 1 | 09:00 | 12:00 | 03:00 |
| 2 | 13:00 | 15:30 | 02:30 |
| 3 | 15:45 | 17:30 | 01:45 |
| | | | |
| TOTAL | | | 07:15 |
| PRODUCTIVITY | | | 92.0% |
+--------------+-------+-------+----------+
Tasks
+---+----+----------+------------------+------------------+-------------+------------------+
| # | ID | TASK ID | NAME | COMMENT | COMPLETENESS| TAGS |
+---+----+----------+------------------+------------------+-------------+------------------+
| 1 | 1 | 0 | Daily standup | Team sync | 100% | meeting |
| 2 | 2 | 0 | Code review | Review PR #123 | 100% | urgent |
| 3 | 3 | 0 | Bug fix | Fix login issue | 75% | bug, urgent |
| 4 | 4 | 0 | Documentation | Update API docs | 25% | docs |
+---+----+----------+------------------+------------------+-------------+------------------+
Filtered out 2 short intervals (total: 0:15)
Monthly Report
December 2024
+------------+----------+-------------+
| DATE | DURATION | PRODUCTIVITY|
+------------+----------+-------------+
| 2024-12-02 | 08:15 | 92.0% |
| 2024-12-03 | 07:45 | 88.0% |
| 2024-12-04 | 08:30 | 95.0% |
| 2024-12-05 | 07:20 | 85.0% |
| 2024-12-06 | 08:00 | 90.0% |
| | | |
| TOTAL | 39:50 | 90.0% |
+------------+----------+-------------+
Use Cases
Daily Work Review
# Review today's work at end of day
kasl report
# Submit report to organization
kasl report --send
Weekly Planning
# Review yesterday's work before planning today
kasl report --last
Monthly Reporting
# Generate monthly summary for management
kasl report --month
Integration with Other Commands
The report command works with other kasl commands:
watch: Uses data collected by activity monitoringtask: Includes task completion data in reportsadjust: Reflects manual time adjustments in reportspauses: Integrates pause data for comprehensive reporting
Best Practices
Daily Workflow
- Review at end of day: Generate report to review productivity
- Submit promptly: Send reports to maintain compliance
- Monitor filtering: Check filtered interval notifications for data quality
- Monitor trends: Track productivity patterns over time
Report Quality
- Verify data accuracy: Check reports for unusual patterns
- Review filtering: Note filtered short intervals for context
- Document adjustments: Note any manual time corrections
- Review completeness: Ensure all work is properly recorded
Organizational Integration
- Configure API settings: Set up proper integration with reporting systems
- Test submissions: Verify report delivery before relying on automation
- Monitor compliance: Ensure reports meet organizational requirements
- Backup locally: Keep local copies of submitted reports