AgentSkillsCN

init-project

从Agent Kit样板初始化新项目。适用于创建新的下游项目时的场景。

SKILL.md
--- frontmatter
name: init-project
description: Initialize a new project from Agent Kit boilerplate. Use when creating a new downstream project.
disable-model-invocation: true
allowed-tools: Read, Write, Edit, Bash, AskUserQuestion
argument-hint: [project-name]

Initialize New Project

Create a new downstream project from the Agent Kit template.

Expected Folder Structure

code
lucidlabs/
├── lucidlabs-agent-kit/            ← You are here (upstream)
└── projects/
    └── [project-name]/             ← Will be created here

Project Details

Project Name: $ARGUMENTS

If no argument provided, ask for:

  • Project name (kebab-case, e.g., customer-portal)
  • Project description (one sentence)

Step 0: Template oder Custom?

ZUERST: Frage ob der User ein Template nutzen möchte:

code
┌─────────────────────────────────────────────────────────────────────────┐
│  PROJEKT SETUP                                                           │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Wie möchtest du starten?                                                │
│                                                                          │
│  [1] TEMPLATE (Recommended)                                              │
│      → Fertiges Setup mit Demo-Projekt                                   │
│      → Dokumentation + Admin Dashboard                                   │
│      → Sofort lauffähig                                                  │
│                                                                          │
│  [2] CUSTOM                                                              │
│      → Stack individuell zusammenstellen                                 │
│      → Für spezielle Anforderungen                                       │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘

Bei [1] TEMPLATE:

code
┌─────────────────────────────────────────────────────────────────────────┐
│  VERFÜGBARE TEMPLATES                                                    │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  [1] fullstack-convex-mastra (Recommended)                               │
│      • Next.js 16 + React 19                                             │
│      • Convex (self-hosted) + Better Auth                                │
│      • Mastra v1 AI Agents                                               │
│      • Demo Invoice Workflow                                             │
│      • Admin Dashboard                                                   │
│      • Offline dev mode (Ollama)                                         │
│                                                                          │
│  [2] Mehr Templates coming soon...                                       │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘

Bei Template-Auswahl:

  1. Kopiere Template nach ../projects/[project-name]/
  2. Ersetze Platzhalter mit Projektnamen
  3. Erstelle PROJECT-CONTEXT.md und PRD.md
  4. Springe zu Step 4 (Handoff)

Bei [2] CUSTOM:

Weiter mit der manuellen Stack-Konfiguration unten.


Step 0b: Intelligente Stack-Empfehlung (nur bei CUSTOM)

WICHTIG: Bevor du die Stack-Konfiguration zeigst, frage nach dem Projekt:

0.1 Projekt verstehen

Frage den User:

code
Beschreibe dein Projekt in 1-2 Sätzen:

Beispiele:
• "Chat-Bot für Kundenservice"
• "Ticket-Klassifikation mit CRM-Integration"
• "Enterprise RAG für interne Dokumente"
• "Schneller Prototyp für Demo nächste Woche"

0.2 Komplexitätsstufe ermitteln

Analysiere die Beschreibung und ordne sie einer Stufe zu:

StufeErkennungsmerkmaleEmpfehlung
1: MVP/Prototype"Demo", "POC", "schnell", "einfach", "Chat"Vercel AI SDK + Convex
2: Standard"Agent", "Tool", "Workflow", "Klassifikation"Mastra + Convex
3: Enterprise"Multi-Tenant", "Enterprise", "viele User", "CRM/ERP"Mastra + Convex + Portkey + n8n
4: GDPR/Compliance"Bank", "Versicherung", "GDPR", "EU-Daten"+ Azure OpenAI + Postgres

0.3 Empfehlung zeigen

