home / skills / willsigmon / sigstack / leavn-features

This skill helps you understand and extend Leavn Bible app features across bible translation, search, reading plans, sermons, community, and guided mode.

npx playbooks add skill willsigmon/sigstack --skill leavn-features

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
1.2 KB
---
name: Leavn Features
description: Leavn app features - Bible, search, reading plans, sermons, community, guided mode
allowed-tools: Read, Edit, Grep, Glob
---

# Leavn Features

Feature expertise for Leavn Bible app.

## Bible
- Chapter rendering with verse highlighting
- Translation switching (ESV, NIV, KJV, etc.)
- AI transformations (simplify, kids mode)
- Scripture database (SQLite FTS5)
- Reading modes (continuous, paginated)

## Search
- `UnifiedSearchService` - central search
- FTS5 full-text search on Scripture
- 50ms debounce for live search
- History and suggestions

## Reading Plans
- Plan progress tracking
- Streak calculations
- Day completion state
- Widget integration
- Plan catalog/discovery

## Sermons
- Recording with transcription
- AI analysis/summarization
- Playback with highlights
- Church directory integration
- Import from external sources

## Community
- Prayer wall (public/private)
- Groups with invites
- Messaging/comments
- CloudKit sync
- Content moderation

## Guided Mode
- Audio orchestration (TTS + ambient)
- Phase management (intro → scripture → reflection)
- Caption synchronization
- Scripture meditation flows

Use when: Feature bugs, understanding architecture, adding functionality

Overview

This skill describes the Leavn app feature set and how each component behaves in production. It outlines Bible rendering, search, reading plans, sermons, community features, and guided mode so engineers and product owners can diagnose issues or extend functionality. Use it as a reference for feature-level behavior and integration touchpoints.

How this skill works

The skill inspects UI behavior, backend integrations, and data flows for each feature. It documents key services (like UnifiedSearchService and SQLite FTS5), data stores, and client-side orchestration such as reading modes, audio orchestration, and widget sync. It highlights where AI transformations, transcription, and CloudKit sync affect state and user-facing outputs.

When to use it

  • Investigating feature bugs in Bible rendering, search, or reading plans
  • Planning and implementing new functionality or translations
  • Integrating sermon import, transcription, or church directory features
  • Designing community workflows, moderation, and CloudKit sync
  • Optimizing live search, reading progress, or guided audio flows

Best practices

  • Rely on SQLite FTS5 for scripture search and keep UnifiedSearchService as the central query layer
  • Debounce live-search inputs (~50ms) and persist history/suggestions for UX continuity
  • Track plan progress and streaks on the client with authoritative server sync to avoid conflicts
  • Keep AI transformations idempotent and cache results to minimize repeated processing
  • Use phased orchestration for guided mode (intro → scripture → reflection) with caption sync for accessibility

Example use cases

  • A developer fixes verse highlighting that breaks when switching translations and verifies behavior across paginated and continuous modes
  • Adding a new translation and ensuring FTS5 indexes and search suggestions update without degrading performance
  • Implementing sermon transcription with AI summarization and wiring playback highlights back to the sermon record
  • Creating a reading plan widget that reflects day completion and streaks while syncing with the main app
  • Building a private prayer wall group with invite flows, message moderation hooks, and CloudKit sync

FAQ

How does search stay fast across large scripture sets?

Search uses SQLite FTS5 with a centralized UnifiedSearchService and a 50ms debounce on live input to keep queries responsive and cacheable.

Where are reading plan progress and streaks calculated?

Progress and streaks are calculated on the client for immediate feedback and reconciled with server-state or widget updates to ensure consistency.