sshlg-skills 1.76.2 → 1.76.4

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,25 @@
1
+ ## v1.76.4 (2026-10-24): seo-aeo-audit pinned to 0.32.2
2
+
3
+ - **seo-aeo-audit 0.32.2** (was 0.32.0), commit `08a57df`: `references/playbooks.md` grows. PB5
4
+ gains the hub-showcase step (every item, in stock first, the rest marked "check availability" as
5
+ a live check); PB11 reads page speed per template from a keyed PageSpeed Insights call; PB12 adds
6
+ a network's hosts to Bing Webmaster through the API and keeps adding apart from verifying. 0.32.1
7
+ carries the same content under a lightweight tag its release refused, so 0.32.2 is the published
8
+ one.
9
+
10
+ ## v1.76.3 (2026-10-24): telegram-dev pinned to 0.5.3
11
+
12
+ - **Pin:** telegram-dev 0.5.3 (`telegram-bots/references/high-load.md`, a bot under load: the
13
+ poll loop that awaits a whole batch, a queue per chat under one ceiling, payments outside it,
14
+ flood guards measured from arrival rather than from the start of handling, the waiting
15
+ callback answered at once, a bounded shutdown, and what to measure; with
16
+ `fixtures/update_pump.py`, a discrete-event simulation on a virtual clock whose nine
17
+ invariants each go red when their rule is removed). The content shipped in 0.5.1; 0.5.2 and
18
+ 0.5.3 add the member's verification ledger section for it (`test/validate.py` refuses a
19
+ ledger older than the shipped version). `v0.5.0` and `v0.5.2` name no release: the first sits
20
+ on a commit before the change, the second was a lightweight tag the release workflow refused,
21
+ and the member's rules keep tags.
22
+
1
23
  ## v1.76.2 (2026-10-24): seo-aeo-audit pinned to 0.32.0
2
24
 
3
25
  - **seo-aeo-audit 0.32.0** (was 0.31.3), commit `51dba19`: `references/playbooks.md`, ten
