You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: add supply chain visual explainer and update README
- Replace placeholder docs/index.html with interactive architecture diagram
(blueprint aesthetic, responsive nav, covers critic system + all 6
hardening layers + refresh/verify workflows)
- Update README with supply chain security section, full command reference,
js-critic-router agent, and shared-js-core skill in install instructions
- Remove stale TODO section from CLAUDE.md, add visual explainer link
- Link to GitHub Pages: https://zivtech.github.io/react-critic/
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
[Visual explainer](https://zivtech.github.io/react-critic/) — interactive architecture diagram hosted on GitHub Pages.
38
+
37
39
External skills are loaded by reference (pinned commit SHA + content SHA-256 hash).
38
40
39
41
-`content_sha256` in manifests stores the SHA-256 of each skill's SKILL.md at the pinned commit.
@@ -57,19 +59,3 @@ but should be verified before adding a new owner to `TRUSTED_OWNERS`.
57
59
- Results: `research/benchmarks/results/`
58
60
- Scoring: rubric-coverage evaluation (prompt checklist vs annotated fixture issues)
59
61
- Seeds: 3 jackknife windows per critic; aggregate stability in `stability-report.md`
60
-
61
-
## TODO: Supply Chain Security for External Skills
62
-
63
-
The external skills manifests (`external-skills-manifest.yaml`) pin upstream skills by commit SHA, but the current tooling has supply chain gaps that need to be addressed:
64
-
65
-
1.**No diff review on refresh** — `refresh_external_skills.py` updates pins to HEAD silently. No changelog or diff of what changed in upstream SKILL.md files between the old and new pin.
66
-
2.**No content scanning** — nothing checks incoming skill content for suspicious patterns (prompt injection markers, instruction overrides, encoded payloads). These skills are prompt text injected into Claude's context.
67
-
3.**No signature/author verification** — anyone with push access to an upstream repo can change what gets loaded.
68
-
4.**No approval gate** — refresh runs and updates pins automatically with no PR/review step.
69
-
70
-
Minimum next steps:
71
-
- Add diff output to `refresh_external_skills.py` so changes are visible before committing new pins.
Copy file name to clipboardExpand all lines: README.md
+32-7Lines changed: 32 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,17 +2,22 @@
2
2
3
3
A multi-critic review suite for React, Next.js, and React Native/Expo work, built in the same orchestration style as drupal-critic.
4
4
5
+
[**Architecture Visual Explainer**](https://zivtech.github.io/react-critic/)— interactive diagram of the critic system and supply chain security model.
6
+
5
7
## Included Critics
6
8
7
-
-`react-critic`: React component and architecture review
8
-
-`next-critic`: Next.js App Router and cache/runtime review
External skills are prompt text loaded from third-party GitHub repos into Claude's context. A compromised upstream repo means arbitrary prompt injection. This repo hardens against that:
41
+
42
+
-**Org allowlist**: `TRUSTED_OWNERS` (15 orgs) in `scripts/skill_security.py` — unknown owners are rejected
43
+
-**Pinned commits + content hashes**: each skill pinned to a commit SHA with SHA-256 of the SKILL.md content
44
+
-**Injection scanning**: 10 prompt injection patterns checked on every refresh
45
+
-**Scan gate**: manifest updates blocked if scan warnings found (`--force` to override after review)
46
+
-**Approval gate**: `refresh_external_skills.py` is dry-run by default — shows diffs, requires `--approve`
47
+
-**Compare URLs**: refresh report includes clickable GitHub diff links for every pin change
48
+
49
+
See the [visual explainer](https://zivtech.github.io/react-critic/) for the full architecture diagram.
0 commit comments