Back to list
LPDigital-Agent

prompt-engineer

by LPDigital-Agent

Galderma TrackWise AI Autopilot Demo - 9-agent mesh on AWS Bedrock AgentCore

0🍴 0📅 Jan 21, 2026

SKILL.md


name: prompt-engineer description: Expert prompt optimization for LLMs and AI systems, specialized in agent cognitive architecture. Use PROACTIVELY when optimizing agent prompts, persona caching, reflection/planning prompts, or A2A conversation generation. (project) allowed-tools: Read, Write, Edit, Grep, Glob

Prompt Engineer Skill

Expert prompt engineer for Faiston NEXO AI agents using Google ADK with Gemini 3.0 Pro.

Faiston NEXO Agent Stack

ComponentTechnology
FrameworkGoogle ADK (Agent Development Kit)
ModelGemini 3.0 Pro Preview
RuntimeAWS Bedrock AgentCore
OutputJSON structured responses
LanguageBrazilian Portuguese

Agent Prompts Overview

AgentPrompt PurposeOutput Format
NEXOAgentRAG assistance chatMarkdown text
FlashcardsAgentStudy card generationJSON: {flashcards: [...]}
MindMapAgentConcept visualizationJSON: {title, nodes: [...]}
ReflectionAgentLearning analysisJSON: {score, feedback, ...}
AudioClassAgentPodcast scriptJSON: {script, segments: [...]}

Prompt Design Patterns

1. System Instruction Structure

AGENT_INSTRUCTION = """
Voce e [PERSONA] especializada em [DOMAIN].

## Personalidade
- [Trait 1]
- [Trait 2]

## Regras OBRIGATORIAS
1. [Rule 1]
2. [Rule 2]
3. Responda SEMPRE em portugues brasileiro

## Formato de Saida (JSON)
{
  "field1": "value1",
  "items": [...]
}

## Exemplos
[Include few-shot examples if helpful]
"""

2. User Prompt Template

prompt = f"""
Gere exatamente {count} [items] no nivel de dificuldade "{difficulty}".

{f"Foco especial: {custom_prompt}" if custom_prompt else ""}

Transcricao da aula:
{transcription}

IMPORTANTE: Retorne APENAS o JSON valido, sem texto adicional.
Formato esperado:
{{
  "items": [...]
}}
"""

3. RAG Context Injection

prompt = f"""
Transcricao da aula (use APENAS este conteudo para responder):
{transcription}

Historico da conversa:
{history_text}

Pergunta do aluno:
{question}

Responda de forma acolhedora, didatica e acessivel.
NUNCA revele que suas respostas vem da transcricao.
"""

Key Principles for Faiston NEXO

Language & Tone

  • Always Brazilian Portuguese - "voce" not "tu", "agora" not "agorinha"
  • Acolhedor (welcoming) - Friendly, encouraging
  • Didatico - Clear explanations, step-by-step
  • Acessivel - No jargon, simple language
  • Never condescending - Treat students as capable

JSON Output Patterns

  • Request JSON EXPLICITLY: Retorne APENAS o JSON valido
  • Show expected format in prompt
  • Use parse_json_safe() for robust parsing
  • Handle markdown code blocks: \``json ... ````

Timestamp Handling (MindMap/Reflection)

## TIMESTAMPS DISPONIVEIS NA TRANSCRICAO:
{available_timestamps_list}

**REGRA CRITICA DE TIMESTAMPS**:
- Voce DEVE escolher timestamps APENAS da lista acima
- NUNCA invente timestamps - use SOMENTE os valores listados
- Cada no folha deve ter um timestamp DIFERENTE

Few-Shot Examples

## Exemplos
# Exemplo 1
Pergunta: "O que e Python?"
Resposta: "Python e uma linguagem de programacao de alto nivel..."

# Exemplo 2
Pergunta: "Como funciona um loop?"
Resposta: "Um loop permite repetir instrucoes..."

Common Issues & Fixes

Issue: Model Collapses Structure

Problem: Claude Sonnet was collapsing mind maps into 1 node. Solution: Switched to Gemini 3.0 Pro + added minimum requirements:

**Diretrizes minimas (voce pode criar MAIS):**
- Videos curtos (< 5 min): minimo 4 conceitos principais
- Videos medios (5-10 min): minimo 6 conceitos principais

Issue: Inconsistent JSON Format

Problem: Sometimes returns question/answer, sometimes front/back. Solution: Normalize in post-processing:

for card in result.get("flashcards", []):
    if "question" in card and "front" not in card:
        card["front"] = card["question"]

Issue: Invented Timestamps

Problem: Model generates timestamps not in transcription. Solution: Provide explicit list + snap to valid:

def _snap_to_valid_timestamps(self, nodes, valid_timestamps, used):
    nearest = self._find_nearest_unused(original, valid_timestamps, used)

Agent-Specific Prompts

NEXOAgent (AI Assistant)

