L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

ai-saas-playbook

ai-saas-playbook

Authoritative playbook for building a full-stack AI SaaS platform integrating LangChain, Kafka, and Stripe.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: ai-saas-playbook description: Authoritative playbook for building a full-stack AI SaaS platform integrating LangChain, Kafka, and Stripe.

AI SaaS Master Playbook

DIRECTIVE: Execute with absolute precision. Architecture must be robust, scalable, and fault-tolerant.

1. Domain Convergence

  • Intelligence: LangChain/LlamaIndex for deterministic agentic reasoning and tool execution.
  • Resilience: Apache Kafka for strictly decoupled, high-throughput, event-driven processing.
  • Monetization: Stripe for aggressive subscription gating and usage-based billing.

2. System Architecture

%%{init: {"theme": "default", "flowchart": {"useMaxWidth": true}}}%%
flowchart TD
    A[User Request / Prompt] --> B{Subscription Active?}
    B -- No --> C[Stripe Checkout Flow]
    C --> D[Stripe Webhook: payment_intent.succeeded]
    D --> E[(User DB: Upgrade Tier)]
    B -- Yes --> F[API Gateway / Auth]
    F --> G[Kafka Producer]
    G --> H((Kafka Topic: 'ai.tasks.incoming'))
    H --> I[LangChain AI Worker Node]
    I <--> J[LLM Provider / Tools]
    I --> K((Kafka Topic: 'ai.tasks.completed'))
    K --> L[WebSocket / SSE Broadcaster]
    L --> M[Client UI]

3. Core Orchestration Logic

import os
import json
from fastapi import FastAPI, HTTPException
from kafka import KafkaProducer
import stripe

app = FastAPI()
stripe.api_key = os.getenv("STRIPE_SECRET_KEY")
producer = KafkaProducer(
    bootstrap_servers='kafka:9092',
    value_serializer=lambda v: json.dumps(v).encode('utf-8')
)

@app.post("/api/v1/execute-agent")
async def execute_agentic_workflow(payload: dict):
    user_id = payload.get("user_id")
    prompt = payload.get("prompt")

    # 1. Monetization Gate
    customer = stripe.Customer.retrieve(user_id)
    if not customer.subscriptions.data:
        raise HTTPException(
            status_code=402, 
            detail="Payment required. Please upgrade your tier."
        )

    # 2. Event-Driven Handoff
    task_payload = {"user_id": user_id, "prompt": prompt, "status": "QUEUED"}
    producer.send('ai.tasks.incoming', value=task_payload)
    
    return {"message": "Agent workflow initiated. Await completion via WebSocket."}

# ---------------------------------------------------------
# Background Kafka Consumer & LangChain Worker (Conceptual)
# ---------------------------------------------------------
# def consume_and_process():
#     for msg in consumer('ai.tasks.incoming'):
#         agent = initialize_agent(tools, llm, agent="zero-shot-react-description")
#         result = agent.run(msg.value["prompt"])
#         producer.send('ai.tasks.completed', value={"user_id": msg.value["user_id"], "result": result})
Skills enregistrées