Autonomous Api Drift Healer logo

Autonomous Api Drift Healer

Community
roedyrustam
autonomous-api-drift-healer

Autonomous API schema drift detection and breaking change healing / Deteksi drift skema API otonom dan perbaikan breaking change.

Overview

Publisherroedyrustam
Repositoryvibes-plug
Skill nameautonomous-api-drift-healer
Stars
117
Forks
27
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by roedyrustam on GitHub. Read the source before you install it.

Installation

Install the Autonomous Api Drift Healer AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/roedyrustam/vibes-plug/tree/main/skills/autonomous-api-drift-healer
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/roedyrustam/vibes-plug.git /tmp/vibes-plug
mkdir -p .claude/skills
cp -r /tmp/vibes-plug/skills/autonomous-api-drift-healer .claude/skills/autonomous-api-drift-healer
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Autonomous Api Drift Healer in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Autonomous Api Drift Healer on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Autonomous Api Drift Healer is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

autonomous-api-drift-healer — vibes-plug Skill

English | Bahasa Indonesia


English

Orchestration & Integration

  • Upstream Specs & Contract SSoT: api-design-expert, spec-driven-development-expert, prd-architect
  • Client & SDK Codegen: openapi-swagger-codegen-expert, typescript-expert, tanstack-query-expert
  • Testing & Verification Sandbox: e2e-testing-expert, ephemeral-wasm-sandbox-executor, autonomous-tdd-debugger
  • Debt Auditing & Cleanup: zero-tech-debt-auditor, anti-slop
  • Lifecycle & Governance: zero-to-prod-orchestrator, brainstorming, session-memory-manager

Description

Production guide for architecting autonomous API drift detection and self-healing pipelines across microservices and fullstack applications. Continuously analyzes schema differences across OpenAPI 3.1 specifications, gRPC Protocol Buffers, and GraphQL schemas, automatically synthesizing backward-compatible adapter layers, updating frontend Zod schemas, and issuing self-healing pull requests to eliminate client-server desynchronization.

Trigger Conditions

Activate this skill when:

  • Backend API endpoints or payload schemas are updated and frontend client calls risk desynchronization.
  • Migrating between major API versions while requiring zero downtime for existing mobile and web clients.
  • Auditing microservice contracts for breaking changes prior to deployment.
  • Generating automated backward-compatibility shims when deprecating legacy fields.

Core Concepts & Patterns

1. API Drift Classification Taxonomy
Drift TypeSeverityImpactSelf-Healing Strategy
Field RenamingHigh (Breaking)Old clients crash on undefined propertySynthesize getter shim translating old field name to new name
New Required ParamHigh (Breaking)Old client requests rejected with 400 Bad RequestIntroduce server-side default fallback in middleware
Type Broadening (e.g. string $\to$ string | string[])MediumDownstream callers may fail on single-item assumptionsSynthesize client normalizer normalizing to array
Field Addition (Optional)Low (Additive)Non-breakingRegenerate TypeScript types and Zod schemas automatically
2. Autonomous Schema Drift Detector (TypeScript Implementation)
typescript
export interface SchemaProperty {
  type: string;
  required?: boolean;
}

export interface EndpointContract {
  path: string;
  method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
  properties: Record<string, SchemaProperty>;
}

export interface DriftReport {
  breakingChanges: string[];
  additiveChanges: string[];
  hasDrift: boolean;
}

export class AutonomousApiDriftHealer {
  public static compareContracts(
    baseline: EndpointContract,
    updated: EndpointContract
  ): DriftReport {
    const breakingChanges: string[] = [];
    const additiveChanges: string[] = [];

    // Check for removed properties
    for (const [key, baseProp] of Object.entries(baseline.properties)) {
      if (!updated.properties[key]) {
        breakingChanges.push(`Property "${key}" of type "${baseProp.type}" was removed.`);
      } else if (baseProp.type !== updated.properties[key].type) {
        breakingChanges.push(
          `Property "${key}" changed type from "${baseProp.type}" to "${updated.properties[key].type}".`
        );
      }
    }

    // Check for newly introduced required properties
    for (const [key, updatedProp] of Object.entries(updated.properties)) {
      if (!baseline.properties[key]) {
        if (updatedProp.required) {
          breakingChanges.push(`New required property "${key}" was added.`);
        } else {
          additiveChanges.push(`New optional property "${key}" added.`);
        }
      }
    }

    return {
      breakingChanges,
      additiveChanges,
      hasDrift: breakingChanges.length > 0 || additiveChanges.length > 0
    };
  }

  public static generateBackwardCompatibleShim(
    oldField: string,
    newField: string
  ): string {
    return [
      `// Auto-generated backward compatibility adapter`,
      `export function adaptLegacyPayload<T extends Record<string, unknown>>(data: T): T & Record<string, unknown> {`,
      `  if (data && typeof data === 'object') {`,
      `    if (data['${newField}'] !== undefined && data['${oldField}'] === undefined) {`,
      `      return { ...data, ['${oldField}']: data['${newField}'] };`,
      `    }`,
      `  }`,
      `  return data;`,
      `}`
    ].join('\n');
  }
}
3. Continuous Self-Healing Loop
[Git Commit: Backend Schema Edit]
               │
               ▼
