Qwen Agent
thananon/9arm-skills
Delegate menial, well-scoped coding tasks to a cheap Qwen-backed subagent via the claude-9arm command instead of burning Claude tokens/quota.
A skill your agent uses when verifying build/test/lint before commit, PR, or completion claims.
$ npx skills add sangrokjung/claude-forge --skill verification-engine -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install sangrokjung/claude-forge verification-engine --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/sangrokjung/claude-forge.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/verification-engine .claude/skills/verification-engine && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "verification-engine" agent skill from https://github.com/sangrokjung/claude-forge/tree/main/skills/verification-engine into .claude/skills/verification-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verification-engine", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/sangrokjung/claude-forge/tree/main/skills/verification-engineType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add sangrokjung/claude-forge --skill verification-engine -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install sangrokjung/claude-forge verification-engine --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sangrokjung/claude-forge.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/verification-engine .agents/skills/verification-engine && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "verification-engine" agent skill from https://github.com/sangrokjung/claude-forge/tree/main/skills/verification-engine into .agents/skills/verification-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verification-engine", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add sangrokjung/claude-forge --skill verification-engine -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install sangrokjung/claude-forge verification-engine --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sangrokjung/claude-forge.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/verification-engine .cursor/skills/verification-engine && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "verification-engine" agent skill from https://github.com/sangrokjung/claude-forge/tree/main/skills/verification-engine into .cursor/skills/verification-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verification-engine", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/sangrokjung/claude-forge.git --path skills/verification-engine--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add sangrokjung/claude-forge --skill verification-engine -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install sangrokjung/claude-forge verification-engine --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sangrokjung/claude-forge.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/verification-engine .gemini/skills/verification-engine && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "verification-engine" agent skill from https://github.com/sangrokjung/claude-forge/tree/main/skills/verification-engine into .gemini/skills/verification-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verification-engine", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install sangrokjung/claude-forge verification-engineInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add sangrokjung/claude-forge --skill verification-engine -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/sangrokjung/claude-forge.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/verification-engine .github/skills/verification-engine && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "verification-engine" agent skill from https://github.com/sangrokjung/claude-forge/tree/main/skills/verification-engine into .github/skills/verification-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verification-engine", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add sangrokjung/claude-forge --skill verification-engine -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install sangrokjung/claude-forge verification-engine --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sangrokjung/claude-forge.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/verification-engine .opencode/skills/verification-engine && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "verification-engine" agent skill from https://github.com/sangrokjung/claude-forge/tree/main/skills/verification-engine into .opencode/skills/verification-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verification-engine", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
verification-engineA skill your agent uses when verifying build/test/lint before commit, PR, or completion claims.
Verification Engine is an agent skill from sangrokjung/claude-forge. Use when verifying build/test/lint before commit, PR, or completion claims. Runs verification pipeline in fresh subagent context with auto-repair. Triggers on /handoff-verify, pre-commit check, build verification, test validation.
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering Linting and formatting and Subagents. The repository describes itself as: oh-my-zsh for Claude Code — 16 agents, 35 commands, 32 skills, 21 safety hooks in one install. v4.0 adds an adversarial review loop: a second agent that never sees the first… The licence is MIT.
Read from SKILL.md and the folder at commit 34d881d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
eslintFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Verification Engine loads about 1.5k tokens when it runs. Until then it costs about 63 tokens; SKILL.md has 491 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from sangrokjung/claude-forge at commit 34d881d, republished under its MIT licence (© sangrokjung). 491 words, ~1,455 tokens.
.claude/skills/verification-engine/SKILL.md (or your agent's skills folder).Iron Law, Gate Function, Common Failures 체크리스트는 rules/verification.md에 정의되어 있다.
이 스킬은 해당 원칙의 실행 엔진이다.
통합 검증 엔진 스킬은 /handoff-verify 커맨드의 핵심 동작을 정의한다.
v5의 /verify 단독 커맨드에서 v6의 /handoff-verify 통합 커맨드로 진화하였다.
핵심 변경: Task 도구로 verify-agent 서브에이전트를 생성하여 fresh context에서 검증.
/clear 없이도 편향 없는 검증이 가능하다.
| 트리거 | 설명 |
|---|---|
/handoff-verify | 핸드오프 + 기본 루프 검증 (최대 5회) |
/handoff-verify --once | 핸드오프 + 단발 검증 |
/handoff-verify --loop 3 | 핸드오프 + 3회 루프 |
/handoff-verify --security | 핸드오프 + 보안 검증 포함 |
/handoff-verify --coverage | 핸드오프 + 테스트 커버리지 분석 |
/handoff-verify --extract | 핸드오프 + 에러 추출/분류 모드 |
/handoff-verify --skip-handoff | 핸드오프 생략 + 검증만 |
| 상황 | 동작 |
|---|---|
/commit-push-pr 실행 전 | --once 모드로 사전 검증 |
/orchestrate 검증 단계 | 루프 모드로 자동 실행 |
/handoff-verify 커맨드 (부모 컨텍스트)
│
├── [1] handoff.md 자동 생성
│ └── git diff 분석, 변경 의도 문서화
│
├── [2] verify-agent 서브에이전트 생성 (Task 도구)
│ └── Fresh context! (/clear 대체)
│ │
│ ├── handoff.md 읽기
│ ├── 검증 파이프라인 실행
│ ├── 실패 시 자동 수정 + 재시도
│ └── 결과 반환
│
└── [3] 결과 수신 및 처리
├── PASS → handoff.md 정리, 다음 단계 안내
└── FAIL → 에러 보고, 권장 조치 안내| v5 | v6 |
|---|---|
| /handoff → /clear → /verify | /handoff-verify (단일 커맨드) |
| 부모 컨텍스트에서 직접 검증 | 서브에이전트가 fresh context에서 검증 |
| /clear로 컨텍스트 손실 | 부모 컨텍스트 보존 |
| 수동 3단계 워크플로우 | 자동 1단계 워크플로우 |
[1단계] 환경 파악
├── handoff.md 읽기 (변경 의도)
├── git status / diff
├── 프로젝트 타입 감지
└── 패키지 매니저 감지
│
[2단계] 빌드 검증
├── npm run build / go build / cargo build
└── 빌드 실패 시 → Fixable 자동 수정
│
[3단계] 타입 검사
├── tsc --noEmit / mypy / go vet
└── 타입 오류 → Fixable 자동 수정
│
[4단계] 린트 검사
├── eslint / golangci-lint / clippy
└── 린트 오류 → Fixable 자동 수정
│
[5단계] 테스트 실행
├── npm test / go test / cargo test
└── 실패 시 → 에러 분석 + 수정 시도
│
[6단계] 코드 리뷰 (effort에 따라)
├── low: 건너뜀
├── medium: 변경 파일만
├── high: 변경 파일 + 의존성
└── max: 전체 영향 분석
│
[7단계] 보안 검토 (--security 또는 effort:max)
└── security-reviewer 서브에이전트 연동[실행 #1]
│ FAIL → Fixable 자동 수정 → 재실행
│
[실행 #2]
│ FAIL → Fixable 자동 수정 → 재실행
│
[실행 #3~5]
│ FAIL → 수정 시도 → 재실행
│
[5회 실패]
└── /learn --from-error 제안
최종 에러 리포트 → 부모에게 반환자동 수정 가능한 오류 9가지. 서브에이전트가 사용자 승인 없이 즉시 수정한다.
| # | 유형 | 감지 패턴 | 수정 방법 |
|---|---|---|---|
| 1 | Missing Import | Cannot find module, is not defined | 소스 검색 → import 문 추가 |
| 2 | Unused Import | is defined but never used | import 행 제거 |
| 3 | Lint (auto-fixable) | eslint --fix 가능 항목 | eslint --fix 실행 |
| 4 | Type Mismatch | Type '...' is not assignable | 타입 캐스팅 또는 인터페이스 수정 |
| 5 | Missing Return Type | Missing return type | 반환값에서 타입 추론 → 추가 |
| 6 | Formatting | prettier / gofmt | 포매터 실행 |
| 7 | Missing Dependency | Could not resolve | package.json 확인 → 설치 제안 |
| 8 | Enum/Const Mismatch | Exhaustive check 실패 | 누락 케이스 추가 |
| 9 | Test Snapshot | Snapshot mismatch | 스냅샷 업데이트 제안 (승인 필요) |
| effort | 빌드/타입/린트 | 테스트 | 코드 리뷰 | 보안 | 자동 수정 |
|---|---|---|---|---|---|
| low | 실행 | 실행 | 건너뜀 | 건너뜀 | import/lint만 |
| medium | 실행 | 실행 | 변경 파일만 | 패턴 매칭만 | Fixable 전체 |
| high | 실행 | 실행 | + 의존성 | 주요 패턴 | Fixable + 제안 |
| max | 실행 | 실행 | + 전체 영향 | security-reviewer | Fixable + 아키텍처 |
/handoff-verify --coverage 실행 시 테스트 커버리지를 분석한다.
커버리지 리포트
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
전체: 72.3% (목표: 80%)
신규 코드: 45.2%
미커버 파일: 3개
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
미커버 함수:
src/utils/parser.ts:parseConfig (0%)
src/api/handler.ts:processRequest (12%)
src/lib/cache.ts:invalidate (0%)
권장 테스트:
1. parseConfig - 정상/비정상 입력 테스트
2. processRequest - 요청/응답 통합 테스트
3. invalidate - 캐시 무효화 단위 테스트/handoff-verify --extract 실행 시 에러를 추출하고 분류한다.
| 카테고리 | 설명 | 예시 |
|---|---|---|
| BUILD | 빌드/컴파일 오류 | Module not found |
| TYPE | 타입 시스템 오류 | Type mismatch |
| LINT | 린트/스타일 오류 | Unexpected any |
| TEST | 테스트 실패 | Expected X, received Y |
| RUNTIME | 런타임 오류 | Cannot read property |
| SECURITY | 보안 패턴 | Hardcoded credential |
에러 추출 결과
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
총 에러: 12개
BUILD: 3개 (Fixable: 2)
TYPE: 4개 (Fixable: 3)
LINT: 2개 (Fixable: 2)
TEST: 2개 (Fixable: 0)
SECURITY: 1개 (Fixable: 0)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
자동 수정 가능: 7/12 (58%)이 스킬은 /handoff-verify 커맨드의 핵심 로직을 정의한다.
커맨드 파일(commands/handoff-verify.md)이 이 스킬의 파이프라인을 실행한다.
서브에이전트(agents/verify-agent.md)가 이 스킬의 파이프라인을 실제로 실행한다.
부모 컨텍스트와 분리된 fresh context에서 동작한다.
--security 플래그 또는 effort:max 시 security-pipeline 스킬과 연동한다.
보안 검증 부분은 security-pipeline에 위임한다.
5회 루프 실패 시 /learn --from-error를 자동 제안하여
에러 패턴을 CLAUDE.md에 기록한다.
커밋 전 사전 검증 게이트로 동작한다:
© sangrokjung, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/verification-engine of sangrokjung/claude-forge.
Open the folder on GitHubat commit 34d881d
Verification Engine next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Verification Engine this skillsangrokjung/claude-forge | 850 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Qwen Agentthananon/9arm-skills | 3.2k | — | ~1.5k | Automated safety check: Pass | None | |
| Bench Batonnooga/let-go | 568 | — | ~821 | Automated safety check: Pass | MIT | |
| Cxas Agent FoundryGoogleCloudPlatform/cxas-scrapi | 107 | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| Megalinter Setupnvuillam/github-dependents-info | 162 | — | ~3.9k | Automated safety check: Notes | MIT | |
| Delegate Verbosetimusus/Shuttle2 | 229 | — | ~864 | Automated safety check: Pass | Apache-2.0 |
thananon/9arm-skills
Delegate menial, well-scoped coding tasks to a cheap Qwen-backed subagent via the claude-9arm command instead of burning Claude tokens/quota.
nooga/let-go
Coordinate heavy local workloads across worktrees, processes, and subagents — benchmarks and timing-sensitive gates run exclusively on a quiesced machine, while builds, test suites, regeneration…
GoogleCloudPlatform/cxas-scrapi
End-to-end GECX/CXAS/CES conversational agent lifecycle -- build agents from requirements (PRD-to-agent), create and run evals (goldens, simulations, tool tests, callback tests), debug failures, and…
nvuillam/github-dependents-info
Install or upgrade MegaLinter on a repository. An agent skill from nvuillam/github-dependents-info.
timusus/Shuttle2
Run high-volume work in a subagent so its raw output never enters this conversation.
openobserve/openobserve
Splits a change into planner, coder and independent reviewer roles: you confirm a spec, a subagent implements it, and a separate reviewer checks each round's local WIP commit.
sangrokjung/claude-forge
Master systematic debugging techniques, profiling tools, and root cause analysis to efficiently track down bugs across any codebase or technology stack.
sangrokjung/claude-forge
Manage major dependency version upgrades with compatibility analysis, staged rollout, and comprehensive testing.
sangrokjung/claude-forge
Analyze session work and automatically convert reusable patterns into Claude Code skills.
sangrokjung/claude-forge
A skill your agent uses when starting Claude Code projects, writing CLAUDE.md/spec.md, dispatching subagents, or requesting Agent Teams parallel development.
sangrokjung/claude-forge
Instinct-based learning system that observes sessions via hooks, creates atomic instincts with confidence scoring, and evolves them into skills/commands/agents.
sangrokjung/claude-forge
Measure and shrink the always-loaded context of a Claude Code harness (CLAUDE.md + rules without paths frontmatter) back under budget — migrate narrative to reference files, convert rules to…
Categories
A skill your agent uses when verifying build/test/lint before commit, PR, or completion claims. Verification Engine is an agent skill from sangrokjung/claude-forge. Use when verifying build/test/lint before commit, PR, or completion claims.
Verification Engine fits situations like: verifying build/test/lint before commit; completion claims; /handoff-verify; pre-commit check.
Run `npx skills add sangrokjung/claude-forge --skill verification-engine -a claude-code`. Or copy the skill folder (skills/verification-engine in sangrokjung/claude-forge) into .claude/skills/verification-engine in your project. Claude Code loads it when a task matches its description.
Run `npx skills add sangrokjung/claude-forge --skill verification-engine -a codex`. Or copy the skill folder (skills/verification-engine in sangrokjung/claude-forge) into .agents/skills/verification-engine in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sangrokjung/claude-forge --skill verification-engine -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/verification-engine, .gemini/skills/verification-engine, .github/skills/verification-engine and .opencode/skills/verification-engine in your project.
Going by SKILL.md and its folder, Verification Engine needs the command-line tools its instructions call (eslint).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Verification Engine is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 5.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Verification Engine: Qwen Agent (thananon/9arm-skills, 3.2k stars), Bench Baton (nooga/let-go, 568 stars), Cxas Agent Foundry (GoogleCloudPlatform/cxas-scrapi, 107 stars) and Megalinter Setup (nvuillam/github-dependents-info, 162 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
sangrokjung (a GitHub user) maintains it in sangrokjung/claude-forge, which has 850 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on September 3, 2026.
Source: sangrokjung/claude-forge on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.