jam-proof-table skill
에이전트의 작업 결과물을 Jam.dev 화면 녹화본, 상태, 링크와 연결하여 시각적 증거를 제공하는 요약 테이블을 생성합니다.
- GitHub 스타
- 11
- 파일
- 2
- 마지막 커밋
- 2026년 11월 9일
- 라이선스
- MIT
- 허용된 도구
- —
jam-proof-table skill은 무엇을 하나요?
jam-proof-table은(는) agent skill입니다. 에이전트의 작업 결과물을 Jam.dev 화면 녹화본, 상태, 링크와 연결하여 시각적 증거를 제공하는 요약 테이블을 생성합니다.
skill의 SKILL.md에서 생성된 요약입니다.
jam-proof-table skill 정보
이 SKILL은 개발자와 QA 엔지니어가 기술적 클레임에 대해 시각적 증거를 제공할 수 있도록 지원합니다. 에이전트가 여러 티켓 수정이나 테스트 스위트 실행과 같은 일괄 작업을 완료하면 구조화된 요약 테이블을 생성합니다. 이 테이블은 버그 수정이나 기능 작동과 같은 모든 구체적인 클레임을 해당 Jam.dev 화면 녹화본, 상태 및 직접 링크와 연결합니다.
에이전트는 jam-proof 도구를 사용하여 이러한 녹화본을 기록하고, 이름을 지정하며, 정리된 폴더에 저장합니다. 이 SKILL은 jam CLI를 활용하여 기존 녹화본을 검색하고, 비디오 프레임 또는 스크린샷을 검증하며, 네트워크 또는 콘솔 로그를 조사하여 클레임을 확인합니다. 특히 Jam을 목록에 나열하기 전에 콘텐츠를 검증하여, 비디오가 정확한 타임스탬프에서 해당 클레임을 실제로 보여주는지 확인한다는 점이 특징입니다. 만약 녹화본이 비디오 프레임이 없는 리플레이 형태라면, 에이전트는 기술적 이벤트를 확인하여 상태를 결정합니다. 최종 결과물은 사용자가 클릭 한 번으로 모든 클레임을 검증할 수 있는 마크다운 테이블 형식으로 제공됩니다.
agent가 수행할 수 있는 작업
- 1일괄 버그 수정 검증여러 티켓 수정 사항을 각각의 Jam.dev 화면 녹화본과 연결하는 요약 테이블을 생성합니다.
- 2녹화 이력 정리티켓 번호를 사용하여 Jam의 폴더를 생성하고 이름을 지정함으로써 나중에 워크스페이스에서 쉽게 찾을 수 있도록 합니다.
- 3수정 확인 사항을 기존 이슈와 연결새로운 녹화본을 이전에 기록된 버그에 대한 공식 수정 사항으로 표시하여 백링크를 생성합니다.
skill의 SKILL.md를 기반으로 작성되었습니다. 모든 사용 사례는 해당 문서의 인용구와 대조 확인되었습니다.
jam-proof-table skill 설치 방법
각 명령은 skill 폴더를 클라이언트의 skills 디렉터리에 복사합니다. 클라이언트를 재시작하거나 새 세션을 시작하여 로드하세요.플러그인에 jam-proof-table skill 설치
/plugin marketplace add jamdotdev/skills /plugin install jam@jam-plugins
Claude Code에 jam-proof-table skill 설치
~/.claude/skills/jam-proof-table/SKILL.md
$ npx degit jamdotdev/skills/skills/jam-proof-table ~/.claude/skills/jam-proof-tableClaude Code (project)에 jam-proof-table skill 설치
.claude/skills/jam-proof-table/SKILL.md
$ npx degit jamdotdev/skills/skills/jam-proof-table .claude/skills/jam-proof-tableCodex에 jam-proof-table skill 설치
~/.agents/skills/jam-proof-table/SKILL.md
$ npx degit jamdotdev/skills/skills/jam-proof-table ~/.agents/skills/jam-proof-tableGemini CLI에 jam-proof-table skill 설치
~/.gemini/skills/jam-proof-table/SKILL.md
$ npx degit jamdotdev/skills/skills/jam-proof-table ~/.gemini/skills/jam-proof-tableClaude.ai에 jam-proof-table skill 설치
npx degit jamdotdev/skills/skills/jam-proof-table jam-proof-table && zip -r jam-proof-table.zip jam-proof-table # claude.ai → Customize → Skills → + → Create skill → Upload a skill → jam-proof-table.zip
SKILL.md
GitHub에서 보기jam-proof-table
Many claims in, one table out: each thing you say works or is broken, its status, and the Jam that shows it. The user should be able to check every claim in one click without asking "where's the Jam for this?".
To record a new Jam, use jam-proof. This skill names, files, checks and
reports the Jams.
Set up the CLI
command -v jam >/dev/null || echo "jam is not installed"
export PATH="$HOME/.local/bin:$PATH"
jam auth status --json || jam auth login
If jam is not on PATH, stop and ask the user to install it from
https://jam.dev/docs/cli, then continue. Do not install it yourself.
Exit code 3 means not signed in. With no browser (CI, a cloud agent), ask the
user to set JAM_TOKEN to a personal access token from
https://jam.dev/s/settings/mcp as a secret. Never write a token to a file.
jam agent-context prints every command and flag.
1. One claim, one Jam
A row is one claim: "the price no longer truncates", "sign-in works after
sign-out". Each row gets a Jam that shows that claim. When one Jam covers
several claims, give each row the time it shows up (at 0:48).
A claim with no Jam stays in the table as "not recorded". Never list a local video file or screenshot path as a Jam.
2. Name and file every Jam
Titles are how people find Jams later. Use <ticket or source> <what it shows>. A Jam that checks a fix for an earlier Jam reuses that Jam's title
with "fix check: " in front, so both show up in one search.
jam list folders --query "Release 4.2 checks" --json # reuse it if it exists
jam create folder "Release 4.2 checks" --json # otherwise; returns its id
jam update jam "$ID" --folder "$FOLDER_ID" --title "ENG-412 fix check: Pro price wraps"
jam create folder makes a new folder on every call, even with a name that
exists, so look first and pass the id afterwards. One folder per run.
Creating a folder can upgrade a Viewer to a Creator, which can change seat
billing; on a Viewer account, ask first.
Rename and move only the Jams this run recorded, unless asked.
3. Find Jams that already exist
Before recording again, look for the Jam. A run's folder is the most reliable way to find all of its Jams:
jam list folders --query "checks" --json
jam list jams --folder "$FOLDER_ID" --json
jam list jams --created-at -P1D --json # created in the last day
jam list jams --query "price" --order-by createdAt --limit 20 --json
jam list jams --url "https://example.com/pricing" --json
--query is a fuzzy search, not a title filter: read each title before
using a hit. --order-by createdAt lists newest first, so --limit drops
the oldest.
"What was the Jam I gave you?" means the conversation first: search it for
jam.dev/c/ before searching the workspace.
4. Check each Jam before listing it
jam get jam "$ID" --json # reads back, type, duration
Then check it by its type; the other types have no video frames:
jam get frames "$ID" --at 48000 --size medium --out "$(mktemp -d)" # video; outside the repo
jam get screenshots "$ID" --out "$(mktemp -d)" # screenshot
A replay has no frames or screenshots: check it in its events, console and network, and mark the row unconfirmed when they cannot settle the claim.
For a video, open the frame at the moment the claim shows up; --at must be
below the Jam's duration. A blank page, a single frozen frame, or the wrong
tab is not proof. A screenshot is one still image by design: it is proof when
the claim is visible in it. When the Jam does not show the claim, record it
again with jam-proof and say that you did.
Some claims happen off screen: an API status, a count, a sent message. Check
those in jam get network, jam get console or jam get user-events, and
say in the table which part the video shows and which part the events show.
5. Write the table
Keep the order the work was done in. Status is the claim's, one of: works, broken, unconfirmed (the Jam does not settle it), not recorded.
| # | Claim | Status | Jam | Source |
|---|-------|--------|-----|--------|
| 1 | Pro price wraps on narrow cards | works | [ENG-412 fix check](https://jam.dev/c/...) | [ENG-412](...) · [original Jam](https://jam.dev/c/...) |
| 2 | Sign-in after sign-out | broken | [ENG-415 repro](https://jam.dev/c/...) | [ENG-415](...) |
Under the table, one line per row that is not "works", saying why.
After
Offer one comment on each original Jam whose row settles something (works or broken), with the status and the link to its fix check. Skip unconfirmed and not-recorded rows:
jam create comment "$ORIGINAL_ID" "Fix check: works. https://jam.dev/c/<id>"
Post on a yes, or right away when the user already asked.
Mark a fix check as the fix of its original Jam only when its row says
works (markRelated over MCP); the original then shows a "fixed by"
backlink:
jam update jam <fix check id> --mark-related "$ORIGINAL_ID" --type fixes
Use --type proves for a Jam that shows a claim rather than a fix. A broken
or unconfirmed row gets --type relates_to at most, never fixes.
Post the table in chat. Post it to a pull request or ticket only when the user asks.
Send feedback to Jam
When this skill, a Jam MCP tool, a jam command or a Jam doc was wrong,
stale or confusing, or worked unusually well, tell Jam. Send it yourself:
Jam's agents read it, so it needs no approval.
Call the submitFeedback MCP tool with body, category and subject.
When MCP is unavailable, use the CLI:
jam feedback "<what you were doing, what you expected, what happened, the mistake>" --category <skills|mcp|cli|docs> --subject <skill name, tool name or command>
- Jam surfaces only, not the user's code or other tools.
- At most once per session, and never for a slip you corrected yourself.
- No secrets, customer data, source code, stack traces or recording content.
이 스킬의 파일
2jam-proof-table skill 질문
Claude Code에 jam-proof-table skill을 어떻게 설치하나요?
npx degit jamdotdev/skills/skills/jam-proof-table ~/.claude/skills/jam-proof-table를 실행합니다. Claude Code는 ~/.claude/skills(모든 프로젝트) 또는 .claude/skills(한 프로젝트)에서 skills를 로드하며, 설명이 작업과 일치할 때 skill을 사용합니다.
jam-proof-table skill을 사용할 수 있는 클라이언트는 무엇인가요?
Agent Skills 형식을 읽는 모든 클라이언트(Claude Code, Codex, Gemini CLI, claude.ai(ZIP으로 업로드))가 사용할 수 있습니다. skill 내 스크립트는 클라이언트가 코드 실행을 허용하는 경우에만 실행됩니다.
클레임에 대한 새로운 Jam을 어떻게 녹화하나요?
jam-proof 도구를 사용하여 새로운 Jam을 녹화할 수 있습니다.
jam CLI가 설치되어 있지 않으면 어떻게 해야 하나요?
jam 명령어가 PATH에 없는 경우, 사용자가 Jam 문서를 참조하여 직접 설치하도록 안내해야 합니다. 직접 설치를 시도하지 마십시오.
녹화본이 없는 클레임은 테이블에 어떻게 표시되나요?
연결된 Jam이 없는 클레임은 테이블에 'not recorded' 상태로 표시됩니다.