用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/andrem-sec/psc-comet --skill verification-loop命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | verification-loop |
| description | 6-phase pre-PR verification sweep with structured PASS/FAIL reporting |
| version | 1.0.0 |
| level | 2 |
| triggers | ["/verify","verify before commit","pre-commit check","ready for PR"] |
| context_files | ["context/project.md"] |
| steps | [{"name":"Language Detection","description":"Auto-detect project language and available tooling"},{"name":"Build Phase","description":"Run build and capture errors"},{"name":"Type Check Phase","description":"Run type checker (if applicable)"},{"name":"Lint Phase","description":"Run linter (full mode only)"},{"name":"Test Suite Phase","description":"Run tests with coverage (full mode only)"},{"name":"Security Scan Phase","description":"Scan for secrets and debug output (pre-pr mode only)"},{"name":"Generate Report","description":"Output structured VERIFICATION REPORT with final verdict"}] |
Comprehensive pre-commit and pre-PR verification. Runs the quality checks humans forget.
Without structured verification, Claude either:
The verification loop ensures every check runs, every failure is recorded, and the final state is unambiguous.
quick (default): Build + type check only. Fast feedback for iterative development.
full: Build + types + lint + tests + coverage (80% minimum). Standard pre-commit sweep.
pre-commit: Full suite + git status verification (no uncommitted changes in critical paths).
pre-pr: Full suite + security scan (secrets, debug output, credential files). Release gate.
Auto-detect from project files:
If multiple languages present, run checks for all detected languages.
Run the build command appropriate to the detected language:
tsc --noEmit or build scriptgo build ./...cmake --build or makebash -n on all .sh filesCapture all errors. Do not stop at first failure.
Language-specific type checking:
mypy with strict modetsc --noEmitRecord all type errors with file:line references.
Run linter and capture warnings/errors:
ruff check or pylinteslintgolangci-lint runclang-tidyshellcheckTreat errors as blocking. Warnings are informational only.
Run test suite with coverage:
pytest --cov --cov-report=termjest --coverage or vitest --coveragego test -cover ./...ctest or run test binariesCoverage threshold: 80% minimum for PASS verdict.
If tests exist but coverage is below threshold: FAIL with specific gap report.
If no tests exist: WARN but do not fail (legacy code exception).
Three scans:
Secrets scan: Grep staged files for:
api[_-]?key\s*[=:]\s*['\"][a-zA-Z0-9_-]{10,})password\s*[=:]\s*['\"][^'\"]{4,})token\s*[=:]\s*['\"][a-zA-Z0-9_-]{20,})Debug output scan: Grep source files for:
console.log (JavaScript/TypeScript)print( or pprint( (Python)fmt.Print (Go)std::cout (C++)Credential files: Check for staged:
.env, .env.local, .env.productioncredentials.json, secrets.json*.pem, *.key, id_rsa, id_ed25519VERIFICATION REPORT
Mode: [quick|full|pre-commit|pre-pr]
Timestamp: [ISO 8601]
Language(s): [detected languages]
Phase Results:
[✓] Build .................... PASS
[✓] Type Check ............... PASS
[✓] Lint ..................... PASS (full+ only)
[✗] Test Suite ............... FAIL: 3 tests failing
[✓] Coverage (80% min) ....... PASS: 87%
[✓] Security Scan ............ PASS (pre-pr only)
Verdict: NOT READY
Blocking Issues:
1. test_auth.py::test_login_flow - AssertionError at line 45
2. test_auth.py::test_logout - KeyError: 'session_id'
3. test_api.py::test_rate_limit - Timeout after 5s
quick: After each significant edit, before committing. Fast iteration.
full: Before git commit. Ensures local quality bar.
pre-commit: In pre-commit hook (optional). Prevents broken commits.
pre-pr: Before git push or creating PR. Release gate.
Do not skip phases when they fail. Collect all failures before reporting.
Do not treat warnings as errors unless the project has a zero-warning policy.
Do not run full verification in a tight loop. Use quick mode for iteration.
Do not fix issues during verification. This is read-only assessment. Report and exit.
Verification-loop is manual/command-driven (/verify). Hooks are automatic/event-driven (PostToolUse).
Hooks catch issues immediately during editing. Verification-loop catches issues comprehensively before PR.
Both are needed. Hooks prevent introduction. Verification confirms absence.