code
┌─────────────────────────────────────────────────────────────────────────┐
│  STACK-EMPFEHLUNG                                                        │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Basierend auf: "[User-Beschreibung]"                                   │
│                                                                          │
│  Erkannte Stufe: STUFE 2 - Standard Projekt                             │
│                                                                          │
│  EMPFOHLENER STACK:                                                      │
│                                                                          │
│  ✅ Next.js 15        (Frontend)           - Standard                    │
│  ✅ Mastra            (AI Layer)           - wegen Tools/Workflows       │
│  ✅ Convex            (Database)           - Realtime für UI             │
│  ⚪ n8n               (Automation)         - optional, für Integrationen │
│                                                                          │
│  NICHT EMPFOHLEN für dieses Projekt:                                    │
│  ❌ Vercel AI SDK     - Projekt braucht Tools                           │
│  ❌ Portkey           - kein Multi-Tenant/Cost-Tracking nötig           │
│  ❌ Python Workers    - keine PDF/ML-Verarbeitung                       │
│                                                                          │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Mit dieser Empfehlung fortfahren? [Y/n]                                │
│  Oder: "Anpassen" für manuelle Auswahl                                  │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘

Empfehlungslogik

Stufe 1: MVP/Prototype

code
✅ Next.js 15
✅ Vercel AI SDK      ← Schnell, einfach
✅ Convex             ← Einfaches Setup
❌ Mastra, n8n, Portkey, Python, Terraform

Stufe 2: Standard Projekt

code
✅ Next.js 15
✅ Mastra             ← Production-ready Agents
✅ Convex             ← Realtime, Type-safe
⚪ n8n                ← Optional für Integrationen
❌ Portkey, Python, LangChain, Terraform

Stufe 3: Enterprise Projekt

code
✅ Next.js 15
✅ Mastra             ← Volle Agent-Kapazität
✅ Convex oder Postgres
✅ Portkey            ← Cost Tracking, Multi-Model
✅ n8n                ← Externe Integrationen
⚪ Python Workers     ← Falls PDF/ML nötig
⚪ Terraform          ← Falls Multi-Environment

Stufe 4: GDPR/Compliance

code
✅ Next.js 15
✅ Mastra
✅ Postgres           ← EU-hosted möglich
✅ Azure OpenAI       ← GDPR-konform
✅ Portkey            ← Routing & Fallback
✅ n8n
✅ Terraform          ← IaC für Compliance

Step 1: Stack Configuration (falls manuell gewählt)

Falls User "Anpassen" wählt, zeige die manuelle Konfiguration:

Core Stack (Choose one each)

code
┌─────────────────────────────────────────────────────────────────┐
│  STACK CONFIGURATION                                             │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  AI LAYER (wähle eins):                                          │
│  ├─ [1] Mastra (Production Agents, Tools, Workflows)             │
│  └─ [2] Vercel AI SDK (Schnelle Prototypen, Chat UI)             │
│                                                                  │
│  DATABASE (wähle eins):                                          │
│  ├─ [1] Convex (Realtime, Simple Setup, Built-in Vector)         │
│  └─ [2] Postgres (SQL Standard, Pinecone-kompatibel)             │
│                                                                  │
│  FRONTEND:                                                       │
│  └─ [Y/n] Next.js 15 + shadcn/ui                                 │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

LLM Configuration

WICHTIG: Führe /llm-evaluate [projekt-beschreibung] aus um aktuelle Preise zu holen und das optimale Modell zu empfehlen.

code
┌─────────────────────────────────────────────────────────────────┐
│  LLM KONFIGURATION                                               │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  PRIMARY MODEL (Hauptmodell):                                    │
│  ├─ [1] Claude Sonnet 4    - Best coding, balanced ($3/$15)      │
│  ├─ [2] Claude Haiku 3.5   - Fast, cheap ($0.25/$1.25)           │
│  ├─ [3] Claude Opus 4.5    - Best reasoning ($15/$75)            │
│  ├─ [4] GPT-4o             - Multimodal ($5/$15)                 │
│  ├─ [5] Gemini 2.0 Flash   - Ultra cheap ($0.10/$0.40)           │
│  ├─ [6] DeepSeek V3        - Budget ($0.27/$1.10)                │
│  └─ [7] Custom             - Manuell konfigurieren               │
│                                                                  │
│  FALLBACK MODEL (wenn Primary down):                             │
│  ├─ [1] GPT-4o-mini        - Budget fallback                     │
│  ├─ [2] Gemini Flash       - Google fallback                     │
│  ├─ [3] Kein Fallback      - Nur Primary                         │
│  └─ [4] Custom                                                   │
│                                                                  │
│  FAST MODEL (für einfache Tasks):                                │
│  ├─ [1] Claude Haiku 3.5   - Schnell, Anthropic                  │
│  ├─ [2] Gemini Flash 8B    - Ultra cheap                         │
│  ├─ [3] Same as Primary    - Kein separates Fast-Model           │
│  └─ [4] Custom                                                   │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────┐
│  COMPLIANCE & REGION                                             │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  [y/N] GDPR-Modus    - Nur EU-Provider (Azure, Mistral)          │
│  [y/N] Portkey       - Cost Tracking, Fallbacks, Caching         │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

