generate-linear-worklog — Claude Code command: what it does and setup
Extracts recent git commits from the current branch and posts a technical work log directly to a Linear issue. Useful for updating ticket progress without writing status reports manually.
npx claude-code-templates@latest --command utilities/generate-linear-worklogWhat generate-linear-worklog does
The command inspects the local Git repository before posting updates to Linear. It checks the active branch name and isolates commits not yet merged into main. The prompt runs git show --stat for every relevant commit. That captures precise file counts and line metrics.
The resulting work log uses dry technical language without emojis. Each entry includes commit hashes and implementation details. If a log entry for today already exists on the issue, the command updates that comment instead of creating a second one. Duplicates do not accumulate.
Posting directly to Linear requires the Linear MCP server with a valid LINEAR_API_KEY. Without this integration, the command refuses to proceed. You must provide a valid issue identifier like BLA2-2.
What it helps with
- summarize recent branch commits into a technical progress log
- update today's Linear work log without creating duplicate comments
- collect file counts and changed line counts for git commits
- publish structured status updates directly to a Linear ticket
Example prompts for the agent
- /generate-linear-worklog BLA2-2
- Generate a work log for issue DEV-104 from recent commits
- Update the Linear progress comment on ticket PROJ-42 using /generate-linear-worklog
How to install generate-linear-worklog
1claude-code-templates
npx claude-code-templates@latest --command utilities/generate-linear-worklog2Manually: put the files in place
.claude/commands/generate-linear-worklog.mdCall it with /generate-linear-worklog. For all projects use ~/.claude/commands/
Manually: put the files in place
~/.codex/prompts/generate-linear-worklog.mdCall it with /prompts:generate-linear-worklog. Codex marks this format deprecated in favour of skills
Manually: put the files in place
.github/prompts/generate-linear-worklog.prompt.mdManually: put the files in place
.gemini/commands/generate-linear-worklog.tomlGemini stores commands as TOML: the prompt text goes into the prompt field
Questions about generate-linear-worklog
How to install generate-linear-worklog in Claude Code?
Run npx claude-code-templates@latest --command utilities/generate-linear-worklog in your terminal. This copies the command markdown file into your .claude/commands/ folder.
What does generate-linear-worklog do?
It reviews recent Git commits on your current branch, gathers changed line metrics, and posts a formatted work log directly to a Linear issue.
What dependencies does this command require?
It needs the @modelcontextprotocol/server-linear MCP server configured with a LINEAR_API_KEY. Without active Linear MCP tools, the command stops execution and shows installation instructions.
Source text
generate-linear-worklog.md · MIT
---
description: "Generate a technical work log comment for a Linear issue from recent git commits"
---
# Generate Linear Work Log
You are tasked with generating a technical work log comment for a Linear issue based on recent git commits.
## Instructions
1. **Check Linear MCP Availability**
- Verify that Linear MCP tools are available (mcp__linear__* functions)
- If Linear MCP is not installed, inform the user to install it and provide installation instructions
- Do not proceed with work log generation if Linear MCP is unavailable
2. **Check for Existing Work Log**
- Use Linear MCP to get existing comments on the issue
- Look for comments with today's date in the format "## Work Completed [TODAY'S DATE]"
- If found, note the existing content to append/update rather than duplicate
2. **Extract Git Information**
- Get the current branch name
- Get recent commits on the current branch (last 10 commits)
- Get commits that are on the current branch but not on main branch
- For each relevant commit, get detailed information including file changes and line counts
- Focus on commits since the last work log update (if any exists)
3. **Generate Work Log Content**
- Use dry, technical language without adjectives or emojis
- Focus on factual implementation details
- Structure the log with date, branch, and commit information
- Include quantitative metrics (file counts, line counts) where relevant
- Avoid subjective commentary or promotional language
4. **Handle Existing Work Log**
- If no work log exists for today: Create new comment
- If work log exists for today: Replace the existing comment with updated content including all today's work
- Ensure chronological order of commits
- Include both previous and new work completed today
5. **Format Structure**
```
## Work Completed [TODAY'S DATE]
### Branch: [current-branch-name]
**Commit [short-hash]: [Commit Title]**
- [Technical detail 1]
- [Technical detail 2]
- [Line count] lines of code across [file count] files
[Additional commits in chronological order]
### [Status Section]
- [Current infrastructure/testing status]
- [What is now available/ready]
```
6. **Post to Linear**
- Use the Linear MCP integration to create or update the comment
- Post the formatted work log to the specified Linear issue
- If updating, replace the entire existing work log comment
- Confirm successful posting
## Git Commands to Use
- `git branch --show-current` - Get current branch
- `git log --oneline -10` - Get recent commits
- `git log main..HEAD --oneline` - Get branch-specific commits
- `git show --stat [commit-hash]` - Get detailed commit info
- `git log --since="[today's date]" --pretty=format:"%h %ad %s" --date=short` - Get today's commits
## Content Guidelines
- Include commit hashes and descriptive titles
- Provide specific technical implementations
- Include file counts and line counts for significant changes
- Maintain consistent formatting
- Focus on technical accomplishments
- Include current status summary
- No emojis or special characters
## Error Handling
- Check if Linear MCP client is available before proceeding
- If Linear MCP is not available, display installation instructions:
```
Linear MCP client is not installed. To install it:
1. Install the Linear MCP server:
npm install -g @modelcontextprotocol/server-linear
2. Add Linear MCP to your Claude configuration:
Add the following to your Claude MCP settings:
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["@modelcontextprotocol/server-linear"],
"env": {
"LINEAR_API_KEY": "your_linear_api_key_here"
}
}
}
}
3. Restart Claude Code
4. Get your Linear API key from: https://linear.app/settings/api
```
- Validate that the Linear ticket ID exists
- Handle cases where no recent commits are found
- Provide clear error messages for git operation failures
- Confirm successful comment posting
## Example Usage
When invoked with `/generate-linear-worklog BLA2-2`, the command should:
1. Analyze git commits on the current branch
2. Generate a structured work log
3. Post the comment to Linear issue BLA2-2
4. Confirm successful posting
© davila7 · MIT · davila7/claude-code-templates