semver/SKILL.md
Enforces Semantic Versioning 2.0.0 (semver.org) rules. Use when choosing a version bump type for a release, validating version strings, tagging releases, handling pre-release or build metadata, managing deprecations, or advising on version precedence.
npx skillsauth add kayaman/skills semverInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Reference: https://semver.org/spec/v2.0.0.html
MAJOR.MINOR.PATCH[-pre-release][+build]
| Segment | When to increment | Reset rule | |---|---|---| | MAJOR (X) | Backward-incompatible API change | Resets MINOR and PATCH to 0 | | MINOR (Y) | New backward-compatible functionality or deprecation notice | Resets PATCH to 0 | | PATCH (Z) | Backward-compatible bug fix only | — |
X.Y.Z — non-negative integers, no leading zeroes, each MUST increase numerically.0.y.z is for initial development — anything MAY change, public API SHOULD NOT be considered stable.1.0.0 defines the first stable public API.1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7[0-9A-Za-z-], MUST NOT be empty, numeric identifiers MUST NOT have leading zeroes.1.0.0-alpha < 1.0.0+ and dot-separated identifiers: 1.0.0+20130313, 1.0.0-beta+exp.sha.5114f85Compare identifiers left to right: MAJOR → MINOR → PATCH → pre-release (build metadata ignored).
Pre-release precedence example:
1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0
Pre-release identifier comparison rules:
| Pitfall | Correct behaviour |
|---|---|
| v1.2.3 is not a SemVer string | The SemVer string is 1.2.3; the v prefix is a tag naming convention, not part of the spec |
| Modifying a released version | MUST NOT be done — release a new version |
| Leading zeroes (01.2.3, 1.02.3) | MUST NOT appear in any numeric identifier |
| Bumping MAJOR for every deprecation | Deprecations warrant a MINOR bump; removal warrants a MAJOR bump |
| Skipping the deprecation MINOR release | At least one MINOR release with the deprecation MUST precede removal |
0.1.0 and increment MINOR for each subsequent release.0.y.z range.1.0.0 when the software is used in production or has a stable API that users depend on.Named groups (PCRE / Python / Go):
^(?P<major>0|[1-9]\d*)\.(?P<minor>0|[1-9]\d*)\.(?P<patch>0|[1-9]\d*)(?:-(?P<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?P<buildmetadata>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
Numbered groups (ECMAScript / JavaScript):
^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
When releasing a new version, verify:
vX.Y.Z convention (e.g. git tag v1.2.3) while the SemVer string itself is 1.2.3tools
Guidance for designing charts, graphs, plots, dashboards, and data visualizations that communicate clearly and persuade. Use when creating or reviewing a visualization, choosing a chart type, picking a color palette, decluttering a busy graphic, fixing misleading axes or proportions, building a dashboard, annotating a figure, or turning data into a presentation, report, or data-driven story. Grounded in the standard data-visualization literature (Knaflic, Tufte, Cleveland & McGill, Cairo, Wilke, Munzner, Few, Berinato). Covers chart selection, graphical perception and encoding, color and accessibility, decluttering, graphical integrity, dashboards, and narrative. Does NOT cover building data pipelines or ETL, statistical modeling or analysis methods, BI tool/vendor selection, or general UI/UX layout (see ux-design-principles). Tool-agnostic, with optional Python recipes.
development
Architect and implement production-grade microservices systems in TypeScript (NestJS) and Python (FastAPI), including resilience, observability, testing, deployment, and migration guidance.
development
--- name: databricks-genie-spaces-best-practices description: Design, configure, curate, govern, monitor, and integrate Databricks AI/BI Genie Spaces — the natural-language-to-SQL surface over Unity Catalog. Covers space scoping, general instructions, parameterized example SQL, SQL functions, trusted assets, JOIN configuration, knowledge store, certified queries, benchmarks, monitoring tab, feedback loops, the Genie Conversation API, governance via Unity Catalog (row filters, column masks, embed
tools
Implement OTP and passwordless authentication on AWS for TypeScript projects using Cognito CUSTOM_AUTH triggers (default) or a custom DynamoDB-backed flow, with SES (email) and SNS (SMS) delivery. Use when the user mentions OTP, one-time password, passwordless login, magic link, Cognito custom auth, DefineAuthChallenge, CreateAuthChallenge, VerifyAuthChallengeResponse, SES verification email, SNS SMS code, or MFA over email/SMS. Covers architecture decision (Cognito vs custom), Lambda trigger handlers, SES/SNS notifiers, DynamoDB schema with TTL, rate limiting, constant-time comparison, threat model (enumeration, replay, brute force), and aws-sdk-client-mock testing.