Claude Code Plugins

Community-maintained marketplace

Feedback

Exploring Operation History in Jujutsu

@edmundmiller/dotfiles
40
0

Help users explore operation history and time travel in jj. Use when the user explicitly mentions 'operation log', 'op log', 'jj op', or 'operation history'. Covers jj op log, --at-op flag, op restore, and operation exploration.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name Exploring Operation History in Jujutsu
description Help users explore operation history and time travel in jj. Use when the user explicitly mentions 'operation log', 'op log', 'jj op', or 'operation history'. Covers jj op log, --at-op flag, op restore, and operation exploration.
allowed-tools Bash(jj op log:*), Bash(jj op show:*), Bash(jj op restore:*), Bash(jj op diff:*), Bash(jj log --at-op:*), Bash(jj status:*), Bash(jj diff --at-op:*), Read(*/jj-operations/*.md)

Exploring Operation History in Jujutsu

Overview

The operation log is your safety net. Every repository-modifying command is recorded with complete snapshots, allowing full time travel and recovery.

Key insight: Each operation contains metadata (timestamp, user, command) plus a snapshot of all commit states, bookmarks, and repository structure.

When to Use Operation Log

Use operation log when:

  • ✅ You need to understand what you've been doing
  • ✅ You want to find a specific past state
  • ✅ You need to recover from complex mistakes
  • ✅ You're debugging unexpected repository state
  • ✅ You want to see history of changes to a commit

Don't use operation log when:

  • ❌ You just need to undo the last operation (use jj undo from jj-undo skill)
  • ❌ You're looking at commit history (use jj log)
  • ❌ You want to see file changes (use jj diff)

Core Capabilities

1. Viewing Operations (Read-Only)

Browse operation history and see what changed.

Commands: jj op log, jj op show, jj op diff

When to use: You want to understand what operations happened, what they changed, or compare repository states.

📚 See detailed docs: viewing-operations.md

2. Time Travel (Read-Only)

View the repository at any past operation without modifying current state.

Commands: --at-op flag with jj log, jj status, jj diff, etc.

When to use: You want to explore past states, compare with current state, or find the right operation to restore.

📚 See detailed docs: time-travel.md

3. Restoring to Past Operations

Jump the entire repository back to a specific operation state.

Commands: jj op restore <op-id>

When to use: You found the right past state and want to return to it, recovering from complex mistakes.

📚 See detailed docs: restoring-operations.md

4. Common Patterns & References

Operation references (@, @-), common workflows, best practices.

When to use: You need quick reference or want to learn common patterns.

📚 See detailed docs: operation-patterns.md

Quick Command Reference

Viewing

jj op log                  # Show operation history
jj op show <op-id>         # Show operation details
jj op diff --from <a> --to <b>  # Compare operations

Time Travel (read-only)

jj log --at-op=<op-id>     # View commit history at operation
jj status --at-op=<op-id>  # View working copy at operation

Restoring

jj op restore <op-id>      # Jump to specific operation
jj op restore @-           # Go back one operation (= jj undo)

Integration with Undo

Relationship: Operation log is the foundation, undo is a convenience.

  • jj undo = jj op restore @- (restore to parent operation)
  • jj undo twice = jj op restore @-- (go back 2 operations)

When to choose each:

  • Quick recent mistake → jj undo (see jj-undo skill)
  • Need to skip multiple operations → jj op restore
  • Not sure which operation → Explore with --at-op, then restore

Progressive Disclosure

This skill uses progressive disclosure to manage context efficiently:

  1. Start here for overview and quick reference
  2. Read detailed docs when you need specific guidance:
    • viewing-operations.md - How to browse and understand operation log
    • time-travel.md - How to explore past states without changing anything
    • restoring-operations.md - How to restore to past operations and recover
    • operation-patterns.md - Common patterns, references, and best practices

Claude will automatically load the relevant detailed documentation when helping you with specific operation log tasks.

Remember

Operation log is your time machine. Everything is recorded, everything is explorable, everything is restorable. You can't lose work in jj.