Repository navigation
Releases: ssheleg/sheleg-dev
Releases · ssheleg/sheleg-dev
Release list
v0.16.3 — sheleg-dev
- "product analytics" / «аналитика продукта» join
ad-tracking's## Triggers(hub board row
B-267). The skill owns that ground by its own text: its architecture diagram puts Mixpanel
"(product analytics)" behind the same consent layer as the pixels, and it carries Mixpanel's
alias/identifyrules. The description is unchanged. The body's opening sentence is
shortened to pay for the words: 4,748 of 4,750 tokens (audit_skill.py --house).
v0.16.2 — sheleg-dev
- Every skill description now fits a budget of about 300 characters (hub board row B-255 (a)):
Claude Code lists every installed skill's description each session against a shared budget of
about 30,000 characters, and the operator's listing measured 51,178, so less-used skills lost
their descriptions. Measured with whitespace collapsed:ad-tracking408 → 297,
crypto-payments398 → 298,error-tracking395 → 292,frontend-performance412 → 299,
google-auth417 → 293,google-signin386 → 300,stripe-billing459 → 299; total 2875 →
2078. - Each description keeps its router sentence, its boundary against sibling skills, the opt-out
phrase and a short English and Russian trigger list. Every quoted trigger the description
dropped is kept in the body's## Triggerssection, so the family hook's words stay advertised
(test/advertised_check.jsin the hub). - The CI negative for a duplicated trigger literal now anchors on
"google-auth-library",and
plants two literalsgoogle-signinstill quotes ("sign in with google","one tap"): the old
anchorTriggers - "google auth",left the description.docs/evals/stripe-billing.mdcarries
the re-measured body (4647 tokens, 406 lines).
v0.16.1 — sheleg-dev
test/family_gate.py, the family's canonical member gate (hub B-108, B-109): the board
parses (every row as wide as its header, no id twice) andrelease.ymlkeeps the tag-ancestry
check (fetch-depth: 0,git merge-base --is-ancestor), each watched failing on a plant by
--self-test. Wired intonpm test; a byte-for-byte copy of the hub'smember-gate/family_gate.py.
v0.16.0 — sheleg-dev
stripe-billing/references/cancellation-and-retention.mdgains A pause instead of a
cancellation: the screen rule (the pause offer does not lengthen the cancel path; one
screen, cancel one tap away), then Stripe's two pauses side by side.pause_collection
(behaviorkeep_as_draft,mark_uncollectibleorvoid;resumes_at) keepsstatus
activeand access on, and reaches the app only ascustomer.subscription.updated. The
Pause endpoint (flexiblebilling_mode, API2026-09-30.endive) setspaused, stops
invoices and emitscustomer.subscription.pausedand.resumed.
status_details.paused.subscription.typeseparates a requested pause from a trial that
ended without a payment method (trial_settings.end_behavior.missing_payment_method) and
from a payment-failure pause. Four test-matrix lines; every fact citesdocs.stripe.com,
read 2026-10-22.price-integrity.mdcitesdocs.stripe.com/keysfor the key prefixesassertStripeEnv
reads. Board row B-86 is closed: its assertion andCREDENTIAL_BOUNDARIESrow shipped in
v0.13.4 and the row had stayed open.subscription-lifecycle.md:mapStatusmapspausedto its ownpaused, no longercanceled;
a paused subscription resumes. Board: B-107 (the client's API pin predates the Pause endpoint)
and B-108 (billing_modemigration) filed.
v0.15.1 — sheleg-dev
- The accessibility reference's image-redundancy example used the name of one of the operator's private projects as its sample brand. It now uses
Acme. No behaviour changes.
v0.15.0 — sheleg-dev
- Every skill's front-matter
descriptionis now a router, not a manual: one
"Use when" sentence, a "Not for" boundary naming the sibling skill, the opt-out
phrase (no wiring, без обвязки) and a short English and Russian trigger list.
Lengths before and after: stripe-billing 965 to 459, error-tracking 962 to 395,
frontend-performance 885 to 412, crypto-payments 884 to 398, ad-tracking 859 to 408,
google-signin 821 to 386, google-auth 798 to 417 (6,174 to 2,875 chars in total). - Why: Claude Code shares about 30,000 chars of skill listing across every installed
skill. Measured on 2026-10-20, the operator's listing held 29,995 chars for 134 skills
and 81 of them showed no description. Plugin skills cannot be hidden, so description
length is the only lever. - Every trigger phrase removed from a description moved verbatim into a new
## Triggerssection at the end of that skill's body, so the family's routing hook
still finds each of its words in the skill's text. test/validate.pyrefuses a description over 500 chars (the family cap; the
standard's 1024 stays the hard limit). The CI plant that pads crypto-payments by
320 chars now trips this cap.docs/evals/stripe-billing.mdrestates the recomputed body budget (4603 tokens,
403 lines).
v0.14.0 — sheleg-dev
frontend-performance/SKILL.mdgains Test browser — WebKit (Safari) first:
Safari throughsafaridriver, Playwrightwebkit(--browser webkit,
npx playwright install webkit), Safari Web Inspector's Timelines, and
open -a Safari <url>on macOS rather than the system default browser.- Lighthouse, PageSpeed Insights, CrUX, CDP traces and the chrome-devtools MCP stay
as the stated Chromium exception (Chromium by definition): Chrome Dev, a
temporary profile, every started process closed. A page checked only in Chromium
is reported as exactly that; a Lighthouse score is not a cross-browser verdict. - The Measure and Validate steps run the WebKit pass too; Degradation names the
WebKit channels; the contrast check inreferences/accessibility-perf.mdstarts
in Safari Web Inspector. - New regression
test/audit_regressions/safari-first.pywith drop mutations. Text
integrity only; no hook or script behaviour changed.
v0.13.4 — sheleg-dev
- Supply a copyable, locally tested Stripe mode assertion before client construction.
- Refuse explicit Google service-account JSON and OAuth client-secret assignments in
non-production or undeclared runs, while preserving public metadata assignments. - Correct Google Testing advice for basic identity scopes and Workspace controls.
- Replace a Google access-token log with a value-free event. Document ambient ADC,
skills-only hooks and CAPI coverage limits. No provider operation was performed. - Validate explicit repository paths inside skill Markdown without treating consumer
project paths as repository claims.
v0.13.3 — sheleg-dev
- The release refuses a lightweight tag.
release.ymlgains one step, right after
checkout and before any gate:git cat-file -ton the tag must printtag; acommit
fails the job with the remedy (git tag -a <tag> -m '<release>'at the same commit)
before anything is published.git describeandgit submodule statussee annotated
tags only, and the 2026-10-09 family wave cut four lightweight member tags that the
umbrella then read as each member's previous release. The step is identical across the
family (umbrella plan 2026-10-10, T5 / REQ-6). Published tags are not re-cut. - No skill, reference or installer change.
v0.13.2 — sheleg-dev
Error tracking no longer assumes every non-Claude host lacks MCP or that setup
works only in Claude Code and Cursor. It checks the active host prerequisites,
keeps CLI/SDK fallback, and labels the Claude MCP command as host-specific.
A skills-only installation does not claim to register MCP or hooks.