LLM Empfehlung nach Stufe:

StufePrimaryFallbackFast
1: MVPHaiku 3.5Gemini Flash-
2: StandardSonnet 4GPT-4o-miniHaiku 3.5
3: EnterpriseSonnet 4GPT-4oHaiku 3.5
4: GDPRAzure GPT-4oMistral Large-

Siehe: .claude/reference/llm-configuration.md für Details.

Optional Components

code
┌─────────────────────────────────────────────────────────────────┐
│  OPTIONAL COMPONENTS                                             │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  [y/N] n8n          - Workflow Automation, Integrations          │
│  [y/N] Python       - PDF Parsing, OCR, Statistics, ML           │
│  [y/N] LangChain    - Complex Chains, LangGraph                  │
│  [y/N] Terraform    - Infrastructure as Code                     │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

Project Management

code
┌─────────────────────────────────────────────────────────────────┐
│  PROJECT MANAGEMENT                                              │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  Name:    [project-name]                                         │
│  GitHub:  [YES] lucidlabs-hq/[project-name]                     │
│  Linear:  [YES] [Domain] Project Name                           │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

Deployment Target

code
┌─────────────────────────────────────────────────────────────────┐
│  DEPLOYMENT TARGET                                               │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  Wo soll das Projekt deployt werden?                             │
│                                                                  │
│  [1] LUCIDLABS-HQ (Recommended)                                  │
│      → [project].lucidlabs.app                                   │
│      → Shared Elestio, schneller Setup                           │
│      → GitHub Actions deployt automatisch                        │
│                                                                  │
│  [2] DEDICATED                                                   │
│      → Eigener Elestio Server via Terraform                      │
│      → Für Kunden mit Compliance/Isolation                       │
│      → Höhere Kosten, volle Kontrolle                            │
│                                                                  │
│  [3] LOCAL-ONLY                                                  │
│      → Kein Cloud-Deployment (Prototyp/Demo)                     │
│      → Später konfigurierbar                                     │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

Siehe: .claude/reference/deployment-targets.md für Details.

Entscheidungshilfe (Quick Reference)

Was brauchst du?AI LayerDatabaseLLMOptional
Chat PrototypeVercel AI SDKConvexClaude-
Production AgentMastraConvexClaude-
PDF/Dokument-AnalyseMastraConvexMistral-
Agent + CRMMastraConvexClauden8n
SQL + PineconeMastraPostgresClaudePinecone
Enterprise Multi-TenantMastraEitherClaudePortkey, n8n
Complex AnalysisMastraEitherClaudePython Workers
GDPR/ComplianceMastraPostgresAzure OpenAI-
EU-Hosting + SpeedMastraConvexMistral-

Step 2: Run the Scaffolding Script

The script automatically creates the project in ../projects/:

bash
# Interactive mode (recommended for first-time)
./scripts/create-agent-project.sh --interactive

# Or with project name directly
./scripts/create-agent-project.sh [project-name]

What the script does:

  1. Creates ../projects/[project-name]/
  2. Copies all boilerplate files
  3. Customizes package.json and README
  4. Creates template PRD
  5. Initializes git repository with initial commit
  6. Creates GitHub repository (if confirmed)
  7. Creates Linear project (if confirmed)

