bible-lookup-helper
Expert assistant for Bible reference lookups and RPC function usage in the KR92 Bible Voice project. Use when fetching Bible verses, generating verse lookups, validating references, working with OSIS format, or choosing optimal lookup patterns.
When & Why to Use This Skill
The Bible Lookup Helper is a specialized Claude skill designed to streamline development for the KR92 Bible Voice project. It acts as an expert assistant for generating precise Supabase RPC function calls, validating OSIS reference formats, and normalizing multilingual Bible book names. By automating complex lookup patterns and providing instant access to schema details, it significantly reduces development time and ensures data integrity in Bible-related applications.
Use Cases
- Generating ready-to-use TypeScript code for Supabase RPC calls to fetch specific Bible verses, chapters, or ranges in Finnish and English.
- Validating and converting various Bible reference strings (e.g., '1. Joh.4:8') into standardized OSIS formats to ensure database consistency.
- Assisting developers in choosing the most efficient lookup patterns and RPC functions to optimize application performance and user experience.
- Providing instant mapping and normalization for Bible book aliases across different languages (Finnish/English) for robust search functionality.
- Retrieving detailed Bible study data, including KJV Strong's tags, through automated query generation.
| name | bible-lookup-helper |
|---|---|
| description | Expert assistant for Bible reference lookups and RPC function usage in the KR92 Bible Voice project. Use when fetching Bible verses, generating verse lookups, validating references, working with OSIS format, or choosing optimal lookup patterns. |
Bible Lookup Helper
Context Files (Read First)
For schema and API details, read from Docs/context/:
Docs/context/db-schema-short.md- Bible schema tablesDocs/context/supabase-map.md- RPC functions list
Capabilities
- Generate correct RPC function calls for Bible lookups
- Validate OSIS reference formats
- Suggest optimal lookup patterns (verse vs chapter vs range)
- Provide book name aliases and normalization
- Convert between different reference formats
Usage Examples
Example 1: Generate RPC call for single verse
User: "How do I fetch John 3:16 in Finnish?" Assistant:
const { data } = await supabase.rpc('get_verse_by_ref', {
p_ref_book: 'John',
p_chapter: 3,
p_verse: 16,
p_version_code: 'finstlk201',
p_language_code: 'fi'
});
Example 2: Generate RPC call for chapter
User: "Get all verses from Genesis chapter 1" Assistant:
const { data: verses } = await supabase.rpc('get_chapter_by_ref', {
p_ref_book: 'Genesis',
p_chapter: 1,
p_version_code: 'finstlk201',
p_language_code: 'fi'
});
Example 3: Validate reference format
User: "Is '1. Joh.4:8' a valid reference?" Assistant: Yes, this is valid. It follows the Finnish format for numbered books:
- Book: 1. Johannes (1 John)
- Chapter: 4
- Verse: 8
Alternative valid formats:
1 Joh.4:8(without period after number)1.Joh.4:8(no space)1 John 4:8(English)
Example 4: Convert reference formats
User: "Convert 'Joh.3:16' to OSIS format"
Assistant: OSIS format: John.3.16
Finnish formats accepted:
Joh.3:16(with colon)Joh.3.16(with period)Johannes 3:16(full name)
Available RPC Functions
Single Verse
get_verse_by_ref(p_ref_book, p_chapter, p_verse, p_version_code, p_language_code)
→ {osis, text_content, verse_id}
Full Chapter
get_chapter_by_ref(p_ref_book, p_chapter, p_version_code, p_language_code)
→ [{book_code, book_name, chapter_number, verse_number, osis, text_content, verse_id, version_code}]
Verse Range
get_verses_by_ref(p_ref_book, p_chapter, p_verses[], p_version_code, p_language_code)
→ Same as chapter but filtered
Verse Study (with Strong's)
get_verse_study_data(p_version_code, p_book_name, p_chapter, p_verse)
→ Full study data including KJV Strong's tags
Text Search
search_text(p_query, p_version_code, p_limit)
search_text_extended(p_query, p_version_code, p_limit)
→ [{book_name, chapter_number, verse_number, osis, text_content, verse_id}]
Supported Bible Versions
| Code | Name | Language |
|---|---|---|
finstlk201 |
Pyhä Raamattu (STLK 2017) - DEFAULT | Finnish |
finpr_finn |
Pyhä Raamattu (1933/1938) | Finnish |
KJV |
King James Version with Strong's | English |
Book Name Aliases
The system recognizes multiple formats:
- Finnish: Joh, Johannes, Johanneksen evankeliumi
- English: John, Jn, Gospel of John
- Numbered books: 1. Joh, 1 Joh, 1Joh, 1 John
- Moses books: 1. Moos, 1 Moos, Gen, Genesis
Best Practices
- Always use RPC functions - Never query tables directly
- Default version - Use
finstlk201for Finnish content - Cache results - Use React Query to cache lookups
- Preload - Load next chapter for better UX
- Error handling - Check for empty results
- OSIS format - Use for cross-version references
Performance Tips
- Single verse: ~20ms
- Full chapter: ~50ms
- Text search: ~100ms
- Use indexed fields for best performance
- Limit search results with
p_limitparameter
Reference Format Patterns
Valid Formats
Book.Chapter:Verse- e.g.,Joh.3:16Book.Chapter.Verse- e.g.,Joh.3.16Book Chapter:Verse- e.g.,John 3:16Number. Book.Chapter:Verse- e.g.,1. Joh.4:8
Range Formats
Book.Chapter:Verse-Verse- e.g.,Joh.3:16-17Book.Chapter:Verse-Chapter:Verse- e.g.,Joh.3:16-4:2
Related Documentation
- See
Docs/05-DEV.mdfor detailed lookup patterns - See
Docs/03-API.mdfor complete API reference