> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Generar una guía de incorporación a Devin específica para el equipo

export const UseCaseHero = ({title, description, prompt, category, features, devinUrl, agent, intent, playbookId, type}) => {
  const encodedPrompt = encodeURIComponent(prompt || '');
  const tag = 'docs-use-case-gallery';
  const utm = 'utm_source=docs&utm_medium=use-case-gallery&utm_campaign=hero-cta';
  const agentParams = (agent ? '&agent=' + agent : '') + (intent ? '&intent=' + intent : '') + (playbookId ? '&playbookId=' + playbookId : '');
  const devinHref = type === 'schedule' ? 'https://app.devin.ai/settings/schedules/create?' + utm + agentParams + (prompt ? '&prompt=' + encodedPrompt : '') : type === 'review' ? 'https://app.devin.ai/review?' + utm : agent === 'ada' ? 'https://app.devin.ai/search?' + utm + '&noSubmit=true' + (prompt ? '&prompt=' + encodedPrompt : '') : devinUrl ? devinUrl.includes('?') ? devinUrl + '&' + utm + agentParams : devinUrl + '?' + utm + agentParams : prompt ? 'https://app.devin.ai/?tags=' + tag + '&' + utm + agentParams + '&prompt=' + encodedPrompt : 'https://app.devin.ai/?' + utm + agentParams;
  const buttonLabel = type === 'schedule' ? 'Schedule in Devin ↗' : type === 'review' ? 'Set Up Devin Review ↗' : agent === 'advanced' ? 'Try in Devin ↗' : agent === 'dana' ? 'Try in Dana ↗' : agent === 'ada' ? 'Try in Ask Devin ↗' : 'Try in Devin ↗';
  const featureList = features ? features.split(',').map(f => f.trim()) : [];
  return <div className="uc-hero">
      <div className="uc-hero-inner">
        <div className="uc-hero-left">
          <h1 className="uc-hero-title">{title}</h1>
          <p className="uc-hero-desc">{description}</p>
          <div>
            <a href={devinHref} target="_blank" rel="noopener noreferrer" className="try-in-devin-btn">
              {buttonLabel}
            </a>
          </div>
        </div>
        <div className="uc-hero-meta">
          <div className="uc-meta-item">
            <span className="uc-meta-label">Author</span>
            <span className="uc-meta-value">Cognition</span>
          </div>
          <div className="uc-meta-item">
            <span className="uc-meta-label">Category</span>
            <span className="uc-meta-value">{category}</span>
          </div>
          {featureList.length > 0 && <div className="uc-meta-item">
              <span className="uc-meta-label">Features</span>
              <span className="uc-meta-value">{featureList.join(', ')}</span>
            </div>}
        </div>
      </div>
    </div>;
};

export const PromptBlock = ({children, type, agent, intent, playbookId}) => {
  var utm = 'utm_source=docs&utm_medium=use-case-gallery&utm_campaign=prompt-block';
  var tag = 'docs-use-case-gallery';
  var agentParams = (agent ? '&agent=' + agent : '') + (intent ? '&intent=' + intent : '') + (playbookId ? '&playbookId=' + playbookId : '');
  var label = type === 'schedule' ? 'Schedule in Devin' : type === 'playbook' ? 'Create Playbook' : type === 'knowledge' ? 'Add to Knowledge' : agent === 'advanced' ? 'Try in Devin' : agent === 'dana' ? 'Try in Dana' : agent === 'ada' ? 'Try in Ask Devin' : 'Try in Devin';
  var buildUrl = function (text) {
    var encoded = encodeURIComponent(text);
    if (type === 'schedule') return 'https://app.devin.ai/settings/schedules/create?' + utm + agentParams + '&prompt=' + encoded;
    if (type === 'playbook') return 'https://app.devin.ai/settings/playbooks/create?' + utm + '&body=' + encoded;
    if (type === 'knowledge') return 'https://app.devin.ai/knowledge?' + utm + '&body=' + encoded;
    if (agent === 'ada') return 'https://app.devin.ai/search?' + utm + '&noSubmit=true&prompt=' + encoded;
    return 'https://app.devin.ai/?tags=' + tag + '&' + utm + agentParams + '&prompt=' + encoded;
  };
  const ref = React.useRef(null);
  const [href, setHref] = React.useState('#');
  React.useEffect(() => {
    if (!ref.current) return;
    var codeEl = ref.current.querySelector('pre code');
    if (codeEl) {
      var text = codeEl.textContent.trim();
      if (text) setHref(buildUrl(text));
    }
    var header = ref.current.querySelector('[data-component-part="code-block-header"]');
    if (header && !header.querySelector('.prompt-block-devin-link')) {
      var link = document.createElement('a');
      link.href = href;
      link.target = '_blank';
      link.rel = 'noopener noreferrer';
      link.className = 'prompt-block-devin-link';
      link.style.cssText = 'display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:#fff;font-size:11px;font-weight:500;padding:4px 10px;border-radius:6px;white-space:nowrap;background:#317CFF;transition:background 0.2s;margin-left:8px;';
      link.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg> ' + label;
      link.onmouseenter = function () {
        link.style.background = '#2968D9';
      };
      link.onmouseleave = function () {
        link.style.background = '#317CFF';
      };
      header.appendChild(link);
    }
    var existingLink = ref.current.querySelector('.prompt-block-devin-link');
    if (existingLink && href !== '#') existingLink.href = href;
  });
  return <div className="prompt-block" ref={ref}>{children}</div>;
};

