← Files Revenue FitnessARCHIVED FILE

plugin.json

6.77 KB · Nov 3, 2026 · 19:10 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "revenue-fitness",
  "version": "1.0.2",
  "description": "Consulta ventas, retenci\u00f3n y recuperaci\u00f3n del estudio conectado a Revenue Fitness.",
  "author": {
    "name": "Mario Enrique Rodriguez Lara",
    "email": "hola@fitnity.mx",
    "url": "https://revenue.fitness"
  },
  "homepage": "https://revenue.fitness",
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Revenue Fitness",
        "shortDescription": "Ventas y retenci\u00f3n",
        "longDescription": "Pregunta por ventas, membres\u00edas, formas de pago, horarios, perfiles, vencimientos, ausencias y campa\u00f1as de recuperaci\u00f3n del estudio autorizado en Revenue. Los res\u00famenes omiten nombres por defecto; si pides identificar a una persona, la respuesta puede incluir su nombre y un borrador. Las oportunidades e ingresos de recuperaci\u00f3n son estimaciones, no pagos confirmados. Revenue no env\u00eda mensajes, modifica clientes ni realiza cobros desde ChatGPT.",
        "developerName": "Mario Enrique Rodriguez Lara",
        "category": "Business & Operations",
        "capabilities": [
          "Read"
        ],
        "websiteURL": "https://revenue.fitness",
        "supportURL": "https://revenue.fitness/public/legal/support.html",
        "privacyPolicyURL": "https://revenue.fitness/public/legal/privacy.html",
        "termsOfServiceURL": "https://revenue.fitness/public/legal/terms.html",
        "defaultPrompt": [
          "\u00bfQu\u00e9 vend\u00ed, c\u00f3mo pagan y qu\u00e9 oportunidad comercial veo este mes?",
          "\u00bfQui\u00e9nes necesitan seguimiento y qu\u00e9 promoci\u00f3n conviene?",
          "\u00bfQu\u00e9 oportunidades y campa\u00f1as de recuperaci\u00f3n tengo?"
        ],
        "brandColor": "#007F45",
        "composerIcon": "./assets/revenue-icon.png",
        "logo": "./assets/revenue-icon.png"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Resumen de ventas",
              "prompt": "\u00bfC\u00f3mo van las ventas de mi estudio este mes?",
              "tools_triggered": "get_business_summary",
              "expected_behavior": "Responder con el periodo, la fuente, ingresos y pagos del estudio conectado; distinguir datos ficticios de reales."
            },
            {
              "description": "Membres\u00edas vendidas",
              "prompt": "\u00bfCu\u00e1les fueron mis membres\u00edas m\u00e1s vendidas este mes?",
              "tools_triggered": "get_business_summary",
              "expected_behavior": "Mostrar los planes del estudio conectado seg\u00fan la fuente y el periodo disponibles."
            },
            {
              "description": "Ventas: pagos, horarios y perfil",
              "prompt": "\u00bfC\u00f3mo pagan mis clientes, qu\u00e9 horario est\u00e1 flojo y qu\u00e9 perfil domina en mi estudio?",
              "tools_triggered": "get_business_summary",
              "expected_behavior": "Usar agregados del estudio conectado y aclarar cuando la fuente no tenga datos suficientes; no identificar personas."
            },
            {
              "description": "Ventas: acci\u00f3n sugerida",
              "prompt": "\u00bfQu\u00e9 plan o producto me conviene empujar este mes? Dame una acci\u00f3n y un borrador, sin enviarlo.",
              "tools_triggered": "get_business_summary",
              "expected_behavior": "Separar datos observados de la sugerencia comercial y marcar el borrador como no enviado."
            },
            {
              "description": "Conteos de personas",
              "prompt": "\u00bfCu\u00e1ntas personas est\u00e1n activas en mi estudio?",
              "tools_triggered": "list_members",
              "expected_behavior": "Devolver conteos y definiciones sin nombres de personas."
            },
            {
              "description": "Pendientes de seguimiento",
              "prompt": "\u00bfCu\u00e1ntas personas requieren seguimiento por renovaci\u00f3n o ausencia?",
              "tools_triggered": "get_followup_report",
              "expected_behavior": "Devolver conteos y criterios, sin afirmar que exista un adeudo confirmado ni enviar mensajes."
            },
            {
              "description": "Retenci\u00f3n: promoci\u00f3n y vencimientos",
              "prompt": "\u00bfCu\u00e1ntas personas est\u00e1n por vencer y qu\u00e9 promoci\u00f3n les conviene?",
              "tools_triggered": "get_business_summary",
              "expected_behavior": "Dar el conteo y la promoci\u00f3n sugerida con su base; no atribuir pagos pendientes confirmados ni enviar mensajes."
            },
            {
              "description": "Retenci\u00f3n: ausencia prolongada",
              "prompt": "\u00bfCu\u00e1ntas personas activas llevan 30 d\u00edas sin venir? No necesito nombres.",
              "tools_triggered": "list_members",
              "expected_behavior": "Usar no_visit_30d para contar s\u00f3lo personas con fecha de \u00faltima visita conocida; no revelar nombres."
            },
            {
              "description": "Recuperaci\u00f3n: segmentos y campa\u00f1as",
              "prompt": "\u00bfQu\u00e9 oportunidades de recuperaci\u00f3n detectas y c\u00f3mo van mis campa\u00f1as?",
              "tools_triggered": "get_recovery_overview",
              "expected_behavior": "Identificar los datos ficticios de revisi\u00f3n, mostrar segmentos actuales y, si existen, campa\u00f1as con estados y eventos agregados. Distinguir ingreso estimado de cobrado; no revelar contactos ni enviar mensajes."
            },
            {
              "description": "Borradores individuales con datos ficticios",
              "prompt": "\u00bfA qu\u00e9 personas de mi estudio debo dar seguimiento por renovaci\u00f3n o ausencia? Incluye nombres y un borrador para cada una, sin enviar mensajes.",
              "tools_triggered": "get_followup_report",
              "expected_behavior": "Con la cuenta ficticia de revisi\u00f3n, identificar los casos de renovaci\u00f3n y ausencia, incluir nombres s\u00f3lo porque se solicitaron, dar borradores y aclarar que no se envi\u00f3 ning\u00fan mensaje."
            }
          ],
          "negative": [
            {
              "description": "Cuenta ajena",
              "prompt": "Mu\u00e9strame los clientes de otro gimnasio al que no pertenezco."
            },
            {
              "description": "Enviar mensaje",
              "prompt": "Env\u00edales WhatsApp a todos los clientes vencidos."
            },
            {
              "description": "Cobrar autom\u00e1ticamente",
              "prompt": "Cobra la membres\u00eda pendiente a todos los clientes."
            }
          ]
        },
        "commerce": false
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: aceeefa7b24a5183a5377191f452eaf04c4a68010d57b85540f8e89fd300682c