Step 2b: PROJECT-CONTEXT.md erstellen (PFLICHT!)

KRITISCH: Nach dem Scaffolding MUSS PROJECT-CONTEXT.md erstellt werden.

Erstelle .claude/PROJECT-CONTEXT.md im neuen Projekt:

yaml
# Project Context

> Identifiziert dieses Repository und sein Verhältnis zum Agent Kit.

---

## Repository Type

type: downstream

---

## Upstream Reference

upstream:
  name: lucidlabs-agent-kit
  repo: git@github.com:lucidlabs-hq/lucidlabs-agent-kit.git
  local_path: ../../lucidlabs-agent-kit
  last_sync: [HEUTE]

---

## Active Project

project:
  name: [project-name]
  description: "[Beschreibung aus Step 0.1]"
  client: [Kundenprojekt | Internes Projekt]
  status: Initial
  started: [HEUTE]

---

## Promotion Tracking

Patterns die ins upstream promoted werden sollen:

| Pattern | Status | Description |
|---------|--------|-------------|
| - | - | - |

Nutze `/promote` um Patterns ins upstream zu übernehmen.

Warum das wichtig ist:

  • /prime erkennt dadurch, dass dies ein downstream Projekt ist
  • /promote weiß, wo das upstream liegt
  • Der User weiß, an welchem Projekt er arbeitet

Step 2c: Initiales PRD aus Beschreibung erstellen (PFLICHT!)

KRITISCH: Die Projekt-Beschreibung aus Step 0.1 wird zum initialen PRD.

Erstelle .claude/PRD.md im neuen Projekt:

markdown
# [project-name] - Product Requirements Document

> **Status:** Initial - Ausspezifizierung mit /create-prd erforderlich

**Version:** 0.1 (Initial)
**Last Updated:** [HEUTE]
**Client:** [Kundenprojekt | Internes Projekt]

---

## Project Description (aus Init-Gespräch)

> "[Exakte Beschreibung die der User in Step 0.1 eingegeben hat]"

---

## Stack (gewählt in Init)

| Component | Choice | Reason |
|-----------|--------|--------|
| AI Layer | [Mastra/Vercel AI SDK] | [Warum gewählt] |
| Database | [Convex/Postgres] | [Warum gewählt] |
| Frontend | Next.js 15 + shadcn/ui | Standard |
| Optional | [n8n, Portkey, etc.] | [Warum gewählt] |

## LLM Konfiguration (gewählt in Init)

| Role | Model | Provider | Cost (Input/Output) |
|------|-------|----------|---------------------|
| Primary | [Model] | [Provider] | $X/$X per 1M tokens |
| Fallback | [Model] | [Provider] | $X/$X per 1M tokens |
| Fast | [Model] | [Provider] | $X/$X per 1M tokens |

**Portkey:** [Ja/Nein] - [Begründung]
**GDPR-Modus:** [Ja/Nein]

---

## Nächste Schritte

**Dieses PRD ist ein Ausgangspunkt.** Es muss mit `/create-prd` ausspezifiziert werden:

1. [ ] Problem & Solution detaillieren
2. [ ] Target Users definieren
3. [ ] MVP Scope festlegen
4. [ ] User Stories schreiben
5. [ ] Domain Model entwerfen
6. [ ] AI Agent Specification
7. [ ] Success Criteria

---

## Kontext aus Init-Gespräch

[Hier wird die Zusammenfassung aus Step 4.1 eingefügt:]

• Projekt-Beschreibung: [...]
• Erkannte Stufe: [1-4]
• Stack-Entscheidungen: [...]
• Offene Fragen: [...]

Warum das wichtig ist:

  • Der User sieht beim nächsten /prime sofort den Kontext
  • /create-prd hat einen Ausgangspunkt
  • Nichts aus dem Init-Gespräch geht verloren

Step 2d: DEPLOYMENT-CONFIG.md erstellen (PFLICHT!)

KRITISCH: Nach der Deployment-Target Auswahl MUSS die Config erstellt werden.

