0x0w1/jig/version-rubric
- community
Checking that the SKILL.md file is still in the repository.
Use when creating, reviewing, or re-setting this repository's version grading rubric at .jig/versioning.md: adopt the jig default human-intervention rubric, write a project-specific one, edit one grade, or reset to the default. Owns the rubric file; never runs a release.
Install
npx vskill@latest install 0x0w1/jig/version-rubricSKILL.md
Version Rubric
Use this repository skill to decide and maintain how this project grades patch, minor, and major. The decision lives in a project-owned Markdown file that github-release reads at release time.
Run this skill whenever the rubric needs to be created, reviewed, or changed. It is safe to run repeatedly.
Rubric File
Resolve the rubric path in this order:
JIG_VERSION_RUBRICenvironment variable (session-only override).git config --local --get jig.versionRubric(repository override; not propagated by clone)..jig/versioning.md(the convention).
.jig/is owned by the project, not by jig. The installer andjig-updatenever write or delete it, andjig-doctornever treats it as drift.- The file must be committed.
git config --locallives in.git/configand is not propagated by clone or CI checkout, so a config-only setup grades differently for different people. - Never store state such as "the default was adopted" in a config key. That belongs in the file's
> Basis:line, which is the single record of the decision.
File Contract
Two required sections, six optional. The section titles are the contract.
## Decision Orderis asked in order and stops at the first match. A rubric cannot change that meaning.- An optional section a rubric omits simply does not apply to that project. No
## Hard Rulesmeans no escalation rule, even though the default below ships two. - The
> Basis:line records whether the default was adopted or the rubric was written for the project. - Sections beyond these are read as context, not ignored. A project may add its own, such as a list of what counts as its public interface.
Interface Paths
## Public Interface, where a rubric has one, is prose: a reader decides whether a change touched it. ## Interface Paths is the machine-readable companion, so the grading skills can compute a starting grade from the diff instead of eyeballing it.
- A changed path takes the floor of the first row it matches, so order specific globs above general ones. The path floor for a range is the highest floor any changed path took.
- A path matching no row contributes nothing. A table that lists only the public paths is complete; there is no need to enumerate the internal ones.
- The floor is advisory. Paths say what changed, never how, so a typo fix and a contract break under the same glob match the same row. A grade below the path floor is allowed and must record its reason; a grade above it needs no justification.
- This is the opposite of a recorded task grade, which is a judgement made with the diff in hand and is never lowered. Keep the two apart in the report.
- Write the globs against repository-root-relative paths, matching what
git diff --name-onlyprints.
Hotfix Triggers
hotfix-flow puts a commit on main that develop does not have, which is the one operation the branch model otherwise forbids. Whether a defect deserves that is a judgement, and a judgement made while something is on fire is the least reliable kind.
This section moves the judgement earlier. The project writes, while calm, the question that decides the bypass and the conditions it has already recognised; hotfix-flow then requires the run to answer against them.
The leading > line is the anchoring question, and the list is what answering it has produced so far. A closed list is wrong eventually, and a gate people route around is worse than no gate, so the question is what the list is measured against.
- Every item is an observable state, not a feeling. "Urgent" is not a trigger; "the released CLI exits non-zero on startup" is.
- The question is about the world, not about the person asking. "We have a demo tomorrow" and "the release is overdue" describe a schedule; neither says anything keeps happening because the released state stands. That is what makes the question answerable by someone other than the requester.
- When nothing on the list matches,
hotfix-flowputs the question instead. Anoends the run and the fix goes todevelop-task-flow. Ayesdoes not start the hotfix either: the new condition is added to this section and committed on its own first, so the list grows by decision rather than by exception. - Omit the section and
hotfix-flowfalls back to the question and list it ships, exactly asgithub-releasefalls back to the default rubric. A project that never wrote this section still grades and still gates.
This section is not written per project type. Domain wording differs — a blank screen, a 5xx, a corrupted state file — but each is the same answer to the same question, so a catalog draft restates rather than decides. Keep the question general and let the project add the two or three conditions it has actually met.
Legacy Section Titles
Rubrics written before this contract switched to English carry Korean titles. They stay valid, and every jig skill that reads a rubric accepts either spelling:
| English (canonical) | Korean (legacy) | |
|---|---|---|
## Decision Order | ## 판정 순서 | |
## Grade Definitions | ## 등급 정의 | |
## Hard Rules | ## 강경 규칙 | |
## Interface Paths | ## 인터페이스 경로 | |
## Hotfix Triggers | ## 핫픽스 트리거 | |
## Release Notes | ## 릴리즈 노트 | |
## Version Format | ## 버전 형식 | |
## Pre-Release Checks | ## 릴리즈 전 검증 | |
> Basis: | > 기준: |
- A rubric may use one spelling or the other. Do not mix them inside one file: a file with
## Decision Orderand## 등급 정의reads as one required section missing. - Never rewrite an existing rubric's titles on your own. The file is user-owned content, and a silent retitle is a change to how the project grades releases. Offer the conversion, and convert only when the user says so.
- Write new rubrics with the English titles.
Default Rubric
Offer this as-is. It grades by whether a human has to step in. Scale alone does not survive an AI-paced project: generations turn over fast enough that grading by size inflates major until the number carries no information.
The default ships ## Hard Rules and ## Version Format alongside the two required sections:
- Judge the contract, not textual output equality. Record the supported usage, the incompatible before/after behavior, and any required user action before assigning
major. More useful explanations or a richer learning outline do not by themselves break a contract. - While the major version is
0,minorandmajorland on the same position, so the escalation rules cost nothing yet and the> Basis:line says so. They begin to bind atv1.0.0, which is why they are settled before then. - A project that wants neither section removes them; both are optional by contract.
- The default ships no
## Interface Pathstable, because it grades by whether a human must step in and that axis names no paths. After writing it, offer to add one built from the project's own public paths; a project that declines keeps grading exactly as before.
A project whose releases ship documents rather than features usually grades by artifact instead: patch for document add/edit/delete, minor for changes to the tooling that manages the documents, major for a restructure. That rubric and a dozen others are already written; take one from the catalog below instead of drafting it.
Skill grading examples
| Change | Grade | Evidence | |
|---|---|---|---|
| Fix a misleading example or restore documented behavior | patch | Supported inputs, file contracts, and authorization remain intact | |
| Add deeper explanations, learning-outline checks, or an optional workflow | minor | Existing requests and stored notes remain usable without manual changes | |
| Rename a required skill command without a compatible alias | major | Existing invocations fail and callers must change | |
| Make a read-only request write or publish data by default | major | The authorization/data-handling contract changes, even if no error occurs |
Existing project-owned rubrics remain authoritative. Updating jig does not rewrite them. If an older rubric escalates every response change to major, explain the difference and use this skill to edit that project policy only when requested. Do not move published tags or reinterpret recorded task grades automatically.
Type Catalog
rubrics/ ships next to this skill and holds one ready draft per project type. Every file in it is a complete rubric: copy it to the resolved rubric path, fill the > Basis: date, and adjust the interface list and the ## Interface Paths globs to what this project actually promises and where it keeps it.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/version-rubric/SKILL.md
Popularity
- Repository stars
- 5
- 7-day trend score
- 9
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/0x0w1/jig/version-rubric)