<UseCaseHero title="Generar una guía de incorporación a Devin específica para tu equipo" description="Devin lee su propia documentación y genera una guía de primeros pasos personalizada para el stack tecnológico, las integraciones y los flujos de trabajo de tu equipo, lista para compartir en Notion o Slack." prompt="Lee la documentación de Devin y crea una guía de primeros pasos para nuestro equipo de ingeniería. Concéntrate en: iniciar sesiones desde Slack, redactar prompts eficaces, configurar nuestras integraciones con Linear y GitHub, crear playbooks y gestionar Knowledge. Adapta los ejemplos a un stack de Node.js/React. Dale formato como una página de Notion que podamos compartir en #engineering." category="Optimización de Devin" features="MCP" />

<div className="uc-detail-wrapper">
  <Tip>¿Prefieres no configurarlo manualmente? Pega un enlace a esta página en una sesión de Devin y pídele que lo configure todo por ti.</Tip>

  <Steps>
    <Step title="Pídele a Devin que genere tu guía">
      Devin tiene acceso integrado a su propia documentación a través de [Devin Docs MCP](/es/work-with-devin/devin-mcp), sin necesidad de configuración ni preparación previa. Puede buscar y leer bajo demanda todo el sitio de documentación, la referencia de la API, el changelog y las mejores prácticas.

      En lugar de enviar a las personas nuevas en el equipo una lista de enlaces a documentación, haz que Devin destile exactamente lo que tu equipo necesita en una única guía de onboarding con prompts, flujos de trabajo y ejemplos adaptados a tu stack.

      <PromptBlock>
        ```txt Generate a team-specific onboarding guide theme={null}
        Lee la documentación de Devin y crea una guía de primeros pasos para
        nuestro equipo de ingeniería. La guía debe cubrir:

        1. Cómo iniciar una sesión (Slack vs. aplicación web — cuándo usar cada una)
        2. Cómo escribir prompts eficaces (incluye rutas de archivos, contexto de errores, alcance)
        3. Cómo configurar nuestra integración con Linear para flujos de trabajo basados en tickets
        4. Cómo crear playbooks para nuestras migraciones recurrentes de Express a Fastify
        5. Cómo añadir entradas de Knowledge para las convenciones de nuestra base de código
           (por ejemplo, "todas las rutas de la API están en src/routes/, ejecuta npm run test:api")

        Adapta cada ejemplo a nuestro stack: Node.js, React, PostgreSQL.
        Da formato al resultado como una página de Notion que podamos pegar en #engineering.
        ```
      </PromptBlock>
    </Step>

    <Step title="Revisa la guía generada">
      Devin busca en su documentación para cada tema, lee las páginas relevantes y sintetiza una guía de incorporación completa adaptada a tu stack y a tu flujo de trabajo. Así se ve el resultado:

      ```markdown theme={null}
      # Primeros pasos con Devin — Equipo de Ingeniería de Acme

      ## 1. Iniciar una sesión
      | Método | Cuándo usarlo | Ejemplo |
      |--------|-------------|--------|
      | **Slack** — mensaje a @Devin | Tareas rápidas y acotadas | "Corrige el CI fallido en api-service" |
      | **Aplicación web** — app.devin.ai | Tareas más largas que requieren archivos adjuntos o playbooks | Adjuntar un playbook de migración + archivo de especificaciones |

      ## 2. Cómo escribir prompts efectivos
      Devin funciona mejor con solicitudes específicas y acotadas. Incluye siempre
      la ruta del archivo, qué está fallando y cuándo comenzó el problema.

      ❌ "Corrige el bug de inicio de sesión"
      ✅ "El formulario de inicio de sesión en src/pages/Login.tsx devuelve un 401 para credenciales
         válidas desde la rotación de clave JWT del viernes. Revisa el
         middleware de autenticación en src/middleware/auth.ts."

      ## 3. Integración con Linear
      Ve a Configuración > Conexiones > Linear y autoriza. Una vez
      conectado, Devin puede:
      - Tomar automáticamente los tickets que se le asignen
      - Actualizar el estado del ticket mientras trabaja
      - Vincular PRs al ticket de Linear de origen

      Consulta la guía de configuración completa: docs.devin.ai/integrations/linear

      ## 4. Playbooks para tareas recurrentes
      Crea prompts reutilizables en Configuración > Playbooks > Crear nuevo.
      Para nuestra migración de Express a Fastify, el playbook debe incluir:
      - La ruta del módulo de destino (p. ej., src/services/payments/)
      - Comandos de prueba: npm run test:api && npm run test:integration
      - Pasos de reversión si la migración rompe consumidores dependientes

      ## 5. Conocimiento — Enseñando a Devin nuestras convenciones
      Agrega las convenciones del equipo en Configuración > Conocimiento > Crear conocimiento.

      Ejemplo de entrada:
        Disparador: "trabajando en rutas de API"
        Contenido: "Usamos Fastify, no Express. Todas las rutas están en
        src/routes/. Ejecuta npm run test:api antes de hacer commit.
        Las respuestas de error deben usar la clase ApiError de src/lib/errors.ts."
      ```
    </Step>

    <Step title="Amplía la guía con indicaciones de seguimiento">
      Keep the same session open — Devin conserva el contexto y puede ampliar la guía con secciones adicionales.

      <PromptBlock>
        ```txt Añadir una sección de plantillas de prompts theme={null}
        Añade una nueva sección a la guía: "Plantillas de prompts para copiar y pegar."
        Incluye 6 plantillas que nuestro equipo pueda reutilizar para tareas comunes:
        corrección de errores, implementación de funcionalidades, cobertura de pruebas,
        migraciones de bases de datos, actualizaciones de dependencias y depuración de la CI.
        Cada plantilla debe tener marcadores de posición como [file path],
        [error message] y [ticket link].
        ```
      </PromptBlock>

      <PromptBlock>
        ```txt Añadir una sección "Novedades" a partir del changelog theme={null}
        Lee las notas de la versión de Devin y añade una sección "Novedades"
        a la guía que cubra las funcionalidades lanzadas en el último mes.
        Destaca cualquier aspecto que cambie la forma en que usamos playbooks,
        sesiones programadas o la API.
        ```
      </PromptBlock>

      <PromptBlock>
        ```txt Añadir una tabla de decisión Knowledge vs. Playbooks theme={null}
        Añade una sección a la guía que explique cuándo usar Knowledge
        vs. Playbooks. Incluye una tabla comparativa y 3 ejemplos concretos
        de un proyecto en Node.js que muestren cuál es mejor
        para cada escenario.
        ```
      </PromptBlock>
    </Step>

    <Step title="Comparte la guía y manténla actualizada">
      Una vez que la guía se vea bien, compártela y guárdala como [Knowledge](/es/product-guides/knowledge) para que el propio Devin pueda consultar las convenciones de tu equipo:

      1. **Comparte la guía** — pega la página de Notion en tu canal `#engineering` o fíjala en el wiki de tu equipo
      2. **Guárdala como Knowledge** — ve a **Settings > Knowledge > Create knowledge**, define el disparador como `"onboarding new team members to Devin"`, pega el contenido de la guía y fíjala en **todos los repositorios**

      Ahora, cuando cualquier miembro del equipo le pregunte a Devin "¿cómo debería escribir prompts?" o "¿cómo conecto Linear?", obtendrá la información de tu guía personalizada, no de documentación genérica.

      A medida que Devin lance nuevas funcionalidades, pídele que actualice la guía en el mismo formato de sesión: *"Lee el [changelog](/es/release-notes/overview) más reciente y actualiza nuestra guía de onboarding con cualquier funcionalidad nueva que afecte nuestros flujos de trabajo."*
    </Step>
  </Steps>
</div>
