Daily Commit Logbook
by @mozaldy
Generate daily internship logbook drafts and weekly internship reports from GitHub and GitLab commit activity. Build Indonesian MIS-friendly summaries, prepa...
clawhub install daily-commit-logbookπ About This Skill
name: daily-commit-logbook description: Generate daily internship logbook drafts and weekly internship reports from GitHub and GitLab commit activity. Build Indonesian MIS-friendly summaries, prepare Telegram approval requests before submission, and install OpenClaw cron delivery for daily and weekly reporting flows. Use when setting up commit-based internship logbooks, weekly LaTeX reports, repo-aware activity summaries, or approval-before-submit automation.
Daily Commit Logbook
Generate Indonesian internship logbook text from GitHub and GitLab activity, then optionally schedule Telegram approval flows and weekly LaTeX reports.
Quick start
Generate today's report:
GITHUB_USER="your-github-username" bash scripts/generate-report.sh
Or save reusable local config in daily-commit-logbook/.env:
GITHUB_USER=your-github-username
WEEKLY_REPORT_AUTHOR=Internship Student
WEEKLY_REPORT_WEEK_ONE_START=2026-01-05
Setup daily Telegram approval delivery:
bash scripts/setup-cron.sh \
--time "18:00" \
--timezone "WIB" \
--github-user "your-github-username" \
--telegram-chat ""
Setup the Monday weekly report delivery:
bash scripts/setup-weekly-cron.sh \
--time "18:10" \
--timezone "WIB" \
--telegram-chat ""
Required environment
Install and authenticate:
gh for GitHub activityglab for GitLab activityjq for JSON processingIf the scripts are not installed at the workspace root, set OPENCLAW_WORKSPACE=/path/to/workspace before running them.
Main scripts
scripts/generate-report.sh - build the daily dual-version report and save reports/commit-report-YYYY-MM-DD.mdscripts/extract-mis-activity.sh - extract the MIS-ready activity paragraph from the daily reportscripts/render-telegram-approval-request.sh - generate the daily report, save a pending draft, and print a Telegram-ready approval requestscripts/submit-pending-logbook.sh - submit the latest pending MIS draft after explicit user confirmationscripts/render-whatsapp-message.sh - direct-submit helper for manual fallback/debuggingscripts/generate-weekly-report.sh - generate the previous week's LaTeX reportscripts/render-weekly-telegram-message.sh - print a Telegram-ready weekly summary messagescripts/setup-cron.sh - install the recurring daily OpenClaw cron jobscripts/setup-weekly-cron.sh - install the recurring Monday weekly report cron jobBehavior
1. Fetch same-day push activity from GitHub and GitLab.
2. Read changed files and diff hunks, not only commit titles.
3. Apply repo-specific context from references/repo-contexts.json.
4. Render Indonesian logbook text in two versions, standard and more natural for MIS.
5. Save a pending MIS draft and wait for explicit confirmation before submission.
6. Reuse the same diff-aware analysis for weekly internship reports.
References
references/format-guide.md for Indonesian phrasing and activity patterns.references/repo-contexts.json to describe your repos and mark personal repos as excluded from internship reports.Notes
daily-commit-logbook/.env with the chosen GitHub username for later runs.Internship Student unless WEEKLY_REPORT_AUTHOR is set.WEEKLY_REPORT_WEEK_ONE_START is configured.π‘ Examples
Generate today's report:
GITHUB_USER="your-github-username" bash scripts/generate-report.sh
Or save reusable local config in daily-commit-logbook/.env:
GITHUB_USER=your-github-username
WEEKLY_REPORT_AUTHOR=Internship Student
WEEKLY_REPORT_WEEK_ONE_START=2026-01-05
Setup daily Telegram approval delivery:
bash scripts/setup-cron.sh \
--time "18:00" \
--timezone "WIB" \
--github-user "your-github-username" \
--telegram-chat ""
Setup the Monday weekly report delivery:
bash scripts/setup-weekly-cron.sh \
--time "18:10" \
--timezone "WIB" \
--telegram-chat ""
π Tips & Best Practices
daily-commit-logbook/.env with the chosen GitHub username for later runs.Internship Student unless WEEKLY_REPORT_AUTHOR is set.WEEKLY_REPORT_WEEK_ONE_START is configured.