@ssheleg/sheleg-dev 0.14.0 → 0.15.0
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 +21 -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 +11 -10
- package/plugins/sheleg-dev/skills/crypto-payments/SKILL.md +10 -10
- package/plugins/sheleg-dev/skills/error-tracking/SKILL.md +10 -11
- package/plugins/sheleg-dev/skills/frontend-performance/SKILL.md +10 -10
- package/plugins/sheleg-dev/skills/google-auth/SKILL.md +11 -10
- package/plugins/sheleg-dev/skills/google-signin/SKILL.md +11 -9
- package/plugins/sheleg-dev/skills/stripe-billing/SKILL.md +10 -15
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
## v0.15.0: short router descriptions
|
|
2
|
+
|
|
3
|
+
- Every skill's front-matter `description` is now a router, not a manual: one
|
|
4
|
+
"Use when" sentence, a "Not for" boundary naming the sibling skill, the opt-out
|
|
5
|
+
phrase (no wiring, без обвязки) and a short English and Russian trigger list.
|
|
6
|
+
Lengths before and after: stripe-billing 965 to 459, error-tracking 962 to 395,
|
|
7
|
+
frontend-performance 885 to 412, crypto-payments 884 to 398, ad-tracking 859 to 408,
|
|
8
|
+
google-signin 821 to 386, google-auth 798 to 417 (6,174 to 2,875 chars in total).
|
|
9
|
+
- Why: Claude Code shares about 30,000 chars of skill listing across every installed
|
|
10
|
+
skill. Measured on 2026-10-20, the operator's listing held 29,995 chars for 134 skills
|
|
11
|
+
and 81 of them showed no description. Plugin skills cannot be hidden, so description
|
|
12
|
+
length is the only lever.
|
|
13
|
+
- Every trigger phrase removed from a description moved verbatim into a new
|
|
14
|
+
`## Triggers` section at the end of that skill's body, so the family's routing hook
|
|
15
|
+
still finds each of its words in the skill's text.
|
|
16
|
+
- `test/validate.py` refuses a description over 500 chars (the family cap; the
|
|
17
|
+
standard's 1024 stays the hard limit). The CI plant that pads crypto-payments by
|
|
18
|
+
320 chars now trips this cap.
|
|
19
|
+
- `docs/evals/stripe-billing.md` restates the recomputed body budget (4603 tokens,
|
|
20
|
+
403 lines).
|
|
21
|
+
|
|
1
22
|
## v0.14.0 — frontend performance is tested in WebKit (Safari) first
|
|
2
23
|
|
|
3
24
|
- `frontend-performance/SKILL.md` gains *Test browser — WebKit (Safari) first*:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ssheleg/sheleg-dev",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "Seven integration skills for the layer a product reaches once it has users: Stripe subscription billing and cancellation retention, crypto payments, ad and conversion tracking under Consent Mode v2, Google sign-in and the wider Google auth surface, error tracking, and Core Web Vitals. This package is the installer CLI.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"sheleg-dev": "bin/sheleg-dev.js"
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "sheleg-dev",
|
|
4
4
|
"displayName": "Sheleg Dev",
|
|
5
5
|
"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, and Sentry error tracking wired so it does not forward your own credentials to a third party and so a stack trace names the commit that caused it.",
|
|
6
|
-
"version": "0.
|
|
6
|
+
"version": "0.15.0",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "ssheleg",
|
|
9
9
|
"url": "https://x.com/sshlg93"
|
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ad-tracking
|
|
3
3
|
description: >-
|
|
4
|
-
Use when
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
cross-device tracking, and GDPR/DMA compliance. Triggers - "ad tracking", "conversion
|
|
10
|
-
tracking", "meta pixel", "fbq", "google ads", "GA4", "gtag", "consent mode", "cookie consent",
|
|
11
|
-
"enhanced conversions", "retargeting", "purchase event", "CAPI", "gclid", "UTM",
|
|
12
|
-
"attribution", "отслеживание конверсий", "пиксель Meta", "согласие на куки", "ретаргетинг",
|
|
13
|
-
"аналитика рекламы". Not for running the ad campaigns themselves.
|
|
4
|
+
Use when wiring or auditing ad pixels and conversion tracking on the web: GA4, Google Ads,
|
|
5
|
+
Meta Pixel and CAPI, LinkedIn Insight Tag, under Consent Mode v2 and GDPR/DMA. Not for
|
|
6
|
+
running the campaigns, or the charge itself (stripe-billing). Opt out: no wiring, без
|
|
7
|
+
обвязки. Triggers - "conversion tracking", "meta pixel", "consent mode", "GA4", "CAPI",
|
|
8
|
+
"отслеживание конверсий", "пиксель Meta", "ретаргетинг".
|
|
14
9
|
license: MIT
|
|
15
10
|
---
|
|
16
11
|
|
|
@@ -425,3 +420,9 @@ and what to do about it — see the `frontend-performance` skill in this pack.
|
|
|
425
420
|
- **No network, or the ad platform's API unreachable**: server-side events cannot be
|
|
426
421
|
verified end to end. Say the dedup check did not run rather than reporting it held;
|
|
427
422
|
a browser pixel firing proves the browser, never the conversion.
|
|
423
|
+
|
|
424
|
+
## Triggers
|
|
425
|
+
|
|
426
|
+
More phrases that route here: "ad tracking", "fbq", "google ads", "gtag", "cookie consent",
|
|
427
|
+
"enhanced conversions", "retargeting", "purchase event", "gclid", "UTM", "attribution",
|
|
428
|
+
"согласие на куки", "аналитика рекламы".
|
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: crypto-payments
|
|
3
3
|
description: >-
|
|
4
|
-
Use when adding or auditing crypto checkout, crypto top-up
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
credit waterfalls, refund and AML-hold states, local development with a tunnel and signed mock
|
|
10
|
-
callbacks, a test matrix and a security checklist. Triggers - "crypto payment", "crypto
|
|
11
|
-
checkout", "pay with crypto", "USDT payment", "TRC20", "payment webhook", "IPN", "webhook
|
|
12
|
-
signature", "underpayment", "Heleket", "NOWPayments", "приём криптоплатежей", "оплата
|
|
13
|
-
криптой", "вебхук платежа", "недоплата". Not for card billing — use stripe-billing.
|
|
4
|
+
Use when adding or auditing crypto checkout, crypto top-up or payment webhooks: invoice
|
|
5
|
+
states, signed callbacks, idempotent processing, underpayment and rate drift. Not for card
|
|
6
|
+
billing (stripe-billing). Opt out: no wiring, без обвязки. Triggers - "crypto payment",
|
|
7
|
+
"USDT payment", "payment webhook", "webhook signature", "underpayment", "приём
|
|
8
|
+
криптоплатежей", "оплата криптой", "вебхук платежа".
|
|
14
9
|
license: MIT
|
|
15
10
|
---
|
|
16
11
|
|
|
@@ -414,3 +409,8 @@ a green suite, each with the defect it catches:
|
|
|
414
409
|
half of this skill. Say the check did not run rather than reporting the invariant as
|
|
415
410
|
held — an unrun check and a passing one are indistinguishable from the exit code
|
|
416
411
|
nobody looked at.
|
|
412
|
+
|
|
413
|
+
## Triggers
|
|
414
|
+
|
|
415
|
+
More phrases that route here: "crypto checkout", "pay with crypto", "TRC20", "IPN",
|
|
416
|
+
"Heleket", "NOWPayments", "недоплата".
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: error-tracking
|
|
3
3
|
description: >-
|
|
4
|
-
Use when wiring error tracking into a
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
a project, and the MCP server with the config channel it belongs in. Triggers - "add Sentry",
|
|
10
|
-
"set up error tracking", "SENTRY_DSN", "sentry-cli", "sentry mcp", "scrub secrets from
|
|
11
|
-
errors", "release tracking", "suspect commits", "why is Sentry empty", "подключить Sentry",
|
|
12
|
-
"трекинг ошибок", "секреты в Sentry", "релизы в Sentry", "наблюдаемость". NOT for judging an
|
|
13
|
-
agent's trajectory (agent-evals), triaging tickets in a tracker (your tracker's own triage
|
|
14
|
-
skill), or choosing an uptime vendor.
|
|
4
|
+
Use when wiring error tracking into a service: the Sentry SDK, where a DSN may live,
|
|
5
|
+
scrubbing secrets out of events, and tying releases to commits. Not for judging an agent's
|
|
6
|
+
trajectory (agent-evals) or choosing an uptime vendor. Opt out: no wiring, без обвязки.
|
|
7
|
+
Triggers - "add Sentry", "SENTRY_DSN", "sentry-cli", "release tracking", "подключить
|
|
8
|
+
Sentry", "трекинг ошибок", "секреты в Sentry".
|
|
15
9
|
license: MIT
|
|
16
10
|
---
|
|
17
11
|
|
|
@@ -285,3 +279,8 @@ Two claims worth re-measuring rather than trusting from this page, because both
|
|
|
285
279
|
are version-dependent: the default denylist contents, and whether the SDK has
|
|
286
280
|
started scrubbing values. `references/scrubbing.md` carries the command for
|
|
287
281
|
each.
|
|
282
|
+
|
|
283
|
+
## Triggers
|
|
284
|
+
|
|
285
|
+
More phrases that route here: "set up error tracking", "sentry mcp", "scrub secrets from
|
|
286
|
+
errors", "suspect commits", "why is Sentry empty", "релизы в Sentry", "наблюдаемость".
|
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: frontend-performance
|
|
3
3
|
description: >-
|
|
4
|
-
Use when building or auditing web pages for
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
optimization, and the contrast and heading issues that move a Lighthouse score. Triggers -
|
|
10
|
-
"performance audit", "PageSpeed", "Lighthouse", "Core Web Vitals", "LCP", "CLS", "INP",
|
|
11
|
-
"render-blocking", "bundle size", "code splitting", "lazy loading", "cache headers",
|
|
12
|
-
"performance budget", "ускорить сайт", "медленно грузится", "оптимизация скорости", "вес
|
|
13
|
-
бандла". Not for visual design or conversion work.
|
|
4
|
+
Use when building or auditing web pages for speed: Core Web Vitals (LCP, INP, CLS),
|
|
5
|
+
Lighthouse and PageSpeed scores, render-blocking resources, bundle size, fonts and
|
|
6
|
+
caching. Not for visual design (sheleg-design) or conversion work. Opt out: no wiring, без
|
|
7
|
+
обвязки. Triggers - "PageSpeed", "Lighthouse", "Core Web Vitals", "bundle size",
|
|
8
|
+
"performance budget", "ускорить сайт", "медленно грузится", "вес бандла".
|
|
14
9
|
license: MIT
|
|
15
10
|
---
|
|
16
11
|
|
|
@@ -225,3 +220,8 @@ how a typo survives review.
|
|
|
225
220
|
a Lighthouse score nobody ran is not a score.
|
|
226
221
|
- **No network**: PageSpeed Insights and field data are unavailable. Lab reasoning is
|
|
227
222
|
still worth doing — say which half you did.
|
|
223
|
+
|
|
224
|
+
## Triggers
|
|
225
|
+
|
|
226
|
+
More phrases that route here: "performance audit", "LCP", "CLS", "INP", "render-blocking",
|
|
227
|
+
"code splitting", "lazy loading", "cache headers", "оптимизация скорости".
|
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: google-auth
|
|
3
3
|
description: >-
|
|
4
|
-
Use when a
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
"google-auth-library", "ADC", "Application Default Credentials", "service account",
|
|
10
|
-
"Workload Identity Federation", "Google ID token", "verifyIdToken",
|
|
11
|
-
"GOOGLE_APPLICATION_CREDENTIALS", "Google SSO", "авторизация Google", "сервисный аккаунт",
|
|
12
|
-
"ключи сервисного аккаунта", "проверить ID-токен". For end-user web sign-in only, use the
|
|
13
|
-
google-signin skill instead.
|
|
4
|
+
Use when a Node.js or Python server authenticates to Google: OAuth 2.0 flows, server-side
|
|
5
|
+
ID token verification, service accounts, Application Default Credentials, Workload
|
|
6
|
+
Identity Federation, API keys. Not for end-user web sign-in (google-signin). Opt out: no
|
|
7
|
+
wiring, без обвязки. Triggers - "google auth", "google-auth-library", "service account",
|
|
8
|
+
"ADC", "verifyIdToken", "авторизация Google", "сервисный аккаунт".
|
|
14
9
|
license: MIT
|
|
15
10
|
---
|
|
16
11
|
|
|
@@ -289,3 +284,9 @@ if credentials.expired and credentials.refresh_token:
|
|
|
289
284
|
- **No browser, or no console access**: the consent screen and the client-id half are a
|
|
290
285
|
human step. Name the exact screen and what is blocked, do the code half, and do not
|
|
291
286
|
loop on a login only a person can complete.
|
|
287
|
+
|
|
288
|
+
## Triggers
|
|
289
|
+
|
|
290
|
+
More phrases that route here: "OAuth 2.0 Google", "Application Default Credentials",
|
|
291
|
+
"Workload Identity Federation", "Google ID token", "GOOGLE_APPLICATION_CREDENTIALS", "Google
|
|
292
|
+
SSO", "ключи сервисного аккаунта", "проверить ID-токен".
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: google-signin
|
|
3
3
|
description: >-
|
|
4
|
-
Use when implementing
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
checklist. Triggers - "sign in with google", "google login", "google sign-in button", "GIS",
|
|
10
|
-
"google.accounts.id", "gsi/client", "verify google token", "one tap", "account linking",
|
|
11
|
-
"login csrf", "g_csrf_token", "вход через Google", "кнопка входа Google", "связать аккаунты",
|
|
12
|
-
"проверить токен Google". For the broader library surface use google-auth instead.
|
|
4
|
+
Use when implementing or debugging Google sign-in on a website: the GIS button or One Tap,
|
|
5
|
+
server-side ID token checks, linking Google to password accounts, login CSRF. Not for a
|
|
6
|
+
server authenticating to Google (google-auth). Opt out: no wiring, без обвязки. Triggers -
|
|
7
|
+
"sign in with google", "google login", "GIS", "one tap", "account linking", "вход через
|
|
8
|
+
Google", "связать аккаунты".
|
|
13
9
|
license: MIT
|
|
14
10
|
---
|
|
15
11
|
|
|
@@ -163,3 +159,9 @@ attacker's account.
|
|
|
163
159
|
the code, not by watching it work. Record that as the weaker claim it is.
|
|
164
160
|
- **No console access**: creating the OAuth client is a human step; state it once, do
|
|
165
161
|
the rest, and say what is waiting on it.
|
|
162
|
+
|
|
163
|
+
## Triggers
|
|
164
|
+
|
|
165
|
+
More phrases that route here: "google sign-in button", "google.accounts.id", "gsi/client",
|
|
166
|
+
"verify google token", "login csrf", "g_csrf_token", "кнопка входа Google", "проверить токен
|
|
167
|
+
Google", "origin is not allowed for the given client ID".
|
|
@@ -1,21 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: stripe-billing
|
|
3
3
|
description: >-
|
|
4
|
-
Use when connecting a product to Stripe, fixing a payment bug
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
billing_reason decides, cumulative refunds, the cancellation field
|
|
11
|
-
flexible billing_mode moved, retention eligibility Stripe cannot express,
|
|
12
|
-
and write ordering with compensating reverts. Triggers - "add Stripe",
|
|
13
|
-
"Stripe checkout", "subscription billing", "webhook signature",
|
|
14
|
-
"invoice.paid", "proration", "refund", "cancel subscription",
|
|
15
|
-
"retention coupon", "подключить Stripe", "оплата подпиской",
|
|
16
|
-
"вебхук Stripe", "скидка при отмене", "биллинг подписок". Not for choosing
|
|
17
|
-
between Stripe products (stripe-best-practices) or reading Stripe docs
|
|
18
|
-
(stripe-docs).
|
|
4
|
+
Use when connecting a product to Stripe, fixing a payment bug ("баг в оплате") or auditing
|
|
5
|
+
a live integration: checkout, renewals, refunds, cancellation and the retention coupon,
|
|
6
|
+
and the webhook that grants an entitlement. Not for crypto (crypto-payments). Opt out: no
|
|
7
|
+
wiring, без обвязки. Triggers - "add Stripe", "Stripe checkout", "subscription billing",
|
|
8
|
+
"webhook signature", "cancel subscription", "подключить Stripe", "оплата подпиской",
|
|
9
|
+
"вебхук Stripe".
|
|
19
10
|
license: MIT
|
|
20
11
|
---
|
|
21
12
|
|
|
@@ -416,3 +407,7 @@ The full security checklist lives in `references/stripe-agent-toolchain.md`; eve
|
|
|
416
407
|
pitfall it used to list is stated where the rule is, which is the only place it can
|
|
417
408
|
be kept true.
|
|
418
409
|
|
|
410
|
+
## Triggers
|
|
411
|
+
|
|
412
|
+
More phrases that route here: "invoice.paid", "proration", "refund", "retention coupon",
|
|
413
|
+
"скидка при отмене", "биллинг подписок", "оплата".
|