Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    amnadtaowsoam

    differential-ota-updates

    amnadtaowsoam/differential-ota-updates
    DevOps
    1

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    Efficient over-the-air firmware updates using binary diffing to minimize bandwidth and update time

    SKILL.md

    Differential Ota Updates

    Skill Profile

    (Select at least one profile to enable specific modules)

    • DevOps
    • Backend
    • Frontend
    • AI-RAG
    • Security Critical

    Overview

    Differential OTA (Over-The-Air) Updates use binary diffing to transmit only the changes between firmware versions, dramatically reducing bandwidth requirements and update time for large IoT fleets.

    Why This Matters

    • :
    • :
    • :

    Core Concepts & Rules

    1. Core Principles

    • Follow established patterns and conventions
    • Maintain consistency across codebase
    • Document decisions and trade-offs

    2. Implementation Guidelines

    • Start with the simplest viable solution
    • Iterate based on feedback and requirements
    • Test thoroughly before deployment

    Inputs / Outputs / Contracts

    • Inputs:
      • <e.g., env vars, request payload, file paths, schema>
    • Entry Conditions:
      • <Pre-requisites: e.g., Repo initialized, DB running, specific branch checked out>
    • Outputs:
      • <e.g., artifacts (PR diff, docs, tests, dashboard JSON)>
    • Artifacts Required (Deliverables):
      • <e.g., Code Diff, Unit Tests, Migration Script, API Docs>
    • Acceptance Evidence:
      • <e.g., Test Report (screenshot/log), Benchmark Result, Security Scan Report>
    • Success Criteria:
      • <e.g., p95 < 300ms, coverage ≥ 80%>

    Skill Composition

    • Depends on: None
    • Compatible with: None
    • Conflicts with: None
    • Related Skills: None

    Quick Start

    1. Install dependencies:

      pip install bsdiff4 courgette cryptography
      
    2. Generate patch:

      diff_gen = DiffGenerator(algorithm=DiffAlgorithm.BSDIFF)
      patch = diff_gen.generate_patch("v1.0.bin", "v1.1.bin", "v1.0_to_v1.1.patch")
      
    3. Apply patch:

      patch_applier = PatchApplier(verify_signature=True)
      success = patch_applier.apply_patch("patch.patch", "current.bin", "new.bin")
      
    4. Schedule update:

      ota = OTAUpdateManager(diff_gen, patch_applier)
      job = ota.schedule_update("device_001", "1.1.0")
      

    Assumptions / Constraints / Non-goals

    • Assumptions:
      • Development environment is properly configured
      • Required dependencies are available
      • Team has basic understanding of domain
    • Constraints:
      • Must follow existing codebase conventions
      • Time and resource limitations
      • Compatibility requirements
    • Non-goals:
      • This skill does not cover edge cases outside scope
      • Not a replacement for formal training

    Compatibility & Prerequisites

    • Supported Versions:
      • Python 3.8+
      • Node.js 16+
      • Modern browsers (Chrome, Firefox, Safari, Edge)
    • Required AI Tools:
      • Code editor (VS Code recommended)
      • Testing framework appropriate for language
      • Version control (Git)
    • Dependencies:
      • Language-specific package manager
      • Build tools
      • Testing libraries
    • Environment Setup:
      • .env.example keys: API_KEY, DATABASE_URL (no values)

    Test Scenario Matrix (QA Strategy)

    Type Focus Area Required Scenarios / Mocks
    Unit Core Logic Must cover primary logic and at least 3 edge/error cases. Target minimum 80% coverage
    Integration DB / API All external API calls or database connections must be mocked during unit tests
    E2E User Journey Critical user flows to test
    Performance Latency / Load Benchmark requirements
    Security Vuln / Auth SAST/DAST or dependency audit
    Frontend UX / A11y Accessibility checklist (WCAG), Performance Budget (Lighthouse score)

    Technical Guardrails & Security Threat Model

    1. Security & Privacy (Threat Model)

    • Top Threats: Injection attacks, authentication bypass, data exposure
    • Data Handling: Sanitize all user inputs to prevent Injection attacks. Never log raw PII
    • Secrets Management: No hardcoded API keys. Use Env Vars/Secrets Manager
    • Authorization: Validate user permissions before state changes

    2. Performance & Resources

    • Execution Efficiency: Consider time complexity for algorithms
    • Memory Management: Use streams/pagination for large data
    • Resource Cleanup: Close DB connections/file handlers in finally blocks

    3. Architecture & Scalability

    • Design Pattern: Follow SOLID principles, use Dependency Injection
    • Modularity: Decouple logic from UI/Frameworks

    4. Observability & Reliability

    • Logging Standards: Structured JSON, include trace IDs request_id
    • Metrics: Track error_rate, latency, queue_depth
    • Error Handling: Standardized error codes, no bare except
    • Observability Artifacts:
      • Log Fields: timestamp, level, message, request_id
      • Metrics: request_count, error_count, response_time
      • Dashboards/Alerts: High Error Rate > 5%

    Agent Directives & Error Recovery

    (ข้อกำหนดสำหรับ AI Agent ในการคิดและแก้ปัญหาเมื่อเกิดข้อผิดพลาด)

    • Thinking Process: Analyze root cause before fixing. Do not brute-force.
    • Fallback Strategy: Stop after 3 failed test attempts. Output root cause and ask for human intervention/clarification.
    • Self-Review: Check against Guardrails & Anti-patterns before finalizing.
    • Output Constraints: Output ONLY the modified code block. Do not explain unless asked.

    Definition of Done (DoD) Checklist

    • Tests passed + coverage met
    • Lint/Typecheck passed
    • Logging/Metrics/Trace implemented
    • Security checks passed
    • Documentation/Changelog updated
    • Accessibility/Performance requirements met (if frontend)

    Anti-patterns

    1. Full Image Updates: Always sending complete firmware

      • Why it's bad: Wastes bandwidth, slow updates
      • Solution: Implement differential updates
    2. No Rollback: No way to revert failed updates

      • Why it's bad: Bricked devices, customer impact
      • Solution: Implement rollback mechanism
    3. No Signature Verification: Accepting unverified patches

      • Why it's bad: Security vulnerability
      • Solution: Implement patch signing and verification
    4. Immediate Full Rollout: Updating all devices at once

      • Why it's bad: Widespread failures
      • Solution: Implement phased rollout

    Reference Links & Examples

    • Internal documentation and examples
    • Official documentation and best practices
    • Community resources and discussions

    Versioning & Changelog

    • Version: 1.0.0
    • Changelog:
      • 2026-02-22: Initial version with complete template structure
    Recommended Servers
    ThinAir Data
    ThinAir Data
    Docfork
    Docfork
    fillin
    fillin
    Repository
    amnadtaowsoam/cerebraskills
    Files