Files
ECC/docs/zh-TW/skills/verification-loop/SKILL.md
T
754b8dd76c fix: make the installer runtime pass strict supply-chain vetting (#2503)
* fix: make the installer runtime pass strict supply-chain vetting

Remediate the four enterprise supply-chain vetting blockers from
affaan-m/ECC#2502 so the installer runtime (package.json + manifests +
scripts/lib/**) passes strict exact-pin evidence policy:

1. Remove the package.json `postinstall` lifecycle script (it only echoed a
   post-install banner) and move that banner to an explicit opt-in
   `npm run welcome` command. No install-time lifecycle script remains.
2. Exact-pin every dependency in package.json (dependencies + devDependencies)
   to the versions already resolved in package-lock.json; no ^/~ ranges.
3. Replace non-ASCII characters on the installer runtime script/config surface:
   em-dashes (U+2014) in scripts/lib/{path-safety,install-executor,
   install/link-rewrite}.js comments and the two "Itô" (U+00F4) occurrences in
   manifests/{install-components,install-modules}.json descriptions become
   ASCII, so strict-surface Unicode scanners are clean.
4. Drop the bare `require("ajv")` from scripts/lib/install-state.js; the file
   already carries a complete hand-rolled validator enforcing the same
   schemas/install-state.schema.json (ecc.install.v1) constraints, so the
   installer closure is dependency-free (zero non-builtin bare requires).

Refs affaan-m/ECC#2502

* fix: avoid unpinned welcome invocations

Signed-off-by: Samar Tomar <samar_tomar@hotmail.com>

* fix: validate translated skill frontmatter

Signed-off-by: Samar Tomar <samar_tomar@hotmail.com>

* fix: repair skill frontmatter YAML

Signed-off-by: Samar Tomar <samar_tomar@hotmail.com>

* fix: add MIT license to core skill manifests; pin verification-loop tsc invocation

* fix: preserve tsc/pyright exit status in verification-loop type-check (set -o pipefail)

* chore(deps): sync lockfiles with exact-pinned package.json

Regenerate package-lock.json and yarn.lock so the pinned dependency
specs are reflected in both lockfiles. npm ci and Yarn's --immutable
install now pass the sync check. The resolution tree is unchanged
(231 yarn resolutions, byte-identical set; zero npm transitive drift);
only the root descriptor strings move from ranges to the versions
already resolved in the committed lockfiles.

Addresses the Codex P1 on #2503.

---------

Signed-off-by: Samar Tomar <samar_tomar@hotmail.com>
Co-authored-by: Samarjeet Singh Tomar <samartomar@gmail.com>
2026-07-17 17:13:49 -04:00

128 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: verification-loop
description: A comprehensive verification system for Claude Code sessions.
metadata:
origin: ECC
---
# 驗證循環技能
Claude Code 工作階段的完整驗證系統。
## 何時使用
在以下情況呼叫此技能:
- 完成功能或重大程式碼變更後
- 建立 PR 前
- 想確保品質門檻通過時
- 重構後
## 驗證階段
### 階段 1:建置驗證
```bash
# 檢查專案是否建置
npm run build 2>&1 | tail -20
# 或
pnpm build 2>&1 | tail -20
```
如果建置失敗,停止並在繼續前修復。
### 階段 2:型別檢查
```bash
# TypeScript 專案
npx tsc --noEmit 2>&1 | head -30
# Python 專案
pyright . 2>&1 | head -30
```
報告所有型別錯誤。繼續前修復關鍵錯誤。
### 階段 3Lint 檢查
```bash
# JavaScript/TypeScript
npm run lint 2>&1 | head -30
# Python
ruff check . 2>&1 | head -30
```
### 階段 4:測試套件
```bash
# 執行帶覆蓋率的測試
npm run test -- --coverage 2>&1 | tail -50
# 檢查覆蓋率門檻
# 目標:最低 80%
```
報告:
- 總測試數:X
- 通過:X
- 失敗:X
- 覆蓋率:X%
### 階段 5:安全掃描
```bash
# 檢查密鑰
grep -rn "sk-" --include="*.ts" --include="*.js" . 2>/dev/null | head -10
grep -rn "api_key" --include="*.ts" --include="*.js" . 2>/dev/null | head -10
# 檢查 console.log
grep -rn "console.log" --include="*.ts" --include="*.tsx" src/ 2>/dev/null | head -10
```
### 階段 6:差異審查
```bash
# 顯示變更內容
git diff --stat
git diff HEAD~1 --name-only
```
審查每個變更的檔案:
- 非預期變更
- 缺少錯誤處理
- 潛在邊界案例
## 輸出格式
執行所有階段後,產生驗證報告:
```
驗證報告
==================
建置: [PASS/FAIL]
型別: [PASS/FAIL]X 個錯誤)
Lint [PASS/FAIL]X 個警告)
測試: [PASS/FAIL]X/Y 通過,Z% 覆蓋率)
安全性: [PASS/FAIL]X 個問題)
差異: [X 個檔案變更]
整體: [READY/NOT READY] for PR
待修復問題:
1. ...
2. ...
```
## 持續模式
對於長時間工作階段,每 15 分鐘或重大變更後執行驗證:
```markdown
設定心理檢查點:
- 完成每個函式後
- 完成元件後
- 移至下一個任務前
執行:/verify
```
## 與 Hooks 整合
此技能補充 PostToolUse hooks 但提供更深入的驗證。
Hooks 立即捕捉問題;此技能提供全面審查。