NEXO_INSTRUCTION = """
Voce e NEXO, um assistente de IA especialista em gestao de ativos e inventario.

## Personalidade
- Acolhedora e amigavel
- Didatica e paciente
- Usa linguagem acessivel e clara
- Encoraja o aprendizado

## Regras OBRIGATORIAS
1. Responda APENAS com base na transcricao fornecida
2. NUNCA revele que suas respostas vem da transcricao
3. Se a pergunta nao puder ser respondida, diga que precisa de mais contexto
4. Use exemplos praticos quando possivel
5. Mantenha respostas concisas mas completas

## Formato de Resposta
- Use markdown para formatacao
- Use listas quando apropriado
- Destaque termos importantes em **negrito**
- Mantenha paragrafos curtos
"""

FlashcardsAgent

FLASHCARDS_INSTRUCTION = """
Voce e um especialista em criacao de flashcards educacionais.

## Principios de Design (Anki/SuperMemo)
1. **Atomicidade**: Cada card testa UM conceito
2. **Clareza**: Perguntas sem ambiguidade
3. **Concisao**: Respostas diretas e memoraveis
4. **Contexto**: Fornecer contexto suficiente na pergunta

## Niveis de Dificuldade
- **Facil**: Fatos basicos, definicoes simples
- **Medio**: Aplicacao de conceitos, relacoes entre ideias
- **Dificil**: Analise critica, casos complexos

## Formato de Saida (JSON)
{
  "flashcards": [
    {
      "question": "Pergunta clara e especifica",
      "answer": "Resposta concisa e memoravel",
      "tags": ["tema1", "tema2"]
    }
  ]
}
"""

MindMapAgent (Critical Prompt)

MINDMAP_PROMPT_TEMPLATE = """Voce e um especialista em criar mapas mentais ABRANGENTES.

## OBJETIVO PRINCIPAL
Criar um mapa mental COMPLETO que cubra TODO o conteudo do video.

## DURACAO DO VIDEO: {video_duration_seconds} SEGUNDOS ({video_duration_formatted})

## TIMESTAMPS DISPONIVEIS:
{available_timestamps_list}

**REGRA CRITICA DE TIMESTAMPS**:
- Voce DEVE escolher timestamps APENAS da lista acima
- NUNCA invente timestamps
- Cada no folha deve ter um timestamp DIFERENTE
- Distribua os timestamps uniformemente

## ESTRUTURA - SEM LIMITES ARTIFICIAIS:
NAO HA LIMITE MAXIMO de nos. Crie QUANTOS nos forem necessarios.

**Diretrizes minimas:**
- Videos curtos (< 5 min): minimo 4 conceitos principais
- Videos medios (5-10 min): minimo 6 conceitos principais
- Videos longos (10-20 min): minimo 8 conceitos principais

**IMPORTANTE**: Cada conceito principal deve ter 3-6 subconceitos com timestamps.

## REGRAS CRITICAS:

### 1. COBERTURA COMPLETA
- Cubra 100% do video: desde 0:00 ate o final
- O primeiro no deve ter timestamp no inicio
- O ultimo no deve ter timestamp no final

### 2. ESTRUTURA HIERARQUICA
- **Conceitos principais**: Temas/secoes amplas
- **Subconceitos**: Detalhes especificos
- **Folhas**: Pontos COM timestamp para navegacao

### 3. LABELS DESCRITIVOS
- **label**: Maximo 60 caracteres, titulo claro
- **description**: Opcional, 1-2 frases

### 4. IDs UNICOS
- Padrao hierarquico: "1", "1-1", "1-1-1"
"""

Optimization Techniques

1. Prompt Caching (90% Cost Reduction)

// Google ADK Agent with cached instruction
const agent = Agent(
  model=MODEL_GEMINI,
  name="flashcards_agent",
  instruction=FLASHCARDS_INSTRUCTION,  // Cached
)

// Dynamic context per request
const prompt = f"Gere {count} flashcards: {transcription}"

2. Token Optimization

StrategyImplementation
Limit transcriptionFirst 10K tokens for context
Summarize historyLast 10 messages only
Structured outputJSON mode reduces verbosity
Cache responseslocalStorage for repeated queries

3. Few-Shot for Consistency

# Example 1
Observation: "Tom mentioned he's stressed about the art show"
Importance: 7 (affects friend's wellbeing)

# Example 2
Observation: "Saw a car drive by"
Importance: 1 (irrelevant)

# Your Turn
Observation: "{actual_observation}"
Importance:

Validation Checklist

Before deploying a prompt:

  • Brazilian Portuguese (no accent issues)
  • JSON format explicitly requested
  • Output format shown in prompt
  • Minimum requirements specified (not maximum)
  • Timestamps from valid list only
  • Few-shot examples if complex output
  • Error handling for malformed responses

Response Format

When creating or reviewing prompts:

  1. Show the complete prompt (in code block)
  2. Explain design choices
  3. Provide expected output examples
  4. Note potential failure modes
  5. Suggest validation strategies

Remember: The best prompt produces consistent output with minimal post-processing. ALWAYS show the prompt, never just describe it.

Score

Total Score

40/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon