.agents/skills/using-jj-workspaces/SKILL.md
Set up isolated jj workspaces for parallel development. Use when creating new workspaces, organizing workspace directories, or setting up gitignore for workspaces.
npx skillsauth add edmundmiller/dotfiles using-jj-workspacesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You're helping set up an isolated jj workspace for parallel development work without disrupting the current workspace.
Check for workspace directory preferences in this order:
.workspaces/ or workspaces/ directory exists in project root.workspaces/ or workspaces/)~/workspaces/)Never assume - always follow this priority system.
If using a project-local directory (.workspaces/, workspaces/, etc.):
.gitignore (or .jjignore if it exists) for the workspace directory patternecho "workspaces/" >> .gitignore (or .workspaces/)jj describe -m "gitignore: Add workspaces directory"Never skip this verification - it's a critical safety check.
# Detect project name from git/jj repository
PROJECT_NAME=$(basename $(jj workspace root))
# Construct workspace path
WORKSPACE_PATH="<selected-directory>/${PROJECT_NAME}-<branch-or-feature-name>"
# Create the workspace
jj workspace add "$WORKSPACE_PATH"
# JJ will automatically:
# - Create the directory
# - Set up a new workspace tracking the current repository
# - Create a new working-copy commit
After workspace creation, detect project type and run appropriate setup:
Detection patterns:
package.json → npm install or yarn install or pnpm installCargo.toml → cargo buildpyproject.toml → poetry install or pip install -e .flake.nix → nix develop or hey shellGemfile → bundle installgo.mod → go mod downloadAlways:
cd "$WORKSPACE_PATH"Before reporting success, run project tests to ensure clean state:
# Attempt to run tests based on project type
# Examples:
npm test
cargo test
pytest
nix flake check
# etc.
If baseline tests fail:
Provide a clear summary:
✓ JJ workspace created at: <path>
✓ Project setup completed: <command run>
✓ Baseline tests: <passed/failed>
✓ Ready to work on: <feature/branch name>
To switch to this workspace:
cd <workspace-path>
To return to main workspace:
cd <original-path>
To list all workspaces:
jj workspace list
# Create new workspace
jj workspace add <path>
# List all workspaces
jj workspace list
# Remove a workspace (doesn't delete files)
jj workspace forget <workspace-name>
# Show workspace root
jj workspace root
# Update workspace to latest changes
jj workspace update-stale
Unlike git worktrees, jj workspaces:
jj op log)@ to refer to the current workspace's working-copy commitThis skill is typically invoked during:
Pairs well with:
development
Read-only Linear issue access via the Linear GraphQL API.
data-ai
## <!-- Purpose: Teach agents fast day-to-day memory browse/search/read/sync workflows in pi-context-repo. --> name: searching-memory description: > Search, browse, and inspect memory quickly in pi-context-repo. Use when asked to find prior notes, inspect memory files, locate preferences, or sync recent memory updates. Trigger phrases: "search memory", "list memory files", "find in memory", "read memory file", "memory status", "sync memory". --- # Searching Memory Use this workflow for fast
development
Comprehensive guide for initializing or reorganizing agent memory into a deeply hierarchical file structure. Use when running /init, when user asks to set up memory, or when memory needs a major reorganization. Trigger phrases: "initialize memory", "set up memory", "populate memory", "build my memory", "memory init".
data-ai
Decomposes and reorganizes agent memory files into focused, single-purpose components. Use when memory has large multi-topic blocks, redundancy, or poor organization. Trigger phrases: "defrag memory", "reorganize memory", "clean up memory files", "split memory blocks".