AgentToolHub
Skill

react-native-ai-skills

react-native-ai-skills — a Claude Code skill from callstackincubator/react-native-ai

Features

  • ✓🚀 **Instant AI** - Use built-in system models immediately without downloads
  • ✓🔒 **Privacy-first** - All processing happens on-device, data stays local
  • ✓🎯 **Vercel AI SDK compatible** - Drop-in replacement with familiar APIs
  • ✓🎨 **Complete toolkit** - Text generation, embeddings, transcription, speech synthesis

Installation Guide

bash
npm install @react-native-ai/apple

No additional linking needed, works immediately on iOS devices (autolinked).

#### Usage

typescript
import { apple } from '@react-native-ai/apple'
import {
  generateText,
  embed,
  experimental_transcribe as transcribe,
  experimental_generateSpeech as speech,
} from 'ai'

// Text generation with Apple Intelligence
const { text } = await generateText({
  model: apple(),
  prompt: 'Explain quantum computing',
})

// Generate embeddings
const { embedding } = await embed({
  model: apple.textEmbeddingModel(),
  value: 'Hello world',
})

// Transcribe audio
const { text } = await transcribe({
  model: apple.transcriptionModel(),
  audio: audioBuffer,
})

// Text-to-speech
const { audio } = await speech({
  model: apple.speechModel(),
  text: 'Hello from Apple!',
})

#### Availability

| Feature | iOS Version | Additional Requirements |
| ---------------- | ----------- | -------------------------- |
| Text Generation | iOS 26+ | Apple Intelligence device |
| Embeddings | iOS 17+ | - |
| Transcription | iOS 26+ | - |
| Speech Synthesis | iOS 13+ | iOS 17+ for Personal Voice |

See the Apple documentation for detailed setup and usage guides.

---

Llama

Run any GGUF model on-device using llama.rn. Requires download - models are downloaded from HuggingFace.

#### Supported Features

| Feature | Method | Description |
| --------------- | ---------------------------- | --------------------------------------------- |
| Text Generation | llama.languageModel() | Chat, completion, streaming, reasoning models |
| Embeddings | llama.textEmbeddingModel() | Text embeddings for RAG and similarity search |
| Speech | llama.speechModel() | Text-to-speech with vocoder models |

#### Installation

bash
npm install @react-native-ai/llama llama.rn react-native-blob-util

#### Usage

typescript
import { llama } from '@react-native-ai/llama'
import { generateText, streamText } from 'ai'

// Create model instance (Model ID format: "owner/repo/filename.gguf")
const model = llama.languageModel(
  'ggml-org/SmolLM3-3B-GGUF/SmolLM3-Q4_K_M.gguf'
)

// Download from HuggingFace (with progress)
await model.download((progress) => {
  console.log(`Downloading: ${progress.percentage}%`)
})

// Initialize model (loads into memory)
await model.prepare()

// Generate text
const { text } = await generateText({
  model,
  messages: [
    { role: 'system', content: 'You are a helpful assistant.' },
    { role: 'user', content: 'Write a haiku about coding.' },
  ],
})

// Cleanup when done
await model.unload()

#### Model Compatibility

Any GGUF model from HuggingFace can be used. Use the format owner/repo/filename.gguf as the model ID. Popular choices include:

  • ggml-org/SmolLM3-3B-GGUF/SmolLM3-Q4_K_M.gguf

  • bartowski/Llama-3.2-3B-Instruct-GGUF/Llama-3.2-3B-Instruct-Q4_K_M.gguf

  • Qwen/Qwen2.5-1.5B-Instruct-GGUF/qwen2.5-1.5b-instruct-q4_k_m.gguf
  • 📚 View full Llama documentation →

    ---

    MLC

    Run popular open-source LLMs directly on-device using MLC LLM's optimized runtime. Requires download - models must be downloaded before use.

    #### Installation

    bash
    npm install @react-native-ai/mlc

    Requires the "Increased Memory Limit" capability in Xcode. See the getting started guide for setup instructions.

    #### Usage

    typescript
    import { mlc } from '@react-native-ai/mlc'
    import { generateText } from 'ai'
    
    // Create model instance
    const model = mlc.languageModel('Llama-3.2-3B-Instruct')
    
    // Download and prepare model (one-time setup)
    await model.download()
    await model.prepare()
    
    // Generate response with Llama via MLC engine
    const { text } = await generateText({
      model,
      prompt: 'Explain quantum computing',
    })

    #### Available Models

    | Model ID | Size |
    | ------------------------ | ------ |
    | Llama-3.2-3B-Instruct | ~2GB |
    | Phi-3-mini-4k-instruct | ~2.5GB |
    | Mistral-7B-Instruct | ~4.5GB |
    | Qwen2.5-1.5B-Instruct | ~1GB |

    [!NOTE]

    MLC requires iOS devices with sufficient memory (1-8GB depending on model). The prebuilt runtime supports the models listed above. For other models or custom configurations, you'll need to recompile the MLC runtime from source.

    Reviews