@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 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.14.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.14.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 setting up or modifying ad pixel integration, conversion tracking, consent
5
- management, purchase event tracking, retargeting audiences, or auditing an existing
6
- advertising analytics stack. Covers Google Analytics 4, Google Ads, Meta (Facebook) Pixel and
7
- LinkedIn Insight Tag in web applications: Consent Mode v2, standard events, e-commerce
8
- tracking, advanced matching, Enhanced Conversions, CSP configuration, user identification,
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, or payment webhooks — where a
5
- payer sends the wrong amount, a webhook arrives more than once, and the rate moves between
6
- quote and transfer. Covers invoice lifecycle and status mapping, webhook signature
7
- verification and the JSON-escaping trap, idempotent processing, IP allowlisting behind a
8
- proxy, CSRF exemption for callback routes, the conversion buffer, reconciliation fields,
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 product — adding Sentry to a service, deciding what a
5
- DSN is and where it may live, keeping secrets out of events before they reach a third party,
6
- tying releases to commits so a stack trace names the change that caused it, or judging whether
7
- a green health check means anything. Covers the Sentry SDK options that matter for a backend,
8
- the two different tools both called sentry, the auth-token taxonomy and which kind can create
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 performance — running PageSpeed Insights,
5
- optimizing Lighthouse scores, fixing render-blocking resources, reducing bundle size,
6
- improving load times, or diagnosing slow page rendering. Covers Core Web Vitals (LCP, INP,
7
- CLS) and the Lighthouse diagnostics beside them (FCP, TBT, Speed Index), font loading strategies, CSS animation compositing, JavaScript
8
- bundle optimization, cache headers, code splitting, Content Security Policy, image
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 server authenticates to Google in a Node.js or Python application — OAuth 2.0
5
- flows, verifying Google ID tokens server-side, service account authentication and keys,
6
- Application Default Credentials, Workload Identity Federation, API keys, or working with
7
- google-auth-library (Node.js) or google-auth (Python). Covers server-side ID token
8
- verification and security best practices. Triggers - "google auth", "OAuth 2.0 Google",
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, reviewing or debugging Google login / sign-in / sign-up on a website —
5
- wiring the GIS button or One Tap, verifying Google ID tokens on the server, linking Google to
6
- existing password accounts, or fixing "origin is not allowed for the given client ID". Covers
7
- GCP OAuth client setup, backend ID-token verification, three-way account linking with the pre-
8
- hijacking guard, login-CSRF defense, nonce/replay protection and a mandatory security
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
- ("баг в оплате", "оплата"), or auditing a live integration: checkout,
6
- renewals, seats, proration, refunds, cancellation and the cancel-step
7
- coupon, the portal, and the webhook that turns a payment into an
8
- entitlement. Covers Stripe's agent toolchain, the pinned API version, SDK
9
- retries, price resolution, claim-first webhook idempotency, what
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
+ "скидка при отмене", "биллинг подписок", "оплата".