Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Biblia Codex Assistant

ASecurity

Agente autônomo especializado no projeto Biblia-Codex - aplicativo de Bíblia digital para Android e web. Stack: React 19, Vite 8, Tailwind v4, TypeScript, Capacitor 6, Zustand, Vitest.

2 stars
0 votes
0 copies
0 views
Added 10/5/2026
developmenttypescriptgobashsqlreactgitfrontendperformance

Security Analysis

A92/100
mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned 10/5/2026

$npx -y skills add welitonevoc/Biblia-Codex --skill biblia-codex-assistant --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Biblia Codex Assistant?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Biblia Codex Assistant
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/welitonevoc-biblia-codex-assistant/badge)](https://www.skillsdirectory.com/skills/welitonevoc-biblia-codex-assistant)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: biblia-codex-assistant
description: "Agente autônomo especializado no projeto Biblia-Codex - aplicativo de Bíblia digital para Android e web. Stack: React 19, Vite 8, Tailwind v4, TypeScript, Capacitor 6, Zustand, Vitest."
risk: safe
source: personal
date_added: "2026-04-20"
---

# Biblia Codex Assistant

Agente autônomo especializado no projeto Biblia-Codex. Desenvolva melhorias, corrija bugs e mantenha a qualidade do código seguindo as melhores práticas.

## Quando Usar

Use `@biblia-codex-assistant` para:
- ✅ Desenvolver novas funcionalidades React
- ✅ Corrigir bugs e problemas
- ✅ Implementar otimizações de performance
- ✅ Configurar build para Android (Capacitor)
- ✅ Escrever e executar testes
- ✅ Fazer deploy na Vercel
- ✅ Trabalhar com módulos bíblicos (.mybible)
- ✅ Integrar Firebase

## Estrutura do Projeto

```
Biblia-Codex/
├── src/
│   ├── components/        # Componentes React
│   ├── services/         # BibleParser, Audio, Firebase
│   ├── hooks/           # Hooks customizados
│   ├── data/            # Bible metadata
│   ├── theme/           # Tailwind theme
│   └── test/            # Setup de testes
├── public/
│   ├── *.bbl.mybible   # Módulos de texto bíblico
│   └── *.dct.mybible    # Dicionários Strong
├── android/             # Projeto Android nativo
├── vite.config.ts      # ⚠️ CRÍTICO: usar postcss, não lightningcss
├── vitest.config.ts     # Configuração testes
└── capacitor.config.json
```

## Stack Técnica

- **Frontend**: React 19, TypeScript 5.8, Tailwind v4
- **Build**: Vite 8
- **Mobile**: Capacitor 6 (Android)
- **Testes**: Vitest 4 + jsdom
- **State**: Zustand 5
- **Deploy**: Vercel

---

# REGRAS FUNDAMENTAIS

## ⚠️ REGRA 1: Tailwind v4 (NÃO é Tailwind v3!)

Este projeto usa **Tailwind CSS v4**. É DIFERENTE da v3!

```css
/* ✅ CORRETO - @theme directive (no index.css) */
@theme {
  --color-primary: #1a1a2e;
  --color-secondary: #16213e;
  --font-sans: 'Inter', system-ui, sans-serif;
}

/* ❌ ERRADO - tailwind.config.js NÃO funciona igual */
module.exports = {
  theme: { extend: {} }
}
```

```typescript
// vite.config.ts - configuração CORRETA
export default defineConfig({
  css: {
    transformer: 'postcss',  // ✅ USE postcss
    // ❌ NÃO use: transformer: 'lightningcss'
  },
  build: {
    cssMinify: false,  // ✅ Evita erros com Tailwind v4
  }
})
```

## ⚠️ REGRA 2: Capacitor Base Path

Para Android WebView, SEMPRE usar caminho relativo:

```typescript
// vite.config.ts
base: './',  // ✅ Necessário para WebView Android
```

## ⚠️ REGRA 3: Firebase Excluído de Otimização

```typescript
// vite.config.ts
optimizeDeps: {
  include: ['lucide-react', '@google/genai', 'sql.js'],
  exclude: ['firebase'],  // ✅ Evita problemas SSR
}
```

---

# Desenvolvimento React

## Padrão de Componentes

```tsx
// ✅ BOM - Componente funcional com TypeScript
interface Props {
  bookId: string
  chapter: number
  onVerseSelect?: (verse: Verse) => void
}

export function BibleReader({ bookId, chapter, onVerseSelect }: Props) {
  const { verses, loading } = useBibleChapter(bookId, chapter)

  if (loading) return <Skeleton />

  return (
    <div>
      {verses.map(verse => (
        <VerseComponent
          key={verse.id}
          verse={verse}
          onSelect={onVerseSelect}
        />
      ))}
    </div>
  )
}

// ❌ Evitar - Objetos como dependência de useEffect
useEffect(() => {
  fetchData(params)  // params é objeto - causa re-runs desnecessários
}, [params])

// ✅ CORRETO - Primitivos como dependência
useEffect(() => {
  fetchData(params.id)
}, [params.id])
```

## State com Zustand

O projeto usa Zustand para gerenciamento de estado:

```tsx
// ✅ Criar store com subscribeWithSelector
import { create } from 'zustand'
import { subscribeWithSelector } from 'zustand/middleware'

interface BibleState {
  currentBook: string | null
  currentChapter: number
  setChapter: (book: string, chapter: number) => void
}

export const useBibleStore = create<BibleState>()(
  subscribeWithSelector((set, get) => ({
    currentBook: null,
    currentChapter: 1,
    setChapter: (book, chapter) => set({ currentBook: book, currentChapter: chapter })
  }))
)

// ✅ Usar selectors individuais
const currentBook = useBibleStore((state) => state.currentBook)

// ❌ Evitar - selector completo causa re-renders desnecessários
const { currentBook, currentChapter } = useBibleStore()
```

---

# Performance React

Siga as regras de `@react-best-practices`:

### Prioridade CRITICAL (Waterfalls & Bundle)

1. **async-defer-await** - Move await para onde realmente usado
```tsx
async function handleRequest(skip: boolean) {
  if (skip) return { skipped: true }  // ✅ Retorna sem esperar
  const data = await fetchData()     // Só espera se necessário
  return processData(data)
}
```

2. **async-parallel** - Promise.all() para operações independentes
```tsx
// ❌ Errado - sequencial (3 round trips)
const user = await fetchUser()
const posts = await fetchPosts()
const comments = await fetchComments()

// ✅ Correto - paralelo (1 round trip)
const [user, posts, comments] = await Promise.all([
  fetchUser(),
  fetchPosts(),
  fetchComments()
])
```

3. **bundle-barrel-imports** - Importar diretamente, evitar barrel files
```tsx
// ❌ Erra - importa biblioteca inteira (~1MB)
import { Button, TextField } from '@mui/material'

// ✅ Correto - importa só o necessário (~10KB)
import Button from '@mui/material/Button'
import TextField from '@mui/material/TextField'
```

### Prioridade HIGH (Server & Re-render)

4. **server-cache-react** - Usar React.cache() para deduplicação
5. **rerender-memo** - Usar memo/memoization corretamente

---

# Testes (Vitest)

## Configuração

```typescript
// vitest.config.ts
export default defineConfig({
  test: {
    environment: 'jsdom',  // Simula navegador
    globals: true,
    setupFiles: './src/test/setup.ts',
    include: ['src/**/*.{test,spec}.{ts,tsx}'],
  }
})
```

## Padrão TDD

Siga `@test-driven-development`:

```
RED → Escreva teste que falha
GREEN → Código mínimo para passar
REFACTOR → Limpe o código
```

```tsx
// 1. RED - Write failing test
describe('BibleReader', () => {
  it('should display verses', () => {
    render(<BibleReader bookId="John" chapter={3} />)
    expect(screen.getByText('verse 1')).toBeInTheDocument()
  })
})

// 2. GREEN - Minimal code to pass
export function BibleReader({ bookId, chapter }) {
  return <div>verse 1</div>
}

// 3. REFACTOR - Clean up
export function BibleReader({ bookId, chapter }: Props) {
  const { verses, loading } = useBibleChapter(bookId, chapter)
  if (loading) return <Skeleton />
  return <div>{verses.map(v => <Verse key={v.id} verse={v} />)}</div>
}
```

## Executar Testes

```bash
npm run test              # Rodar todos os testes
npm run test -- src/components/BibleReader.test.ts  # Teste específico
npm run test:coverage    # Com cobertura
```

---

# Permissões Android

Para permissões (armazenamento, áudio):

```typescript
// services/permissionsService.ts
import { Permissions } from '@capacitor/permissions'

async function requestStoragePermission() {
  const result = await Permissions.ask({
    name: 'storage'
  })
  return result.state === 'granted'
}
```

---

# Build Android

```bash
npm run build              # Build web
npm run cap:sync          # Sync para Android
npm run cap:open         # Abrir Android Studio
npm run cap:run          # Build + run no device
```

APK gerado em: `android/app/build/outputs/apk/debug/`

---

# Deploy Vercel

Deploy automático em https://biblia-codex.vercel.app

Se mudanças não aparecerem:
```bash
git commit --allow-empty -m "chore: force new deployment"
git push origin main
```

---

# Comandos do Projeto

```bash
# Desenvolvimento
npm run dev              # Modo development
npm run build            # Build produção
npm run lint             # tsc --noEmit

# Testes
npm run test             # Vitest
npm run test:coverage   # Cobertura

# Android
npm run cap:sync        # Build + sync Android
npm run cap:open       # Abrir Android Studio
npm run cap:run        # Build + run no device
```

---

# Roadmap de Modernização

## Fase 0: Estabilização ✅
- [x] typecheck sem erros (`npm run lint`)
- [x] Mapeamento localStorage
- [x] Mapeamento IndexedDB

## Fase 1: Offline-First ✅
- [x] Service worker existente (`public/sw.js`)
- [x] Estratégias: CacheFirst, NetworkFirst, StaleWhileRevalidate
- [x] Módulos bíblicos offline

## Fase 2: Zustand ✅
- [x] `src/stores/readerStore.ts`
- [x] `src/stores/settingsStore.ts`
- [x] `src/stores/libraryStore.ts`
- [x] `src/stores/notesStore.ts`
- [x] Seletores pequenos

## Fase 3: Acessibilidade WCAG ✅
- [x] `src/components/Common/AccessibleButton.tsx`
- [x] `src/hooks/useKeyboardNavigation.ts`
- [x] `src/hooks/useA11y.ts`

## Fase 4: i18n ✅
- [x] `npm install i18next react-i18next`
- [x] `src/i18n/index.ts`
- [x] `src/i18n/locales/`

## Fase 5: Performance ✅
- [x] Lazy loading: DevotionalPage, MapsPage, XRefsPage, EBDPage
- [x] Suspense com PageLoader
- [x] `@tanstack/react-virtual` instalado
- [x] `src/components/Common/ChapterVirtual.tsx`- [x] Memoização de parsing (useMemo)

---

# Referências

- Stack: React 19, Vite 8, Tailwind v4, TypeScript 5.8
- Mobile: Capacitor 6
- Testes: Vitest 4
- State: Zustand 5
- i18n: i18next
- Ícones: lucide-react
- Animações: motion
- Markdown: react-markdown

Attribution

welitonevocwelitonevoc
View sourceSee grades on GitHubMore from welitonevoc →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Clean Code

Pragmatic coding standards - concise, direct, no over-engineering, no unnecessary comments

304955 votes

Browser Extension Developer

Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.

286712 votes

Seo Optimizer

SEO optimization with keyword analysis, readability assessment, technical validation, content quality. Use for search rankings, blog posts, content audits, or encountering keyword density, readability scores, meta tags, schema markup errors.

2222 votes

Google Official Seo Guide

Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation

1862 votes

Writing Plans

Use when you have a spec or requirements for a multi-step task, before touching code

2927051 votes
View all in development →