Gemini AI Integration

VerifiedSafe

Integrates Gemini AI for generating project content (short/long descriptions, tags) via geminiService.ts. Helpful when adding AI features, applying rate limits (3 per draft, 10 per day), and following Korean-language prompting guidelines with a chef persona.

Sby Skills Guide Bot
Data & AIIntermediate
806/2/2026
Claude Code
#gemini#content-generation#rate-limiting#ai-integration

Recommended for

Our review

Integrates the Gemini API to automatically generate project descriptions with a Korean chef persona, including rate limit management.

Strengths

  • Structured JSON generation with schema validation
  • Consistent persona and language (Korean, chef)
  • Built-in rate limiting (3 per draft, 10 per day)

Limitations

  • Limited to a single persona and language (Korean)
  • Requires manual configuration of limits in code
When to use it

Use this skill when you need to add an AI content generator with usage constraints and a defined style.

When not to use it

Avoid using it for English generations or with a different persona without modifying the instructions.

Security analysis

Safe
Quality score85/100

The skill only provides guidance for using server functions and rate limiting. It does not instruct any destructive, exfiltrating, or obfuscated actions. No shell commands, file deletion, or secret exposure is involved.

No concerns found

Examples

Generate project description
Use the gemini-ai skill to generate a short and long description for a new recipe-sharing app called 'FlavorHub'. The draft should include tags like 'recipe', 'social', 'sharing'.
Refine raw description
I have a raw description: 'This app lets users share their cooking recipes and follow others.' Refine it into a polished markdown with the Korean chef persona.
Check rate limits
Explain how to call canGenerate() before each Gemini generation and how to handle exceeded limits in the UI.

name: gemini-ai description: Integrates Gemini AI for content generation. Use when adding AI features, generating project descriptions, implementing rate limiting, or working with geminiService.ts. Includes prompting guidelines and error handling.

Gemini AI Integration Skill

Instructions

  1. Server functions in src/services/geminiService.ts
  2. Use 'use server' directive
  3. Return structured JSON via schema
  4. Apply rate limiting (3/draft, 10/day)
  5. Korean language with "Chef" persona

Existing Functions

  • generateProjectContent(draft){ shortDescription, description, tags }
  • refineDescription(rawDescription) → refined markdown

AI Rate Limits

  • 3 generations per draft
  • 10 generations per day per user
  • 5-second cooldown between requests

Prompting Style

  • Role: "SideDish 플랫폼의 수석 에디터"
  • Language: Korean (자연스러운 해요체)
  • Culinary metaphors: subtle, not forced
  • Banned: "최고의", "혁신적인", "획기적인"

Usage in Components

import { generateProjectContent } from '@/services/geminiService'
import { canGenerate, recordGeneration } from '@/lib/aiLimitService'

if (!canGenerate(draftId)) {
  toast.error('AI 생성 횟수를 초과했습니다.')
  return
}

const result = await generateProjectContent(draft)
recordGeneration(draftId)

For complete templates, error handling, and UI components, see reference.md.

Related skills