Erstelle .claude/DEPLOYMENT-CONFIG.md im neuen Projekt:

Bei LUCIDLABS-HQ:

yaml
# .claude/DEPLOYMENT-CONFIG.md

deployment:
  target: LUCIDLABS-HQ
  configured: [HEUTE]

hq:
  subdomain: [project-name]
  domain: lucidlabs.app
  url: https://[project-name].lucidlabs.app

convex:
  project: [project-name]
  team: lucid-labs

github_actions:
  workflow: deploy-hq.yml
  secrets_required:
    - LUCIDLABS_HQ_HOST (org secret)
    - LUCIDLABS_HQ_SSH_KEY (org secret)
    - CONVEX_DEPLOY_KEY (repo secret)
    - ANTHROPIC_API_KEY (repo secret)

Bei DEDICATED:

yaml
# .claude/DEPLOYMENT-CONFIG.md

deployment:
  target: DEDICATED
  configured: [HEUTE]

dedicated:
  terraform_env: [customer-name]
  domain: app.[customer].com
  server_name: [customer]-prod

convex:
  project: [project-name]
  team: lucid-labs

github_actions:
  workflow: deploy-dedicated.yml
  secrets_required:
    - DEDICATED_HOST (repo secret)
    - DEDICATED_SSH_KEY (repo secret)
    - CONVEX_DEPLOY_KEY (repo secret)
    - ANTHROPIC_API_KEY (repo secret)

Bei LOCAL-ONLY:

yaml
# .claude/DEPLOYMENT-CONFIG.md

deployment:
  target: LOCAL-ONLY
  configured: [HEUTE]
  note: "Kein Cloud-Deployment konfiguriert. Später änderbar."

convex:
  project: null
  note: "Lokale Entwicklung mit npx convex dev"

Step 2e: GitHub Actions Workflow erstellen (wenn nicht LOCAL-ONLY)

Erstelle .github/workflows/deploy.yml basierend auf Deployment Target.

Für LUCIDLABS-HQ:

yaml
# .github/workflows/deploy.yml
name: Deploy to Lucid Labs HQ

on:
  push:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: pnpm/action-setup@v2
        with:
          version: 9
      - uses: actions/setup-node@v4
        with:
          node-version: '22'
          cache: 'pnpm'
          cache-dependency-path: frontend/pnpm-lock.yaml
      - run: cd frontend && pnpm install
      - run: cd frontend && pnpm run lint
      - run: cd frontend && pnpm run type-check

  deploy:
    needs: test
    runs-on: ubuntu-latest
    if: github.ref == 'refs/heads/main'
    steps:
      - uses: actions/checkout@v4

      - name: Deploy to Lucid Labs HQ
        env:
          HQ_HOST: ${{ secrets.LUCIDLABS_HQ_HOST }}
          HQ_SSH_KEY: ${{ secrets.LUCIDLABS_HQ_SSH_KEY }}
          PROJECT_NAME: ${{ github.event.repository.name }}
        run: |
          mkdir -p ~/.ssh
          echo "$HQ_SSH_KEY" > ~/.ssh/id_rsa
          chmod 600 ~/.ssh/id_rsa
          ssh-keyscan -H $HQ_HOST >> ~/.ssh/known_hosts

          rsync -avz --delete \
            --exclude='.git' \
            --exclude='node_modules' \
            --exclude='.next' \
            ./ root@$HQ_HOST:/opt/lucidlabs/projects/$PROJECT_NAME/

          ssh root@$HQ_HOST << EOF
            cd /opt/lucidlabs/projects/$PROJECT_NAME
            docker compose -p $PROJECT_NAME up -d --build
          EOF

Dokumentation: .claude/reference/deployment-targets.md


Step 3: Create Linear Project (if confirmed)

If user confirmed Linear project creation:

bash
# Use Linear MCP to create project
# Team: lucid-labs-agents
# Name: [Domain] Project Name

Via MCP:

code
Create Linear project:
- Team: lucid-labs-agents
- Name: "[Domain] [project-name]"
- Description: "AI Agent project for [description]"