package/README.md CHANGED
@@ -51,10 +51,10 @@ scripts. No services, no telemetry, no API keys.
51
51
  | **[agent-sync](https://github.com/ssheleg/agent-sync)** | 1.23.0 | Several agents, one repository, no collisions. Leases with a TTL so two agents cannot claim the same work, race-free id reservation, a run journal and a generated board — over a pluggable knowledge cloud. The answer to "two sessions just committed over each other". |
52
52
  | **[make-skill](https://github.com/ssheleg/make-skill)** | 0.33.0 | A skill that builds skills. Create, retrofit, audit and publish agent skills and Claude Code plugins: conformance to the [Agent Skills](https://agentskills.io/specification) open standard, [Anthropic's platform rules](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview) (per-surface runtime limits, the Skills API, evals) and the [Claude Code plugin reference](https://code.claude.com/docs/en/plugins-reference), marketplace layout, version sync, validator + CI, every distribution channel, the review checklist for third-party skills, and what a *skill author* must know about MCP and A2A — the protocols themselves live in `agent-stack`. |
53
53
  | **[sheleg-design](https://github.com/ssheleg/sheleg-design-skill)** | 1.66.2 | The taste layer. Cinematic scroll-driven landing pages — one scroll clock, motion that degrades to calm, WebGL particle formations — plus product-UI style packs each shipping a ready token layer, and the Figma border: tokens as variables, design to code without hand-copied values. |
54
- | **[seo-aeo-audit](https://github.com/ssheleg/seo-aeo-audit)** | 0.32.0 | Evidence-first website audit for search **and** answer engines. Ten tracks from crawl access to AI citation mechanics; every finding carries an observation, every recommendation an evidence tier, and the output is a prioritized change plan plus a link-building brief, not a score. Before a site is built, `/seo-aeo-audit brief` writes the build-time brief that the audit later verifies. |
54
+ | **[seo-aeo-audit](https://github.com/ssheleg/seo-aeo-audit)** | 0.32.2 | Evidence-first website audit for search **and** answer engines. Ten tracks from crawl access to AI citation mechanics; every finding carries an observation, every recommendation an evidence tier, and the output is a prioritized change plan plus a link-building brief, not a score. Before a site is built, `/seo-aeo-audit brief` writes the build-time brief that the audit later verifies. |
55
55
  | **[sheleg-dev](https://github.com/ssheleg/sheleg-dev)** | 0.16.0 | The integration layer a product reaches once it has users: **money in, tracking, sign-in, speed**. Stripe subscription billing reconciled into your own database — webhook idempotency, renewals, seats and proration, refunds, price drift, and the coupon offered at the cancel step, where a `duration=once` discount leaves `subscription.discounts` the moment its invoice finalizes and the offer can be taken every cycle; crypto payments that survive under-payment, duplicate webhooks and rate drift; GA4, Google Ads, Meta and LinkedIn under Consent Mode v2; Google sign-in with the account pre-hijacking guard, and the server-side auth surface behind it; Core Web Vitals work that moves the score rather than the report; 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. |
56
56
  | **[agent-stack](https://github.com/ssheleg/agent-stack)** | 0.31.2 | Production patterns for agent systems, in four skills. **The orchestrator** — tool-calling loops that survive their own context pressure, pipelines with human checkpoints and resume, provider routing with fallback and health checks, memory architecture — form, function and dynamics, the four-stage retrieval pipeline, and what a layer table alone cannot say, and **the shape of the work decided before the work**: an edge that carries no data is no edge, a plan that declares its dependencies is executed in layers rather than in list order, and a parallel layer gets a checker before the node that consumes it. **The harness** — what the agent is *told*: system prompts at the right altitude, tool descriptions the model can act on, technique choice with a verdict each, workflow versus agent and static versus dynamic, plus a seven-track audit of an agent somebody else built and a scanner for the defects that are mechanically visible. **The evals** — suites that measure whether it actually works: judging trajectories, regression fixtures grown from production, judges calibrated before they are trusted. **The interop layer** — MCP at revision 2026-07-28 and the four features it deprecated, running many servers at once, the registry, A2A 1.0, and the gateway, every reference carrying the spec revision it was read against. Plus the wallet side of reselling LLM access: tiered balances, one markup boundary, two-phase commit against a provider API. |
57
- | **[telegram-dev](https://github.com/ssheleg/telegram-dev)** | 0.4.0 | Telegram, split by the API each surface actually speaks. **`telegram-bots`** — the official HTTP Bot API: `update_id` as the only idempotency key an update carries, the `allowed_updates` default that subscribes you to everything *except* `chat_member` and the two reaction types while answering `ok: true`, the webhook secret header that is the real check, rate limits as a design constraint (1/sec per chat, 20/min per group, ~30/sec bulk), and Telegram Stars with a **ten-second** pre-checkout window and a grant that belongs to `successful_payment`. **`telegram-userbots`** — MTProto and Telethon: the session file as a credential equal to the password, `FloodWaitError` as the API telling you exactly how long to wait, pinning across minor releases that move session and entity-cache behaviour, and the account-ban risk a bot token does not carry — the skill opens with whether a user account is needed at all. **`telegram-miniapps`** — the web layer, whose entire security model is one signed query string: verifying `initData` server-side, the `auth_date` window, the Ed25519 path for a third party, and the SDK package whose name moved while the organisation's own page still fronts the old one. Both the verifier and the delivery invariants ship as runnable fixtures with their mutants. |
57
+ | **[telegram-dev](https://github.com/ssheleg/telegram-dev)** | 0.5.3 | Telegram, split by the API each surface actually speaks. **`telegram-bots`** — the official HTTP Bot API: `update_id` as the only idempotency key an update carries, the `allowed_updates` default that subscribes you to everything *except* `chat_member` and the two reaction types while answering `ok: true`, the webhook secret header that is the real check, rate limits as a design constraint (1/sec per chat, 20/min per group, ~30/sec bulk), and Telegram Stars with a **ten-second** pre-checkout window and a grant that belongs to `successful_payment`. **`telegram-userbots`** — MTProto and Telethon: the session file as a credential equal to the password, `FloodWaitError` as the API telling you exactly how long to wait, pinning across minor releases that move session and entity-cache behaviour, and the account-ban risk a bot token does not carry — the skill opens with whether a user account is needed at all. **`telegram-miniapps`** — the web layer, whose entire security model is one signed query string: verifying `initData` server-side, the `auth_date` window, the Ed25519 path for a third party, and the SDK package whose name moved while the organisation's own page still fronts the old one. Both the verifier and the delivery invariants ship as runnable fixtures with their mutants, and a bot under load has its own reference: a poll that never waits on a handler, a queue per chat under one ceiling, payments outside it, guards measured from arrival, a bounded shutdown, with a discrete-event simulation whose nine invariants each go red without their rule. |
58
58
  | **[xr-dev](https://github.com/ssheleg/xr-dev)** | 0.4.2 | **`quest-lifecycle`** maps the product from platform choice through design, build, testing, Store, monetization, launch and operation. The existing owners cover native OpenXR, Kotlin Spatial/hybrid apps, measured rendering optimization, current-source/tool discovery, commercial and asset readiness, and WebXR/PWA. Every stage names evidence and a next action; Meta engine companions and official Godot XR documentation supply implementation detail. |
59
59
  | **[web3d-dev](https://github.com/ssheleg/web3d-dev)** | 0.2.2 | Realtime 3D on the web with three.js and React Three Fiber, split by the question. **`web3d-runtime`** — how the scene runs: WebGPURenderer and its WebGL2 fallback, TSL and compute, post-processing, device loss and profiling, led by the failures r186 keeps silent: `render()` before `init()` throws, `positionNode` collapses every instance to a point, `computeAsync` does not wait for the GPU, and about twenty drei components do not run on WebGPU. **`web3d-assets`** — the glTF pipeline from a source to the frame within a written budget: gltf-transform and gltfpack, KTX2 and meshopt, the loader that reads the result, sourcing and the four licence questions; it delegates orders to the asset service when the machine runs one and works by the same principles when not. **`web3d-animation`** — a two-sided animation protocol with a shared clip canon: rig, clips, blending, retargeting, root motion, crowds and vertex-animation textures. Every fact is pinned to three@0.186.1, and the gate checks each code block against that release's exports. |
60
60
 
@@ -2682,8 +2682,8 @@
2682
2682
  {
2683
2683
  "name": "seo-aeo-audit",
2684
2684
  "repo": "ssheleg/seo-aeo-audit",
2685
- "commit": "51dba1913c967e606b773786f091302771d242ed",
2686
- "version": "0.32.0",
2685
+ "commit": "08a57df38ed238219b84f7369b68bc738784d747",
2686
+ "version": "0.32.2",
2687
2687
  "pluginInstall": "seo-aeo-audit@seo-aeo-audit",
2688
2688
  "pluginPath": "plugins/seo-aeo-audit",
2689
2689
  "entry": {
@@ -2691,7 +2691,7 @@
2691
2691
  "displayName": "SEO + AEO Audit",
2692
2692
  "source": "./plugins/seo-aeo-audit",
2693
2693
  "description": "Audits a website across ten evidence-based tracks (access & indexation, canonicalization, architecture & link equity, intent, content value, extractability/AEO, entity consensus, experience signals, risk, measurement) and outputs a findings report plus a prioritized change plan with verification steps. Includes a stdlib-only page auditor with answer-engine read-budget analysis.",
2694
- "version": "0.32.0",
2694
+ "version": "0.32.2",
2695
2695
  "author": {
2696
2696
  "name": "ssheleg",
2697
2697
  "url": "https://x.com/sshlg93"
@@ -2716,7 +2716,7 @@
2716
2716
  "files": [
2717
2717
  {
2718
2718
  "path": ".claude-plugin/plugin.json",
2719
- "sha256": "54524e31122d383215eeac1c800d636b7e0f23a9394430774cb55b0e1be3a045",
2719
+ "sha256": "7a1a5382075169a9693ecade9ac299089e003ea757ddcb1d5293d99d3805a467",
2720
2720
  "bytes": 766
2721
2721
  },
2722
2722
  {
@@ -2826,8 +2826,8 @@
2826
2826
  },
2827
2827
  {
2828
2828
  "path": "skills/seo-aeo-audit/references/playbooks.md",
2829
- "sha256": "d2ff12f4ddc127b9829934e9dcfae05bad85fe981b2a911e5251d3a2c26591eb",
2830
- "bytes": 20903
2829
+ "sha256": "05cc851b4bea99638f647bf2ae846698ab5958220fb10b03b816a976b8dc8412",
2830
+ "bytes": 25526
2831
2831
  },
2832
2832
  {
2833
2833
  "path": "skills/seo-aeo-audit/references/preflight.md",
@@ -2866,47 +2866,47 @@
2866
2866
  },
2867
2867
  {
2868
2868
  "path": "skills/seo-aeo-audit/scripts/agent_surface.py",
2869
- "sha256": "874833e978d6ccc58e6d1f16a3bd98b72e6fec814e0deef67c2edd7be17dcb9f",
2869
+ "sha256": "fe9786aead0070f711a8058d6a89de8e85c54b4240574be1356c45a1980550ab",
2870
2870
  "bytes": 97372
2871
2871
  },
2872
2872
  {
2873
2873
  "path": "skills/seo-aeo-audit/scripts/ai_panel.py",
2874
- "sha256": "dfe0ff50123836d758fb1d5f74b795d46c3f28f6121eee5a20b117565e8e2f3b",
2874
+ "sha256": "8708ef937bc626a8ba7a8c4d7b495d5e7dd9feb3e332c168deea3454c33a40bf",
2875
2875
  "bytes": 25268
2876
2876
  },
2877
2877
  {
2878
2878
  "path": "skills/seo-aeo-audit/scripts/bwt_pull.py",
2879
- "sha256": "b9dca38dd80acdfe71e740f0d26f7deb33cc6a4b9cfe778bc6e9bb694748559c",
2879
+ "sha256": "cec4359d6d877dd90d13c3b1ae8fa0df96458755670e2da288e513c5bdabcb05",
2880
2880
  "bytes": 25409
2881
2881
  },
2882
2882
  {
2883
2883
  "path": "skills/seo-aeo-audit/scripts/gsc_pull.py",
2884
- "sha256": "3298592db0e593514a28aa31d0e512ab5b6f0b8fcc7f95e73364d9066b70a873",
2884
+ "sha256": "9f4fb37c6e7130bfd2d02b02e7bccae2524d3bb4ae5baed72dcda36cb04a1955",
2885
2885
  "bytes": 61132
2886
2886
  },
2887
2887
  {
2888
2888
  "path": "skills/seo-aeo-audit/scripts/page_audit.py",
2889
- "sha256": "6694279f96ea90bc2797adeb430b800bf04c674a625e37e64bc464a118237efc",
2889
+ "sha256": "2bd20e35eedd8e807d3c89fa21bba8d701f1c77f80afe6796517d10a02e2be22",
2890
2890
  "bytes": 80703
2891
2891
  },
2892
2892
  {
2893
2893
  "path": "skills/seo-aeo-audit/scripts/preflight.py",
2894
- "sha256": "23f5fe8db6d7f219c8f43eced4d995239abf6d49b7996e937964f88bcfab4139",
2894
+ "sha256": "4a89e52e624b0fa531a6d966405f3cc2cc8462195e35e2dcdacac45ba5ba0806",
2895
2895
  "bytes": 65317
2896
2896
  },
2897
2897
  {
2898
2898
  "path": "skills/seo-aeo-audit/scripts/psi_pull.py",
2899
- "sha256": "aaabbc25be17217ed1cbda2a9d7f1dfbe6873885d48bfad907384312adf7080b",
2899
+ "sha256": "880afd32fba8719c9005cbcc93e18eea41eb342c5578327dc5cb8b75c3506bb2",
2900
2900
  "bytes": 28522
2901
2901
  },
2902
2902
  {
2903
2903
  "path": "skills/seo-aeo-audit/scripts/sitemap_audit.py",
2904
- "sha256": "0c4580b14ab26d1cc033cbd786b829328eba4c75ef67881e1a93e5ba79b878ee",
2904
+ "sha256": "88b646986d024dcc5cf95d6713b1b6fc2d13ed760bd17ad86fe6f9f9f5ba2242",
2905
2905
  "bytes": 44650
2906
2906
  },
2907
2907
  {
2908
2908
  "path": "skills/seo-aeo-audit/scripts/url_inspection.py",
2909
- "sha256": "e531e03d7d7e9eac1b4b8f34d37b91232a13dbe2a17b3b4ea628195449b5e7a7",
2909
+ "sha256": "cfcc63f2b2d08da4e24ac21c288645aebc7b09ef512091fd164586fba0c3c01e",
2910
2910
  "bytes": 36543
2911
2911
  },
2912
2912
  {
@@ -3502,15 +3502,15 @@
3502
3502
  {
3503
3503
  "name": "telegram-dev",
3504
3504
  "repo": "ssheleg/telegram-dev",
3505
- "commit": "94251eaae844febabe23fed0399dc5e35783f7c2",
3506
- "version": "0.4.0",
3505
+ "commit": "50cb6eb0793a5d2db9232c44e36daf7bdd2a77f7",
3506
+ "version": "0.5.3",
3507
3507
  "pluginInstall": "telegram-dev@telegram-dev",
3508
3508
  "pluginPath": "plugins/telegram-dev",
3509
3509
  "entry": {
3510
3510
  "name": "telegram-dev",
3511
3511
  "displayName": "Telegram Dev",
3512
3512
  "description": "Telegram development, split by the API each surface actually speaks. telegram-bots covers the official HTTP Bot API — update_id as the only idempotency key, the allowed_updates default that drops three types in silence, the webhook secret header, rate limits as a design constraint, and Telegram Stars with its ten-second pre-checkout window. telegram-userbots covers MTProto and Telethon — the session file as a credential equal to the password, FloodWaitError as the API working rather than failing, and the account-ban risk a bot token does not carry. telegram-miniapps covers initData verification, the algorithm shipped as a runnable fixture, and the SDK package whose name moved.",
3513
- "version": "0.4.0",
3513
+ "version": "0.5.3",
3514
3514
  "author": {
3515
3515
  "name": "ssheleg",
3516
3516
  "url": "https://x.com/sshlg93"
@@ -3542,7 +3542,7 @@
3542
3542
  "files": [
3543
3543
  {
3544
3544
  "path": ".claude-plugin/plugin.json",
3545
- "sha256": "321e45692e19b87607037c5eb2ad5784c224be4536da333736af81f999e20522",
3545
+ "sha256": "40dd708a565101ec397a7a7f0b912043bd83b3340ec361a4816d0dc69c43e5f0",
3546
3546
  "bytes": 1375
3547
3547
  },
3548
3548
  {
@@ -3550,11 +3550,21 @@
3550
3550
  "sha256": "3837eb0a9e13bf4920abdb7f2333699bf6768187544c457f780d108916153733",
3551
3551
  "bytes": 19980
3552
3552
  },
3553
+ {
3554
+ "path": "skills/telegram-bots/fixtures/update_pump.py",
3555
+ "sha256": "ab8d037888e29d0118d87a97be3430d88991fc4100c11d3a08a728ef5ab1cdb9",
3556
+ "bytes": 15220
3557
+ },
3553
3558
  {
3554
3559
  "path": "skills/telegram-bots/references/frameworks.md",
3555
3560
  "sha256": "d2c70658590eea1e4869b5628d9a105688a935dfd6f821bd6bcb3b255ae7dfaf",
3556
3561
  "bytes": 2947
3557
3562
  },
3563
+ {
3564
+ "path": "skills/telegram-bots/references/high-load.md",
3565
+ "sha256": "93075456ae2287c39c5231f0049821c9703184feeb381ff1ed85d311b44c4511",
3566
+ "bytes": 9711
3567
+ },
3558
3568
  {
3559
3569
  "path": "skills/telegram-bots/references/limits-and-files.md",
3560
3570
  "sha256": "736ddf059f83128b567668bd198014d4dffb0f36c6c6bb0db21a7d4d12d1303b",
@@ -3572,8 +3582,8 @@
3572
3582
  },
3573
3583
  {
3574
3584
  "path": "skills/telegram-bots/SKILL.md",
3575
- "sha256": "a2ce4f256cba788eed8cbd4616c918ceb407a2aaa127c9bcc31af4caacec3202",
3576
- "bytes": 12079
3585
+ "sha256": "56ceb1a2be3ab12b65fa73bfd7fc5298d1a499e90bb2d1387478f4e91090e5e8",
3586
+ "bytes": 12868
3577
3587
  },
3578
3588
  {
3579
3589
  "path": "skills/telegram-miniapps/fixtures/verify_initdata.py",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sshlg-skills",
3
- "version": "1.76.2",
3
+ "version": "1.76.4",
4
4
  "skillsCli": "skills@1.7.2",
5
5
  "description": "The ssheleg harness skill layer: routing, delivery gates, specialist skills and durable handoffs for coding agents.",
6
6
  "bin": {
package/skills.json CHANGED
@@ -160,13 +160,13 @@
160
160
  "skillNames": [
161
161
  "seo-aeo-audit"
162
162
  ],
163
- "version": "0.32.0",
163
+ "version": "0.32.2",
164
164
  "entry": "/seo-aeo-audit",
165
165
  "role": "whether a machine will find it",
166
166
  "npm": "@ssheleg/seo-aeo-audit",
167
167
  "shape": "static, with a bounded discovery",
168
168
  "shapeWhy": "The ten tracks are fixed; **which** are in scope is decided per site at step 0 and written into the report, so the executed set is recoverable. An eleventh pass (Discover) is added by a stated condition, never by taste.",
169
- "commit": "51dba1913c967e606b773786f091302771d242ed"
169
+ "commit": "08a57df38ed238219b84f7369b68bc738784d747"
170
170
  },
171
171
  {
172
172
  "name": "sheleg-dev",
@@ -225,13 +225,13 @@
225
225
  "telegram-userbots",
226
226
  "telegram-miniapps"
227
227
  ],
228
- "version": "0.4.0",
228
+ "version": "0.5.3",
229
229
  "entry": null,
230
230
  "role": "which Telegram API each surface speaks, and what each one costs",
231
231
  "npm": "@ssheleg/telegram-dev",
232
232
  "shape": "static",
233
233
  "shapeWhy": "Three fixed surfaces with fixed seams; the only branch is which of the three a task is on, and the first table in each SKILL.md decides that before any code.",
234
- "commit": "94251eaae844febabe23fed0399dc5e35783f7c2"
234
+ "commit": "50cb6eb0793a5d2db9232c44e36daf7bdd2a77f7"
235
235
  },
236
236
  {
237
237
  "name": "xr-dev",