jj
Use Jujutsu (jj) for version control instead of git. Always check current revision before making changes — if the task semantically differs from the current revision's description, create a new revision first.
- License 许可
- GPL-3.0
- 所属仓库
- Artawower/kaizen
- 最近更新
- 2026-11-10
- Stars
- ★ 2
- Forks
- 0
01 前言 Front Matter
- name
- jj
- description
- Use Jujutsu (jj) for version control instead of git. Always check current revision before making changes — if the task semantically differs from the current revision's description, create a new revision first.
03 SKILL.md 正文
Jujutsu (jj) Version Control
This project uses jj (Jujutsu) for version control. Always use jj commands — never git commit, git add, or git branch.
Before making any code changes
Run:
jj log --no-graph -r @ --template 'change_id.short() ++ " | " ++ if(description, description, "(empty)")'
This gives you the current working-copy revision and its description.
Decision rule
Compare the current revision description with the task you are about to implement:
- Same semantic scope (e.g. both about fixing the same bug, same feature): continue working in the current revision — no action needed.
- Different semantic scope (different feature, unrelated fix, new task): create a new revision before touching any files:
jj new -m "<short description of what you're about to do>"
This ensures each revision stays focused on a single logical change.
Core workflow
Check status
jj status
Describe current revision
jj describe -m "<message>"
Use after completing a logical unit of work. Follow the project's commit message convention if present.
Create new revision from current
jj new -m "<message>"
View history
jj log
Undo last operation
jj undo
Hard rules
- Check
jj log -r @before editing any file - If the revision description is empty
(empty)— describe it before or after your changes - Never use
git commitorgit add— jj tracks changes automatically, no staging needed - One revision = one logical change; do not mix unrelated modifications in a single revision
- If unsure whether the scope matches — create a new revision; it's cheap to squash later with
jj squash
04 同仓库更多 Skills
yt-analyze
Fetch YouTrack task + comments via MCP, critically analyze relevance and requirements, produce concise summary of what to implement, and build an implementation plan mapped to codebase. Trigger - YouTrack issue ID or request to "analyze task", "plan task", "break down YT issue".
youtrack-task
Analyzes a YouTrack issue, reviews comments and attachments, and proposes or creates actionable subtasks. Use when the user gives a YouTrack issue ID and wants synthesis, decomposition, or follow-up tasks.
youtrack-search
Searches YouTrack from natural language or native query syntax and returns a concise report with the most relevant issues. Use when the user wants to find issues, triage work, or translate a plain-language query into YouTrack search.
writing-for-agents
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.
write-a-prd
Create a PRD through user interview, codebase exploration, and module design, then submit as a GitHub issue. Use when user wants to write a PRD, create a product requirements document, or plan a new feature.
vitest
Plan and write Vitest tests for changed code. Analyses git diff, checks existing tests, produces a concrete test plan using flat test structure (no describe/it blocks). Use when adding tests for new/changed code, improving Vitest coverage, or asking what to test after a change.