Claude Code Plugins

Community-maintained marketplace

Feedback

building-germanexam-workflows

@margeruite/germanexampro
0
0

Build and debug n8n workflows for GermanExam.pro. Use when creating blog automation, content generation, or any n8n workflow for this project. Includes server config, credentials setup, and known issues.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name building-germanexam-workflows
description Build and debug n8n workflows for GermanExam.pro. Use when creating blog automation, content generation, or any n8n workflow for this project. Includes server config, credentials setup, and known issues.

Building GermanExam.pro Workflows

Project-specific guide for n8n workflows in GermanExam.pro.

n8n Server Config

URL: http://49.12.238.110:5678
API URL: http://49.12.238.110:5678/api/v1
Webhook Base: http://49.12.238.110:5678/webhook/

# Login Credentials: See .env.local or ask user
# API Key: See N8N_API_KEY in .env.local or c:/tmp/fix_*.py scripts

⚠️ KRITISCH FÜR ALLE AGENTS - LIES DAS!

  1. Server verwendet HTTP, NICHT HTTPS!

    • URL muss http://49.12.238.110:5678 sein
    • NIEMALS https:// verwenden!
  2. API-Key finden:

    • Check c:/tmp/fix_*.py - dort ist der aktuelle Key
    • Der Key ist unbegrenzt gültig
    • NICHT nach neuem Key fragen wenn einer in den Scripts existiert!
  3. Test-Befehl:

    # Ersetze $N8N_API_KEY mit dem Key aus c:/tmp/fix_*.py
    curl -s "http://49.12.238.110:5678/api/v1/workflows" -H "X-N8N-API-KEY: $N8N_API_KEY" | head -c 100
    

Required Environment Variables

In n8n (Settings → Variables)

BLOG_WEBHOOK_TOKEN=<generate with: openssl rand -hex 32>
ANTHROPIC_API_KEY=<from Anthropic console>
OPENAI_API_KEY=<from OpenAI - for fact checking>

In Vercel (must match n8n)

BLOG_WEBHOOK_TOKEN=<same token as n8n>

Blog Workflow

File: docs/n8n/blog-workflow-v2-premium.json

Flow:

Trigger (Cron/Webhook)
    ↓
Content Research (picks topic)
    ↓
Build Prompt (SEO template)
    ↓
Claude (generate content)
    ↓
┌─────────┴─────────┐
Fact Check    Unsplash Image
└─────────┬─────────┘
    ↓
Process & Merge
    ↓
Quality Gate (≥500 words + fact check)
    ↓
POST /api/blog/posts
    ↓
Success/Error Email

Manual Trigger

curl -X POST http://49.12.238.110:5678/webhook/blog-generation \
  -H "Content-Type: application/json" \
  -d '{"title": "Your Title", "keywords": "keyword1, keyword2", "category": "exam_tips"}'

Known Issues (FIXED)

Issue Was Fix
Quality Gate always fails Threshold 1500 words, prompt generates 600-800 Changed to 500

Remaining Setup Tasks

  1. Configure Credentials in n8n:

    • Anthropic API (for Claude node)
    • OpenAI API (for fact check node)
    • Unsplash API (for images)
    • SMTP (for notifications - optional)
  2. Set Blog Webhook Auth:

    • Create HTTP Header Auth credential in n8n
    • Name: Blog Webhook Auth
    • Header: x-webhook-token
    • Value: ={{$env.BLOG_WEBHOOK_TOKEN}}
  3. Activate Workflow:

    • Open workflow in n8n UI
    • Click Activate toggle (top-right)

API Endpoint

POST /api/blog/posts

// Required headers
X-Webhook-Token: (use BLOG_WEBHOOK_TOKEN from env)
Content-Type: application/json

// Body schema
{
  slug: string,           // URL-safe, lowercase
  title: string,
  content: string,        // Markdown
  excerpt?: string,
  category?: string,      // default: "language_learning"
  tags?: string[],
  meta_description?: string,
  featured_image_url?: string,
  status?: "draft" | "published",
  reading_time_minutes?: number,
  generated_by_ai?: boolean,
  ai_model_used?: string
}

Debugging Checklist

Blog Post Not Publishing:
- [ ] BLOG_WEBHOOK_TOKEN matches in n8n AND Vercel
- [ ] Workflow is activated (not just saved)
- [ ] Credentials configured (not placeholder IDs)
- [ ] API endpoint accessible: curl https://germanexam.pro/api/blog/posts

Quality Gate Failing:
- [ ] Check word count in execution output
- [ ] Verify fact check response parsed correctly
- [ ] Threshold is 500 words (not 1500)

AI Node Errors:
- [ ] API key set in n8n variables
- [ ] Credential linked to node
- [ ] Model name correct (claude-3-5-sonnet-20241022)

Workflow Files

File Description
blog-workflow-v2-premium.json Current version (use this)
blog-workflow-clean.json Minimal version
blog-workflow-final.json Older version

Related Skills

  • n8n-mcp-tools-expert - MCP tool usage
  • n8n-validation-expert - Fix validation errors
  • n8n-workflow-patterns - Architectural patterns