Skip to content

feat(daily-summary): add atuin shell history as signal source - #914

Merged
yxtay merged 2 commits into
mainfrom
feat/daily-summary-atuin
Jul 20, 2026
Merged

feat(daily-summary): add atuin shell history as signal source#914
yxtay merged 2 commits into
mainfrom
feat/daily-summary-atuin

Conversation

@yxtay

@yxtay yxtay commented Jul 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • Supplements memsearch memory log with filtered atuin shell history for the day
  • Drops bare navigational commands (ls, cat, cd, echo, etc.) and collapses retry sequences
  • Continues with shell history only if memsearch memory file is missing
  • Also excludes atuin * from Claude Code permission prompts

Test plan

  • Run /daily-summary <date> and verify atuin commands appear in output
  • Verify noisy commands (ls variants, repeated failed attempts) are collapsed
  • Verify missing memsearch file falls through to shell history only

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Daily summaries now incorporate relevant shell history alongside memory files.
    • Summaries continue generating when the day’s memory file is unavailable.
    • Repeated commands and attempts are consolidated into concise task bullets.
  • Bug Fixes

    • Improved filtering removes unrelated navigation and inspection commands from daily summaries.
    • Added atuin commands to the sandbox’s excluded command list for safer execution.

yxtay and others added 2 commits July 20, 2026 16:29
Supplements memsearch memory with filtered atuin history for the day.
Deduplicates retry sequences and drops bare navigational commands.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 268dd903-1d89-4cf3-944e-6d6e82046634

📥 Commits

Reviewing files that changed from the base of the PR and between e057835 and 8e364dc.

📒 Files selected for processing (2)
  • chezmoi/.chezmoitemplates/claude-settings.json
  • chezmoi/private_dot_agents/skills/daily-summary/SKILL.md

📝 Walkthrough

Walkthrough

The changes add atuin * to Claude sandbox exclusions and expand the daily-summary skill to collect shell history, filter and deduplicate commands, merge history with memory, map tasks, and format the standup output.

Changes

Sandbox command exclusions

Layer / File(s) Summary
Add Atuin command exclusion
chezmoi/.chezmoitemplates/claude-settings.json
Adds atuin * to sandbox.excludedCommands.

Daily summary workflow

Layer / File(s) Summary
Add shell-history-backed summary flow
chezmoi/private_dot_agents/skills/daily-summary/SKILL.md
Allows missing memory files, collects and filters shell history, deduplicates task signals, maps tasks, and preserves fenced one-bullet-per-task output.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested labels: feature, size/XS

Poem

A bunny hops through history bright,
Merging tasks by morning light.
Atuin commands now tucked away,
One clear bullet for each day.
Memory or shell, the trail is neat—
Hoppy summaries, short and sweet!

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/daily-summary-atuin

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

MegaLinter analysis: Success

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ BASH shfmt 5 0 0 0 0.02s
✅ JSON prettier 8 0 0 0 0.53s
✅ MARKDOWN markdownlint 10 0 0 0 0.76s
✅ MARKDOWN markdown-table-formatter 12 0 0 0 0.15s
✅ YAML prettier 11 0 0 0 0.61s

Notices

📣 MegaLinter 9.5.0 is out! Discover the new features and security recommendations in the release announcement. (Skip this info by defining SECURITY_SUGGESTIONS: false)

See detailed reports in MegaLinter artifacts

Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)

  • Documentation: Custom Flavors
  • Command: npx mega-linter-runner@9.6.0 --custom-flavor-setup --custom-flavor-linters BASH_SHFMT,JSON_PRETTIER,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,YAML_PRETTIER

MegaLinter is graciously provided by OX Security
Show us your support by starring ⭐ the repository

@yxtay
yxtay merged commit 975f04e into main Jul 20, 2026
18 of 20 checks passed
@yxtay
yxtay deleted the feat/daily-summary-atuin branch July 20, 2026 08:30

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds "atuin *" to the sandbox excluded commands in Claude settings and updates the daily-summary skill to load and merge shell history using atuin search when memory logs are missing. Feedback was provided to include the {exit} status in the atuin search format string, enabling the agent to correctly identify and filter successful command retries as specified in the instructions.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment on lines +23 to +24
atuin search --after "<date> 00:00:00" --before "<date+1> 00:00:00" \
--format "{time} {directory} {command}" --limit 2000 2>/dev/null

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

In step 3, the instructions ask to "keep only the last successful variant when a command was retried". However, the atuin search command format only requests {time} {directory} {command}. Without the exit status ({exit}), the agent won't be able to distinguish between successful and failed commands to perform this filtering.

Including {exit} in the --format string will provide the necessary exit code context.

Suggested change
atuin search --after "<date> 00:00:00" --before "<date+1> 00:00:00" \
--format "{time} {directory} {command}" --limit 2000 2>/dev/null
atuin search --after "<date> 00:00:00" --before "<date+1> 00:00:00" \
--format "{time} {directory} {exit} {command}" --limit 2000 2>/dev/null

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant