skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
rheinmir/setup202 installs

skill-provenance

Ghi và kiểm provenance (nguồn + sha256 checksum) cho skill — dùng khi 'cài skill từ ngoài', 'skill này từ đâu', 'audit nguồn skill', 'checksum skill', 'supply-chain skill', phát hiện skill bị sửa lén; bổ trợ orca-sec-scans. Chạy fdk/tools/skill-provenance.py. /skill-provenance

How do I install this agent skill?

npx skills add https://github.com/rheinmir/setup --skill skill-provenance
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    This skill provides instructions for managing skill provenance and integrity using a local Python script. It allows users to record skill sources and verify that files have not been modified. The patterns detected are consistent with standard development and security auditing workflows.

  • Socketpass

    No alerts

  • Snykpass

    Risk: LOW · No issues

What does this agent skill do?

Skill: skill-provenance

Sổ nguồn gốc + toàn vẹn cho từng skill. orca-sec-scans quét vuln/secret trong NỘI DUNG; skill này trả lời hai câu hỏi khác của chuỗi cung ứng (supply-chain): skill từ đâu tới và có bị sửa lén sau khi cài không. Store là fdk/skills.provenance.json (nguồn + ngày ghi + sha256 mọi file trong skills/<name>/). Verify bằng cách tính lại checksum và so với sổ — lệch = MODIFIED, có skill trên đĩa mà chưa ghi sổ = UNTRACKED.

WHAT

Purpose và context

  • Purpose: trả lời hai câu hỏi supply-chain cho từng skill — từ đâu tới và có bị sửa lén sau khi cài không — bằng sổ fdk/skills.provenance.json (nguồn + ngày ghi + sha256 mọi file) và lệnh verify tính lại checksum.
  • Trigger (when to use):
    • Vừa cài / chưng cất một skill từ nguồn ngoài (marketplace, repo khác, distill trong phiên dự án khác) → record để chốt nguồn + checksum.
    • Nghi ngờ / muốn kiểm skill có bị sửa ngoài luồng không → check.
    • Hỏi "skill này từ đâu ra", "audit nguồn skill", "checksum skill", "supply-chain skill".
    • CI muốn chặn skill lạ hoặc skill bị sửa mà chưa cập nhật sổ.
  • Non-goals: không quét vuln/secret trong nội dung skill (việc của orca-sec-scans); không tự đoán nguồn skill.

Mental model

skills/<name>/ (file trên đĩa) → sha256 mỗi file → so với sổ fdk/skills.provenance.json → OK | MODIFIED (lệch) | UNTRACKED (trên đĩa chưa ghi sổ) | MISSING (trong sổ, không còn trên đĩa). record = ghi/ghi đè mục sổ; check = đọc so.

Input và output contract

FieldRequired?Ý nghĩa
In<name> hoặc --allcó với recordskill cần ghi sổ
In--sourcecó với recordURL, repo#ref thật, hoặc local-authored
In--cikhôngcheck trả exit 1 khi có MODIFIED/UNTRACKED
Outmục sổ trong fdk/skills.provenance.jsonsau recordnguồn + ngày ghi + sha256
Outtrạng thái từng skillsau checkOK / MODIFIED / UNTRACKED / MISSING + exit code

Rules và capabilities

  • RULE-01 (MUST): Không tự bịa nguồn. --source phải là URL/ref thật hoặc local-authored; provenance sai còn tệ hơn không có.
  • RULE-02 (MUST): record sau MỌI lần cài/sửa hợp lệ — sổ là nguồn chân lý; skill sửa mà không re-record sẽ bị CI chặn như sửa đổi lạ (đúng ý đồ).
  • RULE-03 (MUST): Không thay orca-sec-scans — skill này lo provenance/toàn vẹn, không quét vuln/secret nội dung; dùng cả hai.
  • RULE-04 (MUST): check --ci coi MISSING (skill đã gỡ) là không-phải-lỗi; chỉ MODIFIED/UNTRACKED mới chặn.
  • RULE-05 (MUST): Store fdk/skills.provenance.json là file curated — commit cùng thay đổi skill, đừng để drift.
  • Capabilities: đọc file skill + tính hash; ghi sổ provenance cục bộ. Không mạng.

Failure boundaries

  • Không biết nguồn thật của skill → clarify với user, không ghi --source đoán.
  • check --ci thấy MODIFIED/UNTRACKED → failed (exit 1); sửa có chủ đích → re-record, sửa lạ → điều tra.
  • MISSING → báo, không chặn.

HOW

Main workflow

StepTypeInputsActionOutputs/exitFailure/next
W01effectsổ trốngBackfill một lần record --all --source local-authoredsổ đầy đủsổ đã có → skip
W02effectskill mới + nguồn thậtrecord <name> --source …mục sổnguồn không rõ → clarify
W03deterministicsổ + đĩacheck (tất cả hoặc một skill)OK/MODIFIED/UNTRACKED/MISSING—
W04deterministicsổ + đĩaGate CI check --ciexit 0/1MODIFIED/UNTRACKED → exit 1
W05effectskill đã cố ý sửare-record với nguồn cũchecksum mớikhông re-record → W04 đỏ

Chi tiết từng bước (nguồn chân lý cho W01–W05):

  1. Backfill một lần (nếu sổ trống) — ghi mọi skill hiện có là tự viết:
    python3 fdk/tools/skill-provenance.py record --all --source local-authored
    
  2. Khi cài / thêm skill mới — ghi nguồn thật (URL, repo#ref, hoặc local-authored):
    python3 fdk/tools/skill-provenance.py record <name> --source "https://github.com/<owner>/<repo>#<ref>"
    
  3. Kiểm toàn vẹn bất cứ lúc nào (in OK / MODIFIED / UNTRACKED / MISSING):
    python3 fdk/tools/skill-provenance.py check          # xem tất cả
    python3 fdk/tools/skill-provenance.py check <name>   # một skill
    
  4. Gate CI — exit 1 nếu có MODIFIED hoặc UNTRACKED (đã gắn trong .github/workflows/skills-sync.yml):
    python3 fdk/tools/skill-provenance.py check --ci
    
  5. Sau khi cố ý sửa một skill, chạy lại record <name> --source <nguồn cũ> để cập nhật checksum — nếu không, check --ci sẽ báo MODIFIED (đúng: mọi thay đổi phải qua sổ).

Branches

IDKindGuardHành viSkip / failureRejoin
B01conditional_requiredsổ trốngbackfill W01sổ đã có → skipW03
B02recoverycheck báo MODIFIEDsửa có chủ đích → W05 re-record; không rõ ai sửa → điều tra như sửa lạ—W03
B03recoverycheck báo UNTRACKEDskill mới hợp lệ → W02 record với nguồn thậtnguồn không rõ → clarifyW03

Validation và stopping

Hoàn toàn tất định: checksum + exit code của skill-provenance.py. Phần cần người: nguồn --source có thật không. Dừng khi check in toàn OK (MISSING chấp nhận).

Examples

  • Positive: vừa kéo skill từ https://github.com/acme/skills#v1.2 → python3 fdk/tools/skill-provenance.py record foo --source "https://github.com/acme/skills#v1.2" → check foo in OK.
  • Boundary/failure: sửa skills/foo/SKILL.md mà không re-record → check --ci in MODIFIED foo, exit 1; user hỏi "foo từ đâu" nhưng không ai biết → không ghi --source đoán, hỏi lại.

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/rheinmir/setup/skill-provenance">View skill-provenance on skillZs</a>