Expert skill for transforming Git commit messages into clean, formatted worklog entries for time tracking. Automatically rephrases technical jargon into business-friendly language for non-IT audiences. Processes commits from specified time periods (including work weeks Monday-Friday) and generates professional, stakeholder-ready worklog descriptions.
- Preparing daily/weekly worklogs
- Creating timesheet entries from commits
- Generating work summaries for reporting
- Documenting completed tasks from Git history
- Creating work logs for project management tools (Jira, Linear, etc.)
Automatically groups commits by their branch's issue number and description:
Input branches:
- feature/2100-seller-pages (3 commits)
- hotfix/2050-login-fix (1 commit)
- main (2 commits - no issue number)
Output:
#2100 Seller pages
- Commit 1 for seller pages
- Commit 2 for seller pages
- Commit 3 for seller pages
#2050 Login fix
- Fix login issue
Other
- General maintenance commit
- Update configuration
How it works:
- Extracts issue number from branch name (e.g.,
feature/2100-seller-pages→2100) - Extracts description from branch name (e.g.,
seller-pages→Seller pages) - Groups all commits from that branch under
#2100 Seller pages - Commits without issue numbers go under "Other"
/worklog # Generate worklog for today
/worklog today # Generate worklog for today
/worklog yesterday # Generate worklog for yesterday
/worklog 2026-02-03 # Generate worklog for specific date
/worklog 3 days ago # Generate worklog for last 3 days
/worklog this week # Generate worklog for current week
/worklog week # Generate worklog for current work week (Monday-Friday)
/worklog last week # Generate worklog for previous work week (Monday-Friday)
feat: update StoreProfileCard and related components to include pathname and hasJobs properties
Update StoreProfileCard and related components to include pathname and hasJobs properties
- Remove commit type prefix: Strip
feat:,fix:,chore:,refactor:,docs:,test:,perf:,style:,build:,ci:, etc. - Remove scope: Strip
(scope)if present (e.g.,feat(auth):→ just remove everything before subject) - Capitalize first letter: Ensure first letter is uppercase
- Remove trailing period: If subject ends with period, remove it
- 🔴 CRITICAL: Rephrase for non-technical audience: Transform technical jargon into business-friendly language that anyone can understand (see detailed rules below)
VERY IMPORTANT: All worklog entries MUST be rephrased to be understandable by non-IT personnel (managers, clients, stakeholders who have no technical background).
Components/Code:
- ❌ "Update StoreProfileCard component" → ✅ "Update store profile display"
- ❌ "Refactor authentication logic" → ✅ "Improve login system reliability"
- ❌ "Add pagination component" → ✅ "Add page navigation for search results"
- ❌ "Fix Redux state management" → ✅ "Fix data synchronization issues"
- ❌ "Update API endpoint" → ✅ "Update data retrieval system"
- ❌ "Add GraphQL query" → ✅ "Implement data fetching for [feature]"
- ❌ "Refactor database schema" → ✅ "Restructure data storage for better performance"
Technical Actions:
- ❌ "Implement" → ✅ "Add", "Create", "Set up"
- ❌ "Refactor" → ✅ "Improve", "Optimize", "Restructure"
- ❌ "Debug" → ✅ "Fix issues with"
- ❌ "Deploy" → ✅ "Release", "Publish"
- ❌ "Migrate" → ✅ "Move", "Transfer", "Upgrade"
- ❌ "Optimize performance" → ✅ "Make faster", "Improve speed"
Technical Features:
- ❌ "SEO metadata" → ✅ "Search engine optimization settings"
- ❌ "Responsive layout" → ✅ "Mobile-friendly design"
- ❌ "Cache implementation" → ✅ "Speed optimization system"
- ❌ "WebSocket connection" → ✅ "Real-time updates"
- ❌ "JWT authentication" → ✅ "Secure login system"
- ❌ "REST API" → ✅ "Data communication system"
Framework/Library Names:
- ❌ "Next.js routing" → ✅ "Page navigation system"
- ❌ "Tailwind styling" → ✅ "Visual styling"
- ❌ "React hooks" → ✅ "Interactive functionality"
- ❌ "TypeScript interfaces" → ✅ "Data structure definitions"
Example 1:
- ❌ Technical: "Refactor StoreProfileCard component to use TypeScript interfaces"
- ✅ Non-technical: "Improve store profile display structure for better reliability"
Example 2:
- ❌ Technical: "Fix authentication token refresh loop on 401 errors"
- ✅ Non-technical: "Fix automatic re-login issue when session expires"
Example 3:
- ❌ Technical: "Add GraphQL query for fetching product metadata with pagination"
- ✅ Non-technical: "Add product information retrieval with page-by-page navigation"
Example 4:
- ❌ Technical: "Implement Redux saga for async API calls in checkout flow"
- ✅ Non-technical: "Set up background data processing for checkout process"
Example 5:
- ❌ Technical: "Update Webpack configuration for code splitting optimization"
- ✅ Non-technical: "Optimize website loading speed"
Example 6:
- ❌ Technical: "Add unit tests for authentication middleware"
- ✅ Non-technical: "Add automated testing for login security"
- Focus on WHAT and WHY, not HOW: Describe the business value, not the technical implementation
- Use everyday language: Avoid acronyms (API, SEO, JWT, etc.) or explain them in simple terms
- Be specific about user impact: "Users can now..." instead of "Implemented..."
- Remove technical stack mentions: No React, Redux, Next.js, TypeScript, GraphQL, etc.
- Business outcomes over code changes: "Improved search speed by 50%" not "Optimized database queries"
- Think like a translator: If your manager's manager wouldn't understand it, rephrase it
- User-centric language: Focus on what users see/experience, not what developers do
Database & Backend:
- ❌ "Add PostgreSQL indexes" → ✅ "Improve data retrieval speed"
- ❌ "Migrate database schema" → ✅ "Update data storage structure"
- ❌ "Implement Redis caching" → ✅ "Add speed optimization system"
- ❌ "Add database transactions" → ✅ "Ensure data consistency and reliability"
UI/Frontend:
- ❌ "Refactor CSS modules" → ✅ "Improve visual styling organization"
- ❌ "Add responsive breakpoints" → ✅ "Optimize display for different screen sizes"
- ❌ "Implement lazy loading" → ✅ "Improve page loading speed"
- ❌ "Add React context provider" → ✅ "Set up data sharing between pages"
Authentication & Security:
- ❌ "Implement OAuth2 flow" → ✅ "Set up secure third-party login (Google, Facebook)"
- ❌ "Add CSRF protection" → ✅ "Enhance security against unauthorized actions"
- ❌ "Implement rate limiting" → ✅ "Prevent system abuse and ensure fair usage"
- ❌ "Add JWT refresh tokens" → ✅ "Improve automatic login session extension"
Testing & Quality:
- ❌ "Add unit tests for utils" → ✅ "Add automated testing for core functionality"
- ❌ "Implement E2E tests" → ✅ "Add automated testing for complete user workflows"
- ❌ "Add Cypress tests" → ✅ "Set up automated browser testing"
- ❌ "Fix ESLint errors" → ✅ "Fix code quality issues"
Infrastructure & DevOps:
- ❌ "Configure Docker containers" → ✅ "Set up deployment environment"
- ❌ "Add CI/CD pipeline" → ✅ "Automate testing and deployment process"
- ❌ "Configure nginx reverse proxy" → ✅ "Set up server routing configuration"
- ❌ "Migrate to AWS S3" → ✅ "Move file storage to cloud system"
Features & Functionality:
- ❌ "Implement WebSocket connection" → ✅ "Add live update functionality"
- ❌ "Add infinite scroll" → ✅ "Add automatic content loading as you scroll"
- ❌ "Implement debounce on search" → ✅ "Optimize search performance during typing"
- ❌ "Add breadcrumb navigation" → ✅ "Add page location indicator"
Extract both the issue number AND description from branch names to create meaningful group headers:
Input:
- Branch:
feature/2103-seo-data-for-static-pages - Commit:
feat: add metadata to static pages
Output (when grouped):
#2103 Seo data for static pages
- Add metadata to static pages
Branch Parsing Rules:
- Extract pattern:
<type>/<number>-<description> - Issue number:
2103 - Description: Convert
seo-data-for-static-pagestoSeo data for static pages- Replace hyphens with spaces
- Capitalize first letter only (title case each word if needed)
- Keep rest lowercase
Examples:
feature/2100-seller-pages→#2100 Seller pageshotfix/2050-fix-login-bug→#2050 Fix login bugbugfix/1999-payment-issue→#1999 Payment issuetask/3000-update-dependencies→#3000 Update dependencies
- Extract from branch names:
<any-prefix>/<number>-<description> - Common prefixes:
feature/,fix/,bug/,hotfix/,task/,bugfix/, etc. - Prefix can be anything before the slash
- Handle formats:
2103-description,PROJ-2103-description - If no issue number found, commits go to "Other" group
# For today
git log --all --since="midnight" --pretty=format:"%H|%s|%D"
# For yesterday
git log --all --since="yesterday midnight" --until="midnight" --pretty=format:"%H|%s|%D"
# For specific date (e.g., 2026-02-03)
git log --all --since="2026-02-03 00:00:00" --until="2026-02-03 23:59:59" --pretty=format:"%H|%s|%D"
# For date range (e.g., last 3 days)
git log --all --since="3 days ago" --pretty=format:"%H|%s|%D"
# For current work week (Monday-Friday)
# Get Monday of current week
git log --all --since="$(date -v-Mon)" --pretty=format:"%H|%s|%D"
# For last work week (previous Monday-Friday)
git log --all --since="$(date -v-Mon -v-1w)" --until="$(date -v-Fri -v-1w) 23:59:59" --pretty=format:"%H|%s|%D"Format explanation:
%H- Commit hash%s- Commit subject (message)%D- Ref names (branch names), example:HEAD -> feature/2100-seller-pages, origin/feature/2100-seller-pages
Example output:
abc123|feat: add seller profile page|HEAD -> feature/2100-seller-pages, origin/feature/2100-seller-pages
def456|fix: update layout|HEAD -> feature/2100-seller-pages
ghi789|chore: small fix|HEAD -> main, origin/main
# Get branch containing each commit
git branch --all --contains <commit-hash>
# Or get branch name from git log ref names (%D format)
# Example output: "HEAD -> feature/2100-seller-pages, origin/feature/2100-seller-pages"For each unique branch:
- Extract issue number: Look for pattern
<prefix>/<number>-<description> - Extract description: Get text after
<number>- - Format description:
- Replace hyphens with spaces
- Capitalize first letter (or title case each word)
- Example:
2100-seller-pages→Seller pages
- Create group header:
#<number> <Description>
For each commit:
- Extract commit message (subject line only)
- Remove conventional commit prefix (type and scope)
- Capitalize first letter
- 🔴 CRITICAL: Rephrase to non-technical language (remove jargon, technical terms, component names)
- Identify which branch/group this commit belongs to
- Add to appropriate group (or "Other" if no issue number)
- Sort groups by issue number (ascending)
- For each group:
- Print group header:
#<number> <Description>orOther - List commits as bullet points:
- <commit message> - IMPORTANT: No empty lines between groups
- IMPORTANT: No spaces or tabs at the beginning of lines
- Print group header:
- Place "Other" group last
- Remove exact duplicate commit messages within same group
- Preserve unique work items
- Keep one instance of similar entries
After displaying the worklog:
- Ask user: "Would you like to save this worklog to a markdown file?"
- Suggest default path:
~/Desktop/worklog-YYYY-MM-DD.md - If user agrees:
- Use suggested path or user-provided custom path
- Write formatted worklog to file
- Confirm file saved successfully
Worklog entries for [DATE]:
1. #2103 Add metadata to static pages
2. #2103 Update search engine optimization configuration
3. #2103 Fix page title display
IMPORTANT: When commits come from different branches or when there are commits without issue numbers, use grouped format:
Worklog entries for [DATE]:
#2100 Seller pages
- Clear commit for my customer
- Clear commit for my customer
- Update store profile display
#2103 Seo data for static pages
- Add metadata to static pages
- Update search engine optimization configuration
Other
- Small fix that is understandable to my customer
- Fix authentication issue
Grouping Rules:
- Extract issue number and description from branch name
- Format:
#<number> <Description>(from branch description) - List commits under each group with
-bullets - Commits without issue numbers go under "Other" group
- Order: Issue groups first (by number), then "Other" group last
Formatting Rules:
- ❌ NO empty lines between groups
- ❌ NO spaces or tabs at the beginning of lines
- ✅ Compact format with group header followed immediately by bullet points
Input commit: feat: add dark mode toggle button
Branch: main
Technical: Add dark mode toggle button
Output: Add dark/light theme switcher
Input commit: fix(auth): prevent token refresh loop on 401 errors
Branch: main
Technical: Prevent token refresh loop on 401 errors
Output: Fix automatic re-login issue when session expires
Input commit: feat: update StoreProfileCard to include pathname property
Branch: feature/2010-seller-pages
Technical: #2010 Update StoreProfileCard to include pathname property
Output:
#2010 Seller pages
- Update store profile display with page location information
Input commits:
- feat: add pagination component
- feat: update StoreSearch layout
- fix: correct pagination offset calculation
Branch: feature/2010-seller-pages
Output (Non-Technical, Grouped):
#2010 Seller pages
- Add page navigation for search results
- Update search page layout
- Fix page number calculation
Input commits from today:
- feat: update seller profile display (branch: feature/2100-seller-pages)
- fix: improve search functionality (branch: feature/2100-seller-pages)
- chore: update dependencies (branch: main)
Output:
Worklog entries for February 6, 2026:
#2100 Seller pages
- Clear commit for my customer
- Clear commit for my customer
Other
- Small fix that is understandable to my customer
Command: /worklog today
Commits from branches:
- feature/2103-seo-data-for-static-pages (3 commits)
- main (2 commits)
Output:
Worklog entries for February 4, 2026:
#2103 Seo data for static pages
- Update data retrieval and improve article search functionality
- Fix article and category page URL detection
- Improve search page with product display cards
Other
- Add translations for multiple languages
- Update configuration settings
Command: /worklog yesterday
Commits from branches:
- feature/2017-product-pages (2 commits)
- hotfix/2050-device-detection (1 commit)
- main (1 commit)
Output:
Worklog entries for February 3, 2026:
#2017 Product pages
- Use real product data in page displays
- Add FAQ section integration
#2050 Device detection
- Update device type detection for seller pages
Other
- Small configuration fix
Command: /worklog week
Output:
Worklog entries for work week February 1-5, 2026 (Monday-Friday):
#2100 Seller pages
- Add page navigation for seller search results
- Update store profile display
- Improve search page layout
- Add mobile-friendly layout for search pages
#2103 Seo data for static pages
- Add search engine optimization settings to static pages
- Update data retrieval system
- Fix page URL detection issue
#2017 Product pages
- Display real product information instead of test data
- Add FAQ section
Other
- Update page navigation system
- Improve website loading speed
Alternative: Daily Breakdown Format (if user prefers seeing work by day):
Worklog entries for work week February 1-5, 2026 (Monday-Friday):
Monday, February 1:
#2103 Seo data for static pages
- Add search engine optimization settings to static pages
Other
- Update page navigation system
Tuesday, February 2:
#2100 Seller pages
- Add page navigation for seller search results
- Update store profile display
Wednesday, February 3:
#2017 Product pages
- Display real product information instead of test data
- Add FAQ section
Thursday, February 4:
#2103 Seo data for static pages
- Update data retrieval system
- Fix page URL detection issue
Friday, February 5:
#2100 Seller pages
- Improve search page layout
- Add mobile-friendly layout for search pages
Other
- Improve website loading speed
Command: /worklog last week
Output:
Worklog entries for last work week January 25-29, 2026 (Monday-Friday):
Monday, January 25:
1. #2100 Set up secure login system
2. Add automated testing for user registration
Tuesday, January 26:
1. #2100 Improve login reliability
2. Add password recovery functionality
Wednesday, January 27:
1. Fix data synchronization issues
2. Improve website speed by 40%
Thursday, January 28:
1. Add real-time notification system
2. Update email notification settings
Friday, January 29:
1. Release new features to production
2. Fix mobile display issues on checkout page
feat:orfeat(scope):fix:orfix(scope):docs:ordocs(scope):style:orstyle(scope):refactor:orrefactor(scope):perf:orperf(scope):test:ortest(scope):chore:orchore(scope):
build:orbuild(scope):ci:orci(scope):revert:orrevert(scope):security:orsecurity(scope):i18n:ori18n(scope):a11y:ora11y(scope):ui:orui(scope):db:ordb(scope):config:orconfig(scope):
^(feat|fix|docs|style|refactor|perf|test|chore|build|ci|revert|security|i18n|a11y|ui|db|config)(\([^)]+\))?\s*:\s*Format: <prefix>/<number>-<description>
Examples:
feature/2103-seo-data-for-static-pages → #2103 Seo data for static pages
feature/2100-seller-pages → #2100 Seller pages
hotfix/2050-fix-login-bug → #2050 Fix login bug
bugfix/1999-payment-issue → #1999 Payment issue
task/2010-update-search → #2010 Update search
fix/456-mobile-layout → #456 Mobile layout
Prefix can be anything: feature, fix, bug, hotfix, task, bugfix, chore, etc.
Input: feature/2100-seller-pages
1. Split by first slash: ["feature", "2100-seller-pages"]
2. Split second part by first hyphen: ["2100", "seller-pages"]
3. Issue number: "2100"
4. Description: "seller-pages"
- Replace all hyphens with spaces: "seller pages"
- Capitalize first letter of each word: "Seller Pages"
- OR capitalize only first letter: "Seller pages" (preferred for natural look)
5. Result: "#2100 Seller pages"
^[^/]+/(\d+)-(.+)$
Groups:
- Group 1: Issue number (e.g., "2100")
- Group 2: Description (e.g., "seller-pages")No issue number:
main → Other
develop → Other
feature/add-new-button → Other (no number)
Complex descriptions:
feature/2100-add-seller-profile-pages-v2 → #2100 Add seller profile pages v2
hotfix/999-fix-IE-11-support → #999 Fix ie 11 support
# Only your commits
git log --all --author="$(git config user.email)" --since="today" --pretty=format:"%H|%s|%D"# Only commits affecting specific path
git log --all --since="today" -- src/features/auth/# Exclude merge commits
git log --all --since="today" --no-merges --pretty=format:"%H|%s|%D"Optionally estimate work hours based on:
- Number of commits
- Lines changed
- File complexity
- Time between commits
#PROJ-2103: Add metadata to static pages
- Time spent: 2h
- Remaining: 4h
LIN-2103 Add metadata to static pages
Project: Velocorner Frontend
Task: #2103 Add metadata to static pages
Duration: 2 hours
✅ 🔴 ALWAYS rephrase technical terms to business language (most critical!) ✅ ALWAYS offer to save worklog as MD file after generation ✅ Review generated entries before submitting ✅ Combine related commits into single worklog entry ✅ Add time estimates if required by your system ✅ Group by issue/feature for clarity ✅ Remove duplicate or trivial commits (e.g., "fix typo") ✅ Focus on user-facing impact and business value ✅ Use simple, everyday language ✅ Explain WHY the work matters, not HOW it was done
❌ Use technical jargon or component names (critical!) ❌ Include framework/library names (React, Redux, Next.js, etc.) ❌ Use developer terminology (API, refactor, migrate, deploy, etc.) ❌ Include merge commits in worklog ❌ Log every minor commit separately ❌ Include internal/technical commits (dependency updates, config changes) ❌ Copy commit messages verbatim without cleanup ❌ Assume the reader has technical knowledge
- Numbered list (default)
- Bullet list
- Plain text (one per line)
- Grouped by issue
- Grouped by feature area
today= since midnightyesterday= yesterday 00:00 to 23:59weekorthis week= Current work week (Monday to Friday, or Monday to today if today is before Friday)last week= Previous work week (Monday to Friday)this month= First of month to today
Note: Work week is defined as Monday-Friday only, excluding weekends.
- Console/stdout (default)
- Markdown file export - After generating worklog, ALWAYS ask user if they want to save it as MD file
- Default location:
~/Desktop/worklog-YYYY-MM-DD.md(e.g.,~/Desktop/worklog-2026-02-06.md) - User can specify custom path
- Format example:
worklog-2026-02-03-to-2026-02-06.mdfor date ranges
- Default location:
- Clipboard (copy to clipboard) - optional
- Direct integration with time tracking API - optional
No commits found for [DATE RANGE].
Have you committed any work during this period?
Invalid date format. Please use:
- today
- yesterday
- YYYY-MM-DD (e.g., 2026-02-03)
- N days ago (e.g., 3 days ago)
Not a git repository. Please run this command from within a git repository.
/worklog yesterday
- Detect date range: "yesterday" → 2026-02-03 00:00:00 to 23:59:59
- Run:
git log --all --no-merges --since="2026-02-03 00:00:00" --until="2026-02-03 23:59:59" --pretty=format:"%H|%s|%D" - Parse branch information from ref names (%D):
- Example:
HEAD -> feature/2017-product-pages, origin/feature/2017-product-pages
- Example:
- For each unique branch found:
- Extract issue number and description
- Example:
feature/2017-product-pages→ Issue: 2017, Description: "Product pages" - Create group:
#2017 Product pages
- For each commit:
- Identify which branch it belongs to
- Remove conventional commit prefix
- 🔴 Rephrase to non-technical language
- Capitalize first letter
- Assign to appropriate group
- Group commits by issue/branch
- Deduplicate similar entries within each group
- Format output with groups
abc123|feat: use actual product data in components|HEAD -> feature/2017-product-pages
def456|chore: add FAQ pages integration|HEAD -> feature/2017-product-pages
ghi789|fix: update deviceType handling in seller components|HEAD -> hotfix/2050-device-detection
jkl012|i18n: add translations for multiple languages|HEAD -> main
mno345|refactor: enhance StoreSearch component with ProductCard|HEAD -> main
Worklog entries for February 3, 2026:
#2017 Product pages
- Use real product data in page displays
- Add FAQ section integration
#2050 Device detection
- Update device type detection for seller pages
Other
- Add translations for multiple languages
- Improve search page with product display cards
Total: 5 entries across 3 groups
Technical Output (Before Non-Technical Transformation):
#2017 Product pages
- Use actual product data in components
- Add FAQ pages integration
#2050 Device detection
- Update deviceType handling in seller components
Other
- Add translations for multiple languages
- Enhance StoreSearch component with ProductCard
This skill provides an intelligent, automated way to generate professional worklog entries from Git commit history. It:
- 🎯 Groups commits by branch - Automatically organizes work by issue number and description (NEW!)
- 🔴 Rephrases technical jargon into business-friendly language for non-IT audiences (CRITICAL FEATURE!)
- 📋 Smart categorization - Commits without issue numbers go to "Other" group
- 🏷️ Extracts context from branches - Turns
feature/2100-seller-pagesinto#2100 Seller pages - Simplifies commit messages by removing technical prefixes
- Enriches entries with issue numbers and descriptions from branch names
- Formats output for easy copy-paste into time tracking systems
- Filters by date ranges with natural language (including work week Monday-Friday)
- Groups related work for better organization and clarity
- Transforms developer language into stakeholder-friendly descriptions
- Saves time by automating a repetitive task
Primary Use Case: Report completed work to non-technical managers, clients, or stakeholders who need to understand WHAT was done and WHY, not HOW it was implemented.
Output Format:
#2100 Seller pages
- First clear commit for this feature
- Second clear commit for this feature
#2050 Bug fixes
- Fix that my customer understands
Other
- Small maintenance work
Use this skill whenever you need to report on completed work, fill out timesheets, or document your progress from Git history for audiences without technical background.