Files
claudetools/.claude/commands/save.md
Mike Swanson 6f6a77f8e4 Session log: /save + /sync multi-user change summaries
Enhance /save and /sync slash commands to attribute commits by author
so Mike and Howard can see at a glance what the other person did.

- sync.sh: loads identity.json, shows incoming/outgoing commits with
  author + age before pull/push, groups by author in final summary
- sync.md: describes the new output format + conflict attribution
- save.md: pre-commit Change Summary block + post-commit Summary

Motivation: repo is now shared across team, `git log` alone made it
hard to see "when did Howard change that?" without hunting.
2026-04-16 19:08:25 -07:00

4.1 KiB

Save a COMPREHENSIVE session log to appropriate session-logs/ directory. This is critical for context recovery.

Determine Correct Location

IMPORTANT: Save to project-specific or general session-logs based on work context

Project-Specific Logs

If working on a specific project, save to project folder:

  • Dataforth DOS work → projects/dataforth-dos/session-logs/YYYY-MM-DD-session.md
  • ClaudeTools API work → projects/claudetools-api/session-logs/YYYY-MM-DD-session.md
  • Client-specific work → clients/[client-name]/session-logs/YYYY-MM-DD-session.md

General/Mixed Work

If working across multiple projects or general tasks:

  • Use root session-logs/YYYY-MM-DD-session.md

Filename

Use format YYYY-MM-DD-session.md (today's date) in appropriate folder

If file exists

Append a new section with timestamp header (## Update: HH:MM), don't overwrite

MANDATORY Content to Include

1. Session Summary

  • What was accomplished in this session
  • Key decisions made and rationale
  • Problems encountered and how they were solved

2. ALL Credentials & Secrets (UNREDACTED)

CRITICAL: Store credentials completely - these are needed for future sessions

  • API keys and tokens (full values)
  • Usernames and passwords
  • Database credentials
  • JWT secrets
  • SSH keys/passphrases if relevant
  • Any authentication information used or discovered

Format credentials as:

### Credentials
- Service Name: username / password
- API Token: full_token_value

3. Infrastructure & Servers

  • All IPs, hostnames, ports used
  • Container names and configurations
  • DNS records added or modified
  • SSL certificates created
  • Any network/firewall changes

4. Commands & Outputs

  • Important commands run (especially complex ones)
  • Key outputs and results
  • Error messages and their resolutions

5. Configuration Changes

  • Files created or modified (with paths)
  • Settings changed
  • Environment variables set

6. Pending/Incomplete Tasks

  • What still needs to be done
  • Blockers or issues awaiting resolution
  • Next steps for future sessions

7. Reference Information

  • URLs, endpoints, ports
  • File paths that may be needed again
  • Any technical details that might be forgotten

After Saving

Before committing, emit a Change Summary block for the user to review:

## Change Summary (this session)
User: <full_name> (from .claude/identity.json)
Machine: <HOSTNAME>

Files changed:
<output of: git status --short>

Stats:
<output of: git diff --stat HEAD>

Then:

  1. Commit with message: "Session log: [brief description of work done]"
  2. Push to gitea remote (if configured)
  3. After push, emit a Post-commit Summary:
    • New commit SHA + message
    • Author (from git log -1 --format='%an <%ae>')
    • Files in the commit (from git show --stat HEAD)
  4. Confirm push was successful

Why the summary

In the multi-user setup, commits can land in main from either team member. Always attributing author + files makes it obvious who made what change when someone else pulls the repo. Saves re-reading diffs to figure out "wait, when did that happen?"

Purpose

This log MUST contain enough detail to fully restore context if this conversation is summarized or a new session starts. When in doubt, include MORE information rather than less. Future Claude instances will search these logs to find credentials and context.

Project-Specific Requirements

Dataforth DOS Project

Save to: projects/dataforth-dos/session-logs/ Include:

  • DOS batch file changes and versions
  • Deployment script updates
  • Infrastructure changes (AD2, D2TESTNAS)
  • Test results from TS-XX machines
  • Documentation files created

ClaudeTools API Project

Save to: projects/claudetools-api/session-logs/ Include:

  • Database connection details (172.16.3.30:3306/claudetools)
  • API endpoints created or modified
  • Migration files created
  • Test results and coverage
  • Any infrastructure changes (servers, networks, clients)

Client Work

Save to: clients/[client-name]/session-logs/ Include:

  • Issues resolved
  • Services provided
  • Support tickets/cases
  • Client-specific infrastructure changes