android-ble-gatt-status-133

Diagnose Android BLE GATT connection failures with status codes 133, 135, and 147.

Updated Jul 20, 2026
One-click install
npx skills add https://github.com/trancee/MeshLink-template --skill android-ble-gatt-status-133
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-ble-gatt-status-133
Source: https://github.com/trancee/MeshLink-template/tree/main/.agents/skills/android-ble-gatt-status-133
Command: npx skills add https://github.com/trancee/MeshLink-template --skill android-ble-gatt-status-133

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill resolves the common and frustrating Android Bluetooth GATT 133 error, which often masks underlying connection lifecycle, concurrency, or resource management issues in BLE applications.

Core Features & Use Cases

  • Lifecycle Management: Provides best practices for BluetoothGatt.close() timing and autoConnect parameter usage.
  • Concurrency Control: Offers strategies for serializing BLE operations to prevent race conditions.
  • Error Handling: Defines robust retry logic for transient connection failures and distinguishes between status codes 133, 135, and 147.
  • Use Case: Use this when your Android app experiences frequent connection drops or fails to connect to peripherals, allowing you to implement a stable, production-grade BLE connection state machine.

Quick Start

Analyze my current BluetoothGattCallback implementation and suggest improvements to prevent GATT 133 errors based on the provided connection state machine principles.

Frequently Asked Questions about android-ble-gatt-status-133

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why does my Android BLE connection fail with GATT 133 errors?

Android BLE GATT 133 errors usually mask underlying connection lifecycle, concurrency, or resource management issues. This skill diagnoses these failures by analyzing your BluetoothGattCallback implementation and enforcing strict state machine patterns, correct autoConnect semantics, and proper resource cleanup.

How do I resolve Bluetooth GATT status 133, 135, and 147 connection drops?

Resolving Bluetooth GATT status 133, 135, and 147 requires distinguishing between the specific codes and applying robust retry logic for transient failures. This skill provides error handling strategies and best practices to implement a stable, production-grade BLE connection state machine.

What is the best way to manage BluetoothGatt.close() timing to prevent BLE race conditions?

To prevent BLE race conditions, manage BluetoothGatt.close() timing by serializing BLE operations and adhering to strict state machine patterns. This skill offers concurrency control strategies to ensure proper resource cleanup within the BluetoothGatt callback and avoid connection drops.

How do I use the autoConnect parameter correctly in Android Bluetooth Low Energy development?

Correct autoConnect parameter usage in Android Bluetooth Low Energy development is critical for avoiding GATT 133 errors. This skill analyzes your connection lifecycle management and suggests improvements based on proper autoConnect semantics and state machine principles.

Does my mobile app need a BLE connection state machine for stable peripheral connections?

Yes, a strict BLE connection state machine is required for stable peripheral connections in mobile software engineering. This skill helps diagnose frequent connection drops and defines robust retry logic to ensure production-grade Bluetooth Low Energy central role development.