meta-pixel-capi — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited meta-pixel-capi (Plugin) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Fail-closed Meta Pixel + Conversions API orchestration for Claude Code.
Covers 8 platforms. Enforces SHA-256 hashing, event deduplication, source validation, and security checks. Blocks output if any integrity check fails.
| Platform | Type |
|---|---|
| Next.js | Route handler CAPI |
| React | Backend proxy CAPI |
| Shopify | Native Meta channel + custom CAPI |
| WordPress | Server hook / endpoint CAPI |
| GoHighLevel | Workflow CAPI action |
| ClickFunnels | Native settings + CAPI |
| Webflow | Custom code embed + backend CAPI |
| Static HTML | Manual Pixel + server endpoint |
Unsupported platforms get a structured fallback contract with explicit limitations.
When you ask Claude to implement Meta Pixel + CAPI tracking, this skill:
The skill will refuse to generate output and return a BLOCKED status with reason codes if:
/plugin add rileyvibecodes/meta-pixel-capiThe skill becomes available as /meta-pixel-capi:meta-pixel-capi.
Copy directly into your project:
cp -r skills/meta-pixel-capi .claude/skills/meta-pixel-capiOr install globally (available in all projects):
cp -r skills/meta-pixel-capi ~/.claude/skills/meta-pixel-capiThis skill follows the Agent Skills open standard. Copy skills/meta-pixel-capi/ into your tool's skill directory:
| Tool | Path |
|---|---|
| Cursor | .cursor/skills/meta-pixel-capi/ |
| Codex | .codex/skills/meta-pixel-capi/ |
| Gemini CLI | .gemini/skills/meta-pixel-capi/ |
Ask Claude to implement Meta tracking on any supported platform:
Set up Meta Pixel and CAPI on my Next.js appAudit my Shopify Meta tracking because EMQ score is lowMy GoHighLevel funnel shows duplicate Lead events in Events ManagerThe skill auto-triggers on queries mentioning Meta Pixel, CAPI, Conversions API, EMQ, dedup, or event match quality combined with a supported platform name.
em, ph, fn, ln, db, ct, st, zp, country, ge, external_idclient_ip_address, client_user_agent, fbp, fbc, event_id| Field | Rule |
|---|---|
| Lowercase + trim | |
| Phone | E.164 (strip non-numeric, add country code) |
| Names | Lowercase + trim |
| ZIP | 5-digit US |
| Country | ISO 3166-1 alpha-2 lowercase |
Access-Control-Allow-Origin: *)****)Every Purchase event must include value (float), currency (ISO 4217), content_ids (array), and content_type for ROAS optimization.
Shared event_id between browser Pixel (eventID parameter) and server CAPI (event_id field). Both events must fire for the same user action.
Run the built-in validator:
python3 skills/meta-pixel-capi/validator/validate.py --strict --platform allRun the full eval suite (56 tests across 4 groups):
python3 skills/meta-pixel-capi/evals/run-evals.pySkip URL liveness checks (for CI):
python3 skills/meta-pixel-capi/evals/run-evals.py --skip-liveness| Group | Tests | What It Checks |
|---|---|---|
| Trigger Classification | 20 | Correct activation on Meta+CAPI queries, no false positives |
| Scenario Assertions | 20 | Platform references, fixtures, checks, sources, security |
| Fail-Closed Mutations | 4 | Stale sources, missing rules, unsupported platforms, invalid API |
| Source URL Liveness | 12 | All reference URLs return HTTP 200 |
skills/meta-pixel-capi/
├── SKILL.md # Execution contract
├── manifests/
│ ├── platform-matrix.json # 8 Tier-1 platform definitions
│ ├── rule-registry.json # 19 enforcement rules
│ └── source-registry.json # 12 allowlisted source URLs
├── references/
│ ├── core/
│ │ ├── capi-baseline.md # Hashing, normalization, timing
│ │ ├── contract.md # 7-section output contract
│ │ ├── ios-aem-context.md # iOS 14.5+ and AEM context
│ │ └── unsupported-fallback.md # Fallback for non-Tier-1 stacks
│ ├── platforms/ # 8 platform-specific recipes
│ ├── security/ # Secret handling + networking policy
│ └── troubleshooting/ # Common failure modes
├── validator/
│ ├── validate.py # 6-check integrity validator
│ ├── patterns.py # Secret + CORS regex patterns
│ └── fixtures/ # Test data for validator
├── evals/
│ ├── run-evals.py # 56-test eval runner
│ ├── evals.json # Scenario assertions
│ ├── trigger-eval.json # Trigger classification tests
│ └── stress-tests.json # Fail-closed mutation tests
└── reports/
├── verification-report.md # Launch verification (READY)
├── eval-report.json # Structured eval results
└── latest.json # Latest validation runGitHub Actions workflow included. Add to your repo:
name: meta-pixel-capi-validate
on:
pull_request:
paths:
- '.claude/skills/meta-pixel-capi/**'
push:
paths:
- '.claude/skills/meta-pixel-capi/**'
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: python3 .claude/skills/meta-pixel-capi/validator/validate.py --strict --platform all
- run: python3 .claude/skills/meta-pixel-capi/evals/run-evals.py --skip-livenessMIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.