CtrlK
BlogDocsLog inGet started
Tessl Logo

working-with-jj

Expert guidance for using JJ (Jujutsu) version control system. Use when working with JJ, whatever the subject. Operations, revsets, templates, debugging change evolution, etc. Covers JJ commands, template system, evolog, operations log, and interoperability with git remotes.

82

1.26x
Quality

77%

Does it follow best practices?

Impact

90%

1.26x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./working-with-jj/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

76%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A lean, highly actionable command reference with excellent copy-paste examples and clearly signaled bundle files. Its two real weaknesses are the missing validation workflow around the destructive/batch operations it documents (rebase, restore, split, batch description transforms) and a broken reference to a nonexistent references/revsets.md file.

Suggestions

Add a short 'Risky operations' workflow that makes the safety loop explicit: run `jj-checkpoint` before rebase/restore/split/batch-desc changes, verify with `jj log`/`jj diff` afterwards, and restore via `jj op restore <op-id>` if the result is wrong.

Fix the broken reference: either create `references/revsets.md` (the promised 'comprehensive revset patterns') or point the line at the existing `references/command-syntax.md` and `jj help -k revsets`.

Trim the small duplications — the `-d` deprecation note appears both inline in Essential Commands and as Pitfall 4, and the `-G`/`--no-graph` line adds little — to push token efficiency further.

DimensionReasoningScore

Conciseness

The body is a dense command reference with one-line comments and jj-specific non-obvious facts (change IDs vs commit IDs, no staging area, colocated repos), rewarding brevity well. It sits at 4 rather than 5 due to minor instances that could be trimmed: the `-G is short for --no-graph` log line, the `-d/--destination is deprecated` note stated both inline in Essential Commands and again as Pitfall 4, and the self-documenting `jj help -k` list repeating DSL names already introduced.

4 / 5

Actionability

Nearly every line is a copy-paste-ready command with flags, placeholders, and outcome comments (`jj new --no-edit parent -m "A"`, `jj restore --from <commit-id> <fileset>`, `jj diff -f <rev1> -t <rev2>`), and pitfalls show paired ✅/❌ invocations. This fully matches the 'fully executable; copy-paste ready commands covering the common cases' anchor; the placeholder syntax `<revset>` is consistent and actionable rather than pseudocode.

5 / 5

Workflow Clarity

The body is a reference, not a sequenced workflow: destructive and batch operations are documented (`jj rebase`, `jj restore`, `jj split`, batch description scripts) but no step-by-step sequence with validation checkpoints is given — e.g., 'record op ID with jj-checkpoint → run risky op → verify with jj log → restore if wrong' is never spelled out. The Recovery section and the checkpoint script imply the safety loop without making it explicit, so per the destructive/batch cap the score cannot exceed 3; it is not 2 because recovery commands and pitfall corrections are concrete and coherent.

3 / 5

Progressive Disclosure

Structure is good: the ~165-line body keeps core commands inline, pushes detail to clearly signaled one-level-deep references (`references/command-syntax.md` - Command flag details, `references/batch-operations.md`) and a scripts table, all of which exist in the bundle. It does not reach 5 because the body cites "See `references/revsets.md` for comprehensive revset patterns" — a file that does not exist in `references/` (only batch-operations.md and command-syntax.md are present), leaving a broken navigation pointer, which is more than a trivial organization gap.

4 / 5

Total

16

/

20

Passed

Description

78%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: it names the niche tool and its full and abbreviated names, enumerates concrete capability areas, and includes an explicit 'Use when...' clause. The main improvement space is replacing the catch-all 'whatever the subject' with concrete trigger phrases to sharpen completeness and trigger coverage.

DimensionReasoningScore

Specificity

The description lists several concrete capability areas — "Operations, revsets, templates, debugging change evolution", "JJ commands, template system, evolog, operations log, and interoperability with git remotes" — matching the anchor for several specific actions with minor gaps. It falls short of 5 because many items are topic nouns ('covers JJ commands') rather than the concrete actions ('extract text and tables, fill forms, merge documents') the top anchor requires, and the opening 'Expert guidance' is generic framing.

4 / 5

Completeness

Both parts are explicitly present: the 'what' (guidance covering "JJ commands, template system, evolog, operations log, and interoperability with git remotes") and an explicit 'when' ("Use when working with JJ, whatever the subject"). It does not reach 5 because the when-clause is one broad phrase with no concrete trigger conditions (compare 'when the user mentions PDFs, forms, or document extraction'), and 'whatever the subject' is catch-all rather than a specific trigger.

4 / 5

Trigger Term Quality

Natural terms are well covered: "JJ", "Jujutsu", "version control system", plus domain vocabulary users actually type ("revsets", "evolog", "operations log", "git remotes"). It is not a 5 because a few natural phrasings users would say are absent (e.g., 'commits', 'rebase', 'undo', 'rewrite history'), keeping it at 'good keyword coverage; a few natural terms missing'.

4 / 5

Distinctiveness Conflict Risk

JJ (Jujutsu) is a clearly delineated niche tool and the trigger ('Use when working with JJ') names it unambiguously, matching the 'clear niche with distinct triggers; minimal conflict risk' anchor. The only conceivable adjacency is with a generic git skill via 'interoperability with git remotes', but that mention only fires when the user is already in a JJ context, so overlap risk is minimal — not the 'minor overlap risk with closely related skills' that would justify 4.

5 / 5

Total

17

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

14

/

16

Passed

Repository
YPares/agent-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.