[Drift Detection Sentinel]
  ├── Compares Staging OpenAPI against Production Spec
  └── Generates Drift Classification Report
               │
         Is Breaking?
        ┌──────┴──────┐
        ▼             ▼
      (Yes)          (No)
        │             │
        │             ▼
        │     Update Frontend Types
        ▼
[Synthesize Compatibility Layer]
  ├── Inject Middleware Default Mappings
  ├── Update Zod Client Validation Schemas
  └── Run E2E Test Suite via Ephemeral Sandbox
               │
               ▼
[Generate Automated Self-Healing PR]

Best Practices

  1. Enforce Contract Verification in CI: Block merge requests that introduce unannounced breaking schema changes without adapters.
  2. Auto-Generate Compatibility Shims: When deprecating fields, keep them active for at least one minor release cycle via transformation adapters.
  3. Keep Zod Schemas Synchronized: Automatically run code generation from OpenAPI specs so frontend types and runtime validators stay in lockstep.
  4. Log Adapter Usage: Track telemetry on how often legacy adapters are triggered to safely decommission them when usage reaches zero.

Common Pitfalls to Avoid

Anti-PatternOperational RiskEngineering Remedy
Deleting an API field without client auditInstant client crashes on mobile apps where updates are delayedMark field @deprecated and synthesize compatibility getter
Silently ignoring unmapped fieldsData loss and corrupted downstream stateValidate payloads strictly using Zod .strict() or .passthrough()
Manual manual updating of API typesDrift builds up, leading to painful quarterly migrationsAutomate codegen via openapi-typescript on every commit

Runtime Schema Drift Detector & Adapter Coercer (TypeScript)
typescript
export interface FieldMigrationRule {
  legacyField: string;
  modernField: string;
}

export function healPayloadDrift(
  rawPayload: Record<string, unknown>,
  rules: readonly FieldMigrationRule[]
): { normalized: Record<string, unknown>; driftedFields: string[] } {
  const normalized: Record<string, unknown> = { ...rawPayload };
  const driftedFields: string[] = [];

  for (const rule of rules) {
    if (rule.legacyField in normalized && !(rule.modernField in normalized)) {
      normalized[rule.modernField] = normalized[rule.legacyField];
      delete normalized[rule.legacyField];
      driftedFields.push(rule.legacyField);
    }
  }

  return { normalized, driftedFields };
}

Sovereign Execution, Token Efficiency & Invariants

DimensionSovereign Mandate & Deterministic Contract
Frontier Model CascadeMedium / High (GPT-5.6 Sol Medium, Gemini 4 Argon, Claude Sonnet 5.5 High, Grok 4.7 High Fast)
Availability FallbackGemini 4 Argon/Pro -> Gemini 3.8 Flash; Claude Opus 5.5 -> Claude Opus 4.6 (Zero unhandled missing-model errors)
KV-Cache & Token ProtocolPin static instructions & schemas at prompt prefix (kv-cache-prefix-optimizer); pass surgical CONTEXT_MAP.md slices (<250 tokens/call) during Swarm Fan-Out
SaaT CLI & MCP DispatchCLI: vibes skill exec autonomous-api-drift-healer <audit|eval|verify|generate|blueprint> / MCP: vibes_skill_dispatch, vibes_ast_query, vibes_compile_cache, vibes_optimize_budget, vibes_verify_gate
NFR & Anti-Slop InvariantsP99 API Gateway Latency < 85ms, OpenAPI 3.1 / TypeSpec strict schema parity, RFC 9457 Problem Details error contracts, Idempotency-Key enforcement; 100% complete zero-placeholder output verified via node scripts/check-anti-slop.js --strict


Bahasa Indonesia

Integrasi Orkestrasi

  • Spesifikasi Hulu & SSoT Kontrak: api-design-expert, spec-driven-development-expert, prd-architect
  • Codegen SDK & Klien: openapi-swagger-codegen-expert, typescript-expert, tanstack-query-expert
  • Sandbox Pengujian & Verifikasi: e2e-testing-expert, ephemeral-wasm-sandbox-executor, autonomous-tdd-debugger
  • Audit Utang Teknis & Pembersihan: zero-tech-debt-auditor, anti-slop
  • Siklus Hidup & Tata Kelola: zero-to-prod-orchestrator, brainstorming, session-memory-manager

Deskripsi

Panduan produksi untuk merancang pipeline deteksi drift skema API dan penyembuhan mandiri (self-healing) pada aplikasi fullstack dan microservices. Menganalisis perbedaan skema secara berkesinambungan pada spesifikasi OpenAPI 3.1, gRPC Protocol Buffers, dan GraphQL, menghasilkan adapter kompatibilitas mundur (backward-compatible), memperbarui skema Zod pada frontend, serta membuat pull request otomatis untuk mencegah desinkronisasi client-server.

Kondisi Pemicu