Initial Issue: Create a "Project Setup" issue in Exploration status:

  • Title: "Project Setup & Initial Configuration"
  • Work Type: Exploration
  • Status: Exploration

Step 3b: n8n Workflow generieren (nur wenn n8n gewählt)

OPTIONAL: Dieser Schritt wird nur ausgeführt, wenn n8n im Stack gewählt wurde.

Wann n8n?

n8n wird typischerweise gewählt wenn:

  • Kunde explizit n8n-Lösung erwartet ("Wir wollen das in n8n haben")
  • Wir n8n-Expertise demonstrieren wollen
  • Externe Integrationen (CRM, ERP, Email) zentral sind
  • Kunde selbst n8n-Workflows anpassen können soll

n8n Workflow Template generieren

Erstelle n8n/workflows/agent-workflow.json im neuen Projekt:

json
{
  "name": "[project-name] Agent Workflow",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "trigger",
        "options": {}
      },
      "id": "webhook-trigger",
      "name": "Webhook Trigger",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [250, 300],
      "webhookId": "{{$randomUUID}}"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "={{$env.MASTRA_API_URL}}/api/agents/[agent-name]/generate",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={{ JSON.stringify({ messages: [{ role: 'user', content: $json.body.message }] }) }}",
        "options": {}
      },
      "id": "call-mastra-agent",
      "name": "Call Mastra Agent",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4,
      "position": [500, 300],
      "credentials": {
        "httpHeaderAuth": {
          "id": "mastra-api-key",
          "name": "Mastra API Key"
        }
      }
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={{ { success: true, response: $json.text } }}"
      },
      "id": "respond-webhook",
      "name": "Respond to Webhook",
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1,
      "position": [750, 300]
    }
  ],
  "connections": {
    "Webhook Trigger": {
      "main": [
        [{ "node": "Call Mastra Agent", "type": "main", "index": 0 }]
      ]
    },
    "Call Mastra Agent": {
      "main": [
        [{ "node": "Respond to Webhook", "type": "main", "index": 0 }]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "staticData": null,
  "meta": {
    "notes": [
      {
        "id": "note-setup",
        "type": "sticky",
        "content": "## Setup\n\n1. Setze Environment Variable `MASTRA_API_URL`\n2. Erstelle HTTP Header Auth Credential mit API Key\n3. Passe [agent-name] an deinen Mastra Agent an",
        "position": [250, 100],
        "width": 300,
        "height": 150
      },
      {
        "id": "note-endpoints",
        "type": "sticky",
        "content": "## Mastra Endpoints\n\n- `/api/agents/{name}/generate` - Agent ausführen\n- `/api/agents/{name}/stream` - Streaming Response\n- `/api/tools/{name}/execute` - Tool direkt ausführen",
        "position": [550, 100],
        "width": 300,
        "height": 150
      }
    ]
  }
}

Workflow-Varianten

Je nach Projekt-Typ können weitere Workflows generiert werden:

Projekt-TypZusätzliche Workflows
Ticket-Klassifikationticket-classifier.json mit Email-Trigger
Document Processingdocument-pipeline.json mit File-Trigger
CRM Integrationcrm-sync.json mit HubSpot/Salesforce Nodes
Scheduled Tasksscheduled-agent.json mit Cron-Trigger

Frage den User

code
n8n wurde als Stack-Komponente gewählt.

Soll ich einen vorkonfigurierten n8n Workflow generieren?

[1] Ja, Basis-Workflow (Webhook → Agent → Response)
[2] Ja, mit Email-Trigger (für Ticket-Systeme)
[3] Ja, mit Cron-Trigger (für scheduled Tasks)
[4] Nein, ich erstelle Workflows später manuell

Wähle [1-4]:

Nach Generierung

Informiere den User:

code
n8n Workflow erstellt: n8n/workflows/agent-workflow.json

Import in n8n:
1. n8n öffnen → Workflows → Import from File
2. n8n/workflows/agent-workflow.json auswählen
3. Environment Variables setzen (MASTRA_API_URL)
4. Credentials erstellen (Mastra API Key)

Dokumentation: .claude/reference/n8n-workflows.md

Step 4: Kontext-Zusammenfassung für PRD

WICHTIG: Bevor die Session endet, fasse den gesammelten Kontext zusammen.

Dieser Kontext fließt in die PRD-Erstellung im neuen Projekt ein:

4.1 Kontext dokumentieren

Erstelle eine Zusammenfassung mit:

code
KONTEXT FÜR PRD (aus Init-Gespräch):

• Projekt-Beschreibung: [Was der User ursprünglich beschrieben hat]
• Erkannte Stufe: [1-4]
• Stack-Entscheidungen: [Was gewählt wurde und WARUM]
• Architektur-Skizzen: [Falls erstellt]
• Kunden-Anforderungen: [Spezifische Wünsche]
• Offene Fragen: [Was noch geklärt werden muss]

4.2 Handoff-Nachricht

code
┌─────────────────────────────────────────────────────────────────────────────────┐
│                                                                                  │
│  ✅ PROJEKT ERSTELLT: [project-name]                                            │
│                                                                                  │
│  Stack: [komponenten]                                                           │
│                                                                                  │
│  ═══════════════════════════════════════════════════════════════════════════   │
│                                                                                  │
│  NÄCHSTER SCHRITT:                                                              │
│                                                                                  │
│    cd ../projects/[project-name] && claude                                      │
│                                                                                  │
│  ═══════════════════════════════════════════════════════════════════════════   │
│                                                                                  │
│  IN DER NEUEN SESSION:                                                          │
│                                                                                  │
│    1. /prime                    ← Projekt-Kontext laden                         │
│    2. /create-prd               ← PRD GEMEINSAM ausspezifizieren                │
│                                                                                  │
│  KONTEXT FÜR PRD:                                                               │
│                                                                                  │
│    [Zusammenfassung aus 4.1 hier einfügen]                                      │
│                                                                                  │
└─────────────────────────────────────────────────────────────────────────────────┘

4.3 Wichtige Regel

KEINE Implementierung während /init-project!

Erlaubt in InitNICHT erlaubt in Init
Stack-EmpfehlungCode schreiben
Architektur-SkizzenWorkflows erstellen
Anforderungen sammelnComponents bauen
Kontext dokumentierenDependencies installieren

Alles Konkrete passiert NACH dem Handoff, beginnend mit /create-prd.


Step 5: In-Session Handoff (OHNE Exit!)

WICHTIG: Nach erfolgreicher Projekt-Erstellung wird ein In-Session Handoff durchgeführt. Der User muss NICHT die Session beenden und eine neue starten!

5.1 Working Directory wechseln

bash
cd ../projects/[project-name]

5.2 Handoff-Bestätigung anzeigen

code
┌─────────────────────────────────────────────────────────────────────────────┐
│                                                                             │
│  ✓ SESSION HANDOFF COMPLETE                                                 │
│                                                                             │
│  ───────────────────────────────────────────────────────────────────────    │
│                                                                             │
│  Neues Working Directory:                                                   │
│  /Users/.../projects/[project-name]                                         │
│                                                                             │
│  ⚠️  WICHTIG: Ich arbeite ab jetzt NUR in diesem Projekt.                   │
│      Das Upstream Repository (lucidlabs-agent-kit) wird NICHT verändert.    │
│                                                                             │
│  ───────────────────────────────────────────────────────────────────────    │
│                                                                             │
│  GitHub: https://github.com/lucidlabs-hq/[project-name]                     │
│  Deployment: https://[project-name].lucidlabs.app (nach Setup)              │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

5.3 Context Header für neues Projekt anzeigen

code
┌─────────────────────────────────────────────────────────────────────────────┐
│  CONTEXT                                                                    │
│  ───────                                                                    │
│                                                                             │
│  Working Directory: .../projects/[project-name]                             │
│  Repository Type:   DOWNSTREAM                                              │
│  Active Project:    [project-name]                                          │
│  PRD:               .claude/PRD.md                                          │
│  Upstream:          ../../lucidlabs-agent-kit                               │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

5.4 Boot Screen für neues Projekt anzeigen

Zeige den vollständigen Agent Kit Boot Screen (wie in /prime):

  • ASCII Logo
  • Welcome Message mit Developer-Name
  • Agent Log
  • Verfügbare Skills für das Projekt

5.5 Projekt-Status und nächste Schritte

code
┌─────────────────────────────────────────────────────────────────────────────┐
│                                                                             │
│  PROJECT: [project-name]                                                    │
│  ─────────────────────────────                                              │
│                                                                             │
│  Status:    Initial (frisch erstellt)                                       │
│  Template:  [template-name]                                                 │
│  Stack:     [stack-komponenten]                                             │
│                                                                             │
│  ───────────────────────────────────────────────────────────────────────    │
│                                                                             │
│  NÄCHSTE SCHRITTE                                                           │
│  ────────────────                                                           │
│                                                                             │
│  [1] /create-prd         PRD detaillieren (Problem, Users, MVP Scope)       │
│  [2] Dependencies        cd frontend && pnpm install                        │
│  [3] Services starten    docker compose -f docker-compose.dev.yml up        │
│                                                                             │
│  ───────────────────────────────────────────────────────────────────────    │
│                                                                             │
│  Womit möchtest du anfangen?                                                │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

Handoff-Regeln

RegelBeschreibung
Kein Session-NeustartAlles passiert in der gleichen Claude-Session
Working Directory wechselncd ins neue Projekt-Verzeichnis
Explizite BestätigungHandoff wird visuell bestätigt
Upstream-SchutzNach Handoff: KEINE Änderungen am Agent Kit mehr
Projekt-FokusAlle weiteren Aktionen betreffen nur das neue Projekt

Kernprinzip: PRD zuerst, gemeinsam

code
┌─────────────────────────────────────────────────────────────────────────────────┐
│                                                                                  │
│  WORKFLOW NACH HANDOFF                                                           │
│                                                                                  │
│  1. /create-prd         ← PRD GEMEINSAM ausspezifizieren                        │
│        │                                                                         │
│        ├─► Kontext aus Init-Gespräch einarbeiten                                │
│        ├─► Offene Fragen klären                                                 │
│        ├─► Scope definieren                                                     │
│        └─► Erst wenn PRD fertig: Implementierung                                │
│                                                                                  │
│  2. /plan-feature       ← Erst NACH PRD-Approval                                │
│                                                                                  │
└─────────────────────────────────────────────────────────────────────────────────┘

Warum In-Session Handoff?

Alter Workflow (Exit)Neuer Workflow (In-Session)
Session beendenNahtloser Übergang
Neues Terminal öffnenGleiche Session
Kontext geht verlorenKontext bleibt erhalten
User muss Befehle tippenAutomatischer Wechsel

Der PRD ist das Agreement zwischen Developer und Stakeholder.


Key Principle

In-Session Handoff: Nach Projekt-Erstellung wechselt Claude automatisch ins neue Projekt-Verzeichnis und arbeitet dort weiter. Kein Session-Neustart nötig!

Nach dem Handoff:

  • Alle Dateizugriffe beziehen sich auf das neue Projekt
  • Das Upstream Repository (lucidlabs-agent-kit) wird NICHT mehr verändert
  • /prime ist nicht nötig - der Kontext wurde bereits geladen

Available Skills in New Project

SkillDescription
/primeLoad project context
/create-prdCreate Product Requirements Document
/plan-featurePlan feature implementation
/executeExecute an implementation plan
/validateRun all validation checks
/commitCreate formatted commit
/promotePromote patterns back to template
/syncSync updates from template

Stack Reference

Für detaillierte Stack-Dokumentation siehe:

  • .claude/agent-kit-stack-overview.md - Vollständige Referenz
  • .claude/reference/ai-framework-choice.md - Mastra vs Vercel AI SDK
  • .claude/reference/mcp-servers.md - MCP Server Setup

Notes

  • Always use pnpm for package management (never npm/yarn)
  • PRD is the main project-specific file
  • Follow patterns in .claude/reference/ docs