.claude/skills/version-manager/SKILL.md
Guardrails for edits to core/versioning/version-manager.js covering semver validation, deprecation, migrations, and compatibility rules. Use when changing version registration or migration handling.
npx skillsauth add thefixer3x/onasis-gateway version-managerInstall 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.
This skill applies when modifying the Version Manager (core/versioning/version-manager.js).
The Version Manager provides:
// MUST validate version format before registration
registerVersion(serviceId, version, config) {
if (!semver.valid(version)) {
throw new Error(`Invalid version format: ${version}`);
}
// Continue with registration
}
// MUST detect these as breaking changes:
const breakingChangeTypes = [
'endpoint_removed',
'method_changed',
'path_changed',
'required_parameter_added',
'required_parameter_removed',
'parameter_type_changed',
'auth_type_changed',
'baseUrl_changed'
];
// Compatibility MUST be false if any breaking changes exist
compatibility.compatible = compatibility.breakingChanges.length === 0;
// MUST include metadata on registration
this.supportedVersions.set(key, {
...config,
registeredAt: new Date(),
deprecated: false
});
// MUST create compatibility mappings
this.createCompatibilityMappings(serviceId, version, config);
// MUST emit registration event
this.emit('version:registered', { serviceId, version, config });
// MUST follow deprecation protocol
deprecateVersion(serviceId, version, reason) {
config.deprecated = true;
config.deprecationReason = reason;
config.deprecatedAt = new Date();
this.emit('version:deprecated', { serviceId, version, reason });
}
// MUST register handlers for version transitions
registerMigrationHandler(serviceId, fromVersion, toVersion, handler) {
const key = `${serviceId}:${fromVersion}->${toVersion}`;
this.migrationHandlers.set(key, handler);
}
// MUST emit events for version lifecycle
this.emit('version:registered', { serviceId, version, config });
this.emit('version:deprecated', { serviceId, version, reason });
this.emit('migration:completed', { serviceId, fromVersion, toVersion, data });
this.emit('migration:failed', { serviceId, fromVersion, toVersion, error });
Day 0: Mark as deprecated, emit 'version:deprecated' event
Day 1-7: Log warnings for all requests using deprecated version
Day 8-14: Return deprecation headers in responses
Day 15-29: Increase warning severity
Day 30+: Safe to remove (after migration verification)
| Change Type | Severity | Version Bump | Migration Required | |-------------|----------|--------------|-------------------| | Endpoint removed | BREAKING | Major | Yes | | Method changed | BREAKING | Major | Yes | | Path changed | BREAKING | Major | Yes | | Required param added | BREAKING | Major | Yes | | Required param removed | BREAKING | Major | Yes | | Param type changed | BREAKING | Major | Yes | | Auth type changed | BREAKING | Major | Yes | | baseUrl_changed | BREAKING | Major | Yes | | Optional param added | Compatible | Minor | No | | New endpoint added | Compatible | Minor | No | | Bug fix | Compatible | Patch | No |
REGISTERED -> ACTIVE -> DEPRECATED -> REMOVED
^ |
+-----------+ (rollback possible before deprecation)
| Component | Integration Method |
|-----------|-------------------|
| Base Client | Version passed in request options |
| Metrics Collector | Version label in request metrics |
| REST API | /v{version}/ path prefix |
| MCP Server | Version header in tool calls |
| Vendor Abstraction | Version-specific vendor mappings |
tools
# Onasis Gateway — Agent & IDE Skill Guide > **Read this file first.** This guide is the primary reference for AI agents (Claude, Cursor, Copilot, etc.) and developers working with the Onasis Gateway API integration repository. It covers all 16 third-party API integrations, Postman MCP setup, auth patterns, environment variables, and recommended workflows. --- ## Table of Contents 1. [Overview](#overview) 2. [Postman MCP Integration](#postman-mcp-integration) 3. [16 API Integrations](#16-api
tools
Guardrails for edits to core/abstraction/vendor-abstraction.js that preserve vendor isolation, mappings, fallback selection, and stable client-facing schemas. Use when adding/removing vendors, operations, or schema fields.
tools
Use this skill when adding new methods, tools, or schema changes to the `@lanonasis/mem-intel-sdk`. Trigger when the user wants to extend the SDK with new capabilities, add a new MCP tool to mcp-core, add a new intelligence endpoint, or migrate the behavior_patterns schema. Also trigger when the user says things like "add a new tool to the SDK", "extend mem-intel-sdk", "add behavior X to the MCP server", or "update the SDK schema." Do NOT use for general behavior pattern recording/recall — use the behavior-memory skill for that.
data-ai
Guardrails for edits to core/monitoring/metrics-collector.js to preserve Prometheus metric names, labels, cardinality limits, and emission patterns. Use when adding or changing metrics or collectors.