Aktifkan skill ini ketika:

  • Endpoint API backend atau skema payload diubah dan panggilan frontend berisiko mengalami desinkronisasi.
  • Melakukan migrasi antar versi API utama dengan target nol downtime pada aplikasi web dan mobile.
  • Mengaudit kontrak microservices sebelum proses deploy ke produksi.
  • Menghasilkan shim kompatibilitas mundur saat menghapus atau mengubah nama properti lawas.

Konsep Inti & Pola Praktik

1. Klasifikasi Perubahan Skema (Drift Classification)
  • Perubahan Merusak (Breaking): Menghapus field yang sudah ada, mengubah tipe data (misal dari string ke number), atau menambahkan parameter wajib (required) baru. Solusi: Buat adapter transformasi atau nilai default di middleware.
  • Perubahan Tambahan (Additive): Menambahkan field opsional baru. Solusi: Perbarui tipe TypeScript dan skema Zod secara otomatis.
2. Pipeline Penyembuhan Mandiri (Self-Healing Loop)
  1. Deteksi Perubahan: Bandingkan spesifikasi OpenAPI backend terkini dengan skema klien yang ada.
  2. Pembuatan Adapter: Jika ditemukan penggantian nama field, buat adapter getter untuk menerjemahkan field lama ke field baru.
  3. Pembaruan Tipe Klien: Jalankan generator tipe TypeScript dan skema validasi runtime Zod.
  4. Verifikasi Pengujian: Uji integrasi dalam sandbox untuk memastikan klien lama tetap berfungsi.
  5. Pull Request Otomatis: Buat cabang git dan PR dengan deskripsi perubahan yang jelas.

Praktik Terbaik

  1. Jadikan Pengecekan Kontrak Sebagai Gerbang CI: Gagalkan proses merge jika terdapat breaking change yang belum dilengkapi adapter kompatibilitas.
  2. Pertahankan Field Lawas Selama Masa Transisi: Jangan langsung menghapus properti; tandai sebagai @deprecated dan gunakan adapter minimal selama satu siklus rilis.
  3. Sinkronkan Skema Zod: Pastikan validator frontend selalu diperbarui langsung dari kontrak OpenAPI.
  4. Pantau Penggunaan Adapter: Catat metrik penggunaan adapter untuk mengetahui kapan modul lawas aman dihapus sepenuhnya.

Jebakan Umum yang Harus Dihindari

Praktik BurukDampak BurukSolusi Rekayasa
Menghapus field API tanpa memeriksa versi aplikasi mobileAplikasi versi lama langsung crash saat dibuka penggunaGunakan adapter kompatibilitas mundur pada middleware
Mengabaikan properti tambahan secara diam-diamTerjadi kehilangan data saat payload disimpan kembaliGunakan validasi eksplisit dengan skema Zod
Mengetik ulang interface API secara manual di frontendTerjadi akumulasi desinkronisasi tipe dataGunakan otomatisasi codegen dari OpenAPI pada setiap commit

Matriks Eksekusi Berdaulat, Efisiensi Token & Invarian

DimensiMandat Berdaulat & Kontrak Deterministik
Kaskade Model FrontierMedium / High (GPT-5.6 Sol Medium, Gemini 4 Argon, Claude Sonnet 5.5 High, Grok 4.7 High Fast)
Invarian Fallback KetersediaanGemini 4 Argon/Pro -> Gemini 3.8 Flash; Claude Opus 5.5 -> Claude Opus 4.6 (Bebas gagal saat model belum tersedia/kuota penuh)
Protokol Hemat Token & KV-CacheKunci instruksi & skema statis di prefix awal (kv-cache-prefix-optimizer); kirim potongan CONTEXT_MAP.md (<250 token/panggilan) saat Fan-Out
Eksekusi SaaT CLI & MCPCLI: vibes skill exec autonomous-api-drift-healer <audit|eval|verify|generate|blueprint> / MCP: vibes_skill_dispatch, vibes_ast_query, vibes_compile_cache, vibes_optimize_budget, vibes_verify_gate
Invarian NFR & Anti-SlopLatensi P99 API < 85ms, paritas skema ketat OpenAPI 3.1 / TypeSpec, kontrak error RFC 9457 Problem Details, penegakan Idempotency-Key; kode 100% tuntas tanpa placeholder diverifikasi melalui node scripts/check-anti-slop.js --strict

Frequently asked questions

What does the Autonomous Api Drift Healer AI skill do?

Autonomous API schema drift detection and breaking change healing / Deteksi drift skema API otonom dan perbaikan breaking change.

Why use Autonomous Api Drift Healer on TypingMind?

Because you install it once and use it with any model. Autonomous Api Drift Healer is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Autonomous Api Drift Healer in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/roedyrustam/vibes-plug/tree/main/skills/autonomous-api-drift-healer. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Autonomous Api Drift Healer?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Autonomous Api Drift Healer?

As many as you like. As long as a model supports skills, you can use Autonomous Api Drift Healer with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Autonomous Api Drift Healer AI skill free?

Yes. It is published on GitHub by roedyrustam under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