@ssheleg/sheleg-dev 0.4.0 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/package.json +1 -1
- package/plugins/sheleg-dev/.claude-plugin/plugin.json +1 -1
- package/plugins/sheleg-dev/skills/ad-tracking/SKILL.md +8 -8
- package/plugins/sheleg-dev/skills/ad-tracking/references/consent-mode.md +2 -0
- package/plugins/sheleg-dev/skills/ad-tracking/references/event-tracking.md +2 -0
- package/plugins/sheleg-dev/skills/ad-tracking/references/gtag-api.md +2 -0
- package/plugins/sheleg-dev/skills/ad-tracking/references/meta-linkedin.md +2 -0
- package/plugins/sheleg-dev/skills/ad-tracking/references/performance-security.md +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,38 @@ All notable changes to this project are documented here.
|
|
|
4
4
|
Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
5
5
|
Versioning: [SemVer](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## v0.4.2 — 2026-08-13
|
|
8
|
+
|
|
9
|
+
Its own negative self-tests could not be run on a developer's machine, and one of
|
|
10
|
+
them had been reporting a healthy guard as broken since 2026-08-12.
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **`main` was red for two days over a guard that works.** The over-long-description
|
|
15
|
+
plant replaced the literal `"BTCPay".`; the description stopped containing it, so
|
|
16
|
+
`str.replace` changed nothing, the validator honestly passed, and the step printed
|
|
17
|
+
*ERROR: validator accepted a description past the 1024-char limit*. Re-anchored on the
|
|
18
|
+
folded `>-` block's SHAPE and proven: the plant now produces a 1204-char description
|
|
19
|
+
and the validator rejects it. Standing instruction #6 of the family's retro, which
|
|
20
|
+
names this exact failure in another member.
|
|
21
|
+
- **Three plants used `sed -i` and were no-ops on macOS.** BSD sed requires an argument
|
|
22
|
+
to `-i`, so they errored and changed nothing; they could only ever be exercised in CI,
|
|
23
|
+
which is how the broken one went unnoticed. Converted to Python — the rule
|
|
24
|
+
`task-pipeline` has enforced on itself for months.
|
|
25
|
+
- **Every plant now asserts that it changed the file.** A plant that stops landing says
|
|
26
|
+
`PLANT DID NOT LAND: <why>` instead of blaming the guard it can no longer disarm.
|
|
27
|
+
|
|
28
|
+
All four verified by running them: each lands, and each makes the validator fail.
|
|
29
|
+
|
|
30
|
+
## [0.4.1] — 2026-08-12
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
|
|
34
|
+
- **`ad-tracking`'s body is back inside the token budget** — ~5076 → ~4802 of 5000.
|
|
35
|
+
The `Deep references` table was carrying a paragraph per file; each reference now
|
|
36
|
+
opens with its own `Load this when` line, so the trigger has one home, the table is
|
|
37
|
+
an index, and the two cannot drift apart.
|
|
38
|
+
|
|
7
39
|
## [0.4.0] — 2026-08-12
|
|
8
40
|
|
|
9
41
|
### Changed
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ssheleg/sheleg-dev",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"description": "Six integration skills for the layer a product reaches once it has users: Stripe subscription billing, crypto payments, ad and conversion tracking under Consent Mode v2, Google sign-in and the wider Google auth surface, and Core Web Vitals. This package is the installer CLI.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"sheleg-dev": "bin/sheleg-dev.js"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "sheleg-dev",
|
|
3
3
|
"displayName": "Sheleg Dev",
|
|
4
4
|
"description": "The integration layer a product needs once it has users: Stripe subscription billing reconciled into your own database, crypto payments that survive over-payment and duplicate webhooks, ad and conversion tracking under Consent Mode v2, Google sign-in with the account-linking guards, the wider Google auth surface, and Core Web Vitals work that moves the score.",
|
|
5
|
-
"version": "0.4.
|
|
5
|
+
"version": "0.4.2",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "ssheleg",
|
|
8
8
|
"url": "https://x.com/sshlg93"
|
|
@@ -426,17 +426,17 @@ LinkedIn: [Insight Tag](https://www.linkedin.com/help/lms/answer/a418880).
|
|
|
426
426
|
Compliance: [EU DMA](https://digital-markets-act.ec.europa.eu/).
|
|
427
427
|
## Deep references
|
|
428
428
|
|
|
429
|
-
The sections above are the integration surface across four platforms
|
|
430
|
-
|
|
431
|
-
the
|
|
429
|
+
The sections above are the integration surface across four platforms; these carry
|
|
430
|
+
the depth this file deliberately does not. Each opens with its own **Load this
|
|
431
|
+
when** line, so the trigger has one home and this table stays an index.
|
|
432
432
|
|
|
433
433
|
| File | Read it when |
|
|
434
434
|
|---|---|
|
|
435
|
-
| [`references/consent-mode.md`](references/consent-mode.md) | **consent is the task
|
|
436
|
-
| [`references/gtag-api.md`](references/gtag-api.md) | you are **calling gtag directly
|
|
437
|
-
| [`references/event-tracking.md`](references/event-tracking.md) | you are **designing the event schema
|
|
438
|
-
| [`references/performance-security.md`](references/performance-security.md) | the tag
|
|
439
|
-
| [`references/meta-linkedin.md`](references/meta-linkedin.md) | the work is **Meta or LinkedIn rather than Google
|
|
435
|
+
| [`references/consent-mode.md`](references/consent-mode.md) | **consent is the task** |
|
|
436
|
+
| [`references/gtag-api.md`](references/gtag-api.md) | you are **calling gtag directly** |
|
|
437
|
+
| [`references/event-tracking.md`](references/event-tracking.md) | you are **designing the event schema** |
|
|
438
|
+
| [`references/performance-security.md`](references/performance-security.md) | the tag **costs Lighthouse points or fails CSP** |
|
|
439
|
+
| [`references/meta-linkedin.md`](references/meta-linkedin.md) | the work is **Meta or LinkedIn rather than Google** |
|
|
440
440
|
|
|
441
441
|
For the page-speed side of the same problem — what the tag does to LCP and TBT,
|
|
442
442
|
and what to do about it — see the `frontend-performance` skill in this pack.
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# Consent Mode v2 — Detailed Patterns
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
**Load this when** consent is the task: advanced vs basic mode and what each still sends, all consent types, region-specific defaults, granular consent with its localStorage schema, the update flow, GTM wiring, exactly what tags do when denied, URL passthrough, ads data redaction, and how to verify in Tag Assistant / DevTools / DebugView.
|
|
5
|
+
|
|
4
6
|
## Contents
|
|
5
7
|
|
|
6
8
|
- [Table of Contents](#table-of-contents)
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# GA4 Event Tracking — Reference
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
**Load this when** you are designing the event schema: recommended vs custom events, naming rules, parameter limits, the item object, the ecommerce funnel, SaaS/subscription events, and a typed `trackEvent` wrapper.
|
|
5
|
+
|
|
4
6
|
## Contents
|
|
5
7
|
|
|
6
8
|
- [Table of Contents](#table-of-contents)
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# gtag.js API Reference
|
|
2
2
|
|
|
3
|
+
**Load this when** you are calling gtag directly: every command (`config`, `event`, `set`, `get`, `consent`), tag-ID formats, parameter scope and precedence, `send_to` routing and groups, multi-product configuration, and the Next.js App Router integration including the Docker `NEXT_PUBLIC_*` build-time trap.
|
|
4
|
+
|
|
3
5
|
Source: [Google Tag Platform — gtag.js](https://developers.google.com/tag-platform/gtagjs)
|
|
4
6
|
|
|
5
7
|
## Contents
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Meta Pixel & LinkedIn — Reference
|
|
2
2
|
|
|
3
|
+
**Load this when** the work is Meta or LinkedIn rather than Google: the parameter object per standard event, the firing wrapper and its consent gate, advanced matching with hashed identifiers and what must never be sent, and deduplication against the Conversions API.
|
|
4
|
+
|
|
3
5
|
Moved out of `SKILL.md` when the body was 906 lines against a 500-line budget.
|
|
4
6
|
Everything here is detail the body used to carry inline; the body keeps the
|
|
5
7
|
setup snippet and the traps.
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# GA4 Performance & Security — Reference
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
**Load this when** the tag is costing you Lighthouse points or failing CSP: loading strategies and their measured impact, CSP directives with and without a nonce, EU region endpoints, SPA page_view handling, and verification in the network tab.
|
|
5
|
+
|
|
4
6
|
## Contents
|
|
5
7
|
|
|
6
8
|
- [Table of Contents](#table-of-contents)
|