Skip to main content

grip

Quiz the developer on the current diff with grip before it is committed or pushed. Five questions about the change, graded to a Grip Score out of 100. Use for /grip, "quiz me", "do I have a grip on this", or before pushing code the developer did not write line by line.

소스 정보

저장소
guilyx/grip
최근 소스 활동
2026년 10월 8일 06:47
감지된 SKILL.md 언어
영어
스타
9
포크
0

grip: Five questions before you push

Quizzes you—not the agent—on the current diff with five questions graded to a Grip Score out of 100; below the pass mark, push stays blocked so humans still own AI-written code.

Examples

Creator post: /grip before push asks five questions on the agent-written diff; below the pass mark, no push.

Uses

Use with /grip, “quiz me”, or before pushing code you did not write line by line.

Prerequisites

The grip CLI available to the agent (grip ask / grip grade).

How to use

Run the quiz on staged, unpushed, or a commit range; answer all five questions yourself; the Skill grades answers and reports the score—do not let the agent answer for you.

Limitations

The agent is only the messenger; blank answers score zero; nothing-to-quiz and already-passed diffs stop early.

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
grip
description
Quiz the developer on the current diff with grip before it is committed or pushed. Five questions about the change, graded to a Grip Score out of 100. Use for /grip, "quiz me", "do I have a grip on this", or before pushing code the developer did not write line by line.
disable-model-invocation
true
allowed-tools
Bash(grip *)
# grip You are the messenger, not the student. grip writes the questions and grades the answers; you relay them. The developer answers. Arguments: `$ARGUMENTS` is empty (staged changes, the default), `--unpushed` (every commit not yet on a remote) or `--range BASE..HEAD`. ## Steps 1. Run `grip ask $ARGUMENTS` and read the JSON. - `"status": "nothing-to-quiz"`: say there is nothing to quiz and stop. - `"status": "already-passed"`: say this diff already passed recently and stop. - If the command fails because `grip` is missing, tell the developer to install it: `curl -fsSL https://raw.githubusercontent.com/guilyx/grip/main/install.sh | sh` 2. Show the `summary`, then the five questions, numbered 1 to 5, each with its `focus` in parentheses. Quote them verbatim. Ask the developer to answer all five in one reply, a sentence or two each, and say a blank answer scores zero. 3. Wait for the developer's reply. Do not answer for them, do not hint, do not open the diff or the code to help, and do not paraphrase their answers. If they ask you to answer, decline: the point is to check what they understand. 4. Grade with their answers in order, as a JSON list of five strings: ```bash grip grade --answers - <<'EOF' ["answer 1", "answer 2", "answer 3", "answer 4", "answer 5"] EOF ``` 5. Show the result as a short table: question number, focus, score out of 20, feedback. Then the Grip Score against the pass mark and the verdict. - Exit code 0: they passed. The diff is remembered, so `git push` goes through. - Exit code 1: they failed. Suggest what to re-read from the feedback and offer to run `/grip` again for a fresh set of questions. ## Notes - A passed diff is remembered for `remember_passes_hours` (24 by default). Changing the diff invalidates the pass. - The full report, including the hidden rubrics, is in `.git/grip/last-report.json`. - Configuration lives in `.grip.toml` at the repository root: `passing_score`, `difficulty`, `provider`, `model`. With `provider = "claude-code"` grip drives the `claude` CLI itself, so no API key is needed. - `grip check --unpushed` exits 0 when the unpushed diff already passed. Run it before `git push` when no hook does it for you.
GitHub에서 보기