Generate HTML work report and open in browser
Generates HTML work reports from TaskLedger data and opens them in the browser.
/plugin marketplace add bryan-cox/taskledger/plugin install taskledger@taskledger[--file PATH] [--start-date YYYY-MM-DD] [--end-date YYYY-MM-DD] [--output PATH]taskledger:html-report
/taskledger:html-report [--file PATH] [--start-date YYYY-MM-DD] [--end-date YYYY-MM-DD] [--output PATH]
Generates an HTML work report using TaskLedger and opens it in the default browser. The report includes completed tasks, next up items, and blockers organized by JIRA ticket, with ticket summaries fetched from JIRA via MCP.
This command is useful for:
~/bryan-cox/taskledger/bin/taskledgerExecute the following workflow step by step:
Extract optional arguments from $ARGUMENTS:
--file PATH: Path to worklog.yml file (defaults to ~/worklog/worklog.yaml)--start-date YYYY-MM-DD: Start of date range (defaults to today)--end-date YYYY-MM-DD: End of date range (defaults to today)--output PATH: Path for the generated HTML file (defaults to weekly-report.html)Validate date formats if provided (must be YYYY-MM-DD)
Store all parsed values for later use
Check that the TaskLedger binary exists at ~/bryan-cox/taskledger/bin/taskledger:
ls ~/bryan-cox/taskledger/bin/taskledger
If not found, inform the user:
TaskLedger binary not found at ~/bryan-cox/taskledger/bin/taskledger
Please build it with: cd ~/bryan-cox/taskledger && make build
Check that the worklog file exists at the specified path:
ls {worklog-file-path}
If not found, inform the user:
Worklog file not found at {path}
Please check the file path or create a worklog file.
Use Grep to extract only the jira_ticket lines from the worklog file for the specified date range:
grep -A 100 "^{start-date}:" {worklog-file} | grep -B 100 "^{end-date}:" | grep "jira_ticket:"
Or if dates are the same (single day), just grep that date section.
From the grep output, extract unique JIRA ticket IDs matching the pattern [A-Z]+-[0-9]+
NO-JIRA, and freeform textFor each unique JIRA ticket ID found (typically just 1-5 tickets):
mcp__atlassian__jira_get_issue to fetch the ticket info:
issue_key: "{TICKET-ID}"
fields: "summary"
Create a JSON object mapping ticket IDs to their info:
{
"PROJ-123": {
"Key": "PROJ-123",
"Summary": "The ticket summary from JIRA",
"URL": "https://issues.redhat.com/browse/PROJ-123"
},
"PROJ-456": {
"Key": "PROJ-456",
"Summary": "Another ticket summary",
"URL": "https://issues.redhat.com/browse/PROJ-456"
}
}
Write the JSON to a temporary file at /tmp/jira-summaries.json using the Write tool
Construct the TaskLedger command with all arguments:
~/bryan-cox/taskledger/bin/taskledger report \
--html-file {output} \
--open-html \
--start-date {start-date} \
--end-date {end-date} \
--file {worklog-file} \
--jira-summaries /tmp/jira-summaries.json
Note: Omit --jira-summaries if Phase 3 was skipped (JIRA MCP unavailable)
Execute the command using the Bash tool
Capture the output for reporting
=== HTML Report Generated ===
Date Range: {start-date} to {end-date}
Output File: {output-path}
Worklog Source: {worklog-file}
JIRA Summaries: {number} tickets fetched
The report has been opened in your default browser.
You can copy the content and paste it directly into Slack.
Generate report for today:
/html-report
Generates a report for today's tasks and opens it in the browser.
Generate report for a date range:
/html-report --start-date 2025-12-18 --end-date 2026-01-06
Generates a report for the specified date range.
Generate report with custom worklog file:
/html-report --file ~/my-worklog/work.yaml
Uses a worklog file from a different location.
Generate report with custom output path:
/html-report --output ~/reports/january-week1.html --start-date 2026-01-01 --end-date 2026-01-07
Saves the report to a specific location.
Full example with all options:
/html-report --file ~/worklog/worklog.yaml --start-date 2025-12-18 --end-date 2026-01-06 --output weekly-report.html
Generates a report with all options explicitly specified.
--file (optional): Path to the worklog.yml file. Defaults to ~/worklog/worklog.yaml. Can be an absolute or relative path.--start-date (optional): Start of date range in YYYY-MM-DD format. Defaults to today.--end-date (optional): End of date range in YYYY-MM-DD format. Defaults to today.--output (optional): Path for the generated HTML file. Defaults to weekly-report.html in the current directory./update-jira command for posting status updates to JIRA ticketshours command for calculating hours worked