> ## 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.

# Trasforma i PRD in ticket per lo sprint

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="Trasforma i PRD in ticket di sprint" description="Indica a Devin un PRD in Notion e ottieni ticket Linear dettagliati per ogni pacchetto di lavoro." prompt="Leggi il PRD in questa pagina Notion: [incolla URL Notion]. Esamina la nostra codebase per capire l'architettura attuale, quindi suddividi il progetto in pacchetti di lavoro indipendenti. Per ciascun pacchetto di lavoro, crea un ticket Linear con descrizione, criteri di accettazione, stima della complessità (S/M/L) ed elenco dei file da modificare." category="Project Management" features="Integrations, MCP" />

<div className="uc-detail-wrapper">
  <Tip>Non vuoi configurarlo manualmente? Incolla un collegamento a questa pagina in una sessione di Devin e chiedigli di configurare tutto per te.</Tip>

  <Steps>
    <Step title="Collega Notion e Linear">
      Devin legge il tuo PRD direttamente da Notion usando il [Notion MCP](/it/work-with-devin/mcp). Vai a **Settings > Connections > server MCP**, trova **Notion** e fai clic su **Enable**. Ti verrà chiesto di autorizzare l'accesso al tuo workspace Notion: concedi l'accesso in sola lettura al workspace in cui si trovano i tuoi PRD.

      Anche la tua [integrazione Linear](/it/integrations/linear) deve essere collegata. Vai a **Settings > Connections > Linear** e fai clic su **Connect**, quindi seleziona i team in cui Devin deve creare i ticket. Una volta connesso, Devin dispone automaticamente degli strumenti nativi di Linear — non è necessario un MCP Linear separato.
    </Step>

    <Step title="Indica a Devin il tuo PRD">
      Condividi l'URL della pagina Notion e indica a Devin esattamente come strutturare i ticket. Sii specifico sul nome del progetto Linear, sul formato dei ticket e su eventuali convenzioni del team.

      <PromptBlock>
        ```txt PRD to tickets theme={null}
        Read the PRD at this Notion page:
        https://notion.so/yourteam/user-profiles-v2-abc123

        Investigate our codebase to understand the current user profile
        architecture, then break this project into independent work packages.

        For each work package, create a Linear ticket in the "User Profiles V2"
        project with:
        - A clear description of the change and why it's needed
        - Acceptance criteria
        - Complexity estimate (S/M/L)
        - List of files likely to be modified

        Order the tickets by suggested implementation sequence and note
        any dependencies between them.
        ```
      </PromptBlock>

      Se il tuo team segue un template specifico per i ticket, aggiungilo come voce di [Knowledge](/it/product-guides/knowledge) invece di ripeterlo in ogni prompt. Per esempio: "Tutti i ticket di engineering devono includere: Description, Acceptance Criteria, Technical Notes e stima T-shirt size." Devin applica automaticamente Knowledge a ogni sessione.
    </Step>

    <Step title="Rivedi la scomposizione dei ticket">
      Devin legge l'intero PRD tramite il Notion MCP, esegue ricerche nella tua codebase per mappare l'architettura rilevante, quindi crea ticket Linear definiti rispetto a confini di codice indipendenti. Pubblica un riepilogo come questo:

      | Ticket | Title                                                        | Size | Dependencies |
      | ------ | ------------------------------------------------------------ | ---- | ------------ |
      | UP-101 | Add avatar upload endpoint to `/api/users/avatar`            | S    | None         |
      | UP-102 | Create profile settings page in `src/pages/settings/profile` | M    | None         |
      | UP-103 | Migrate `users` table to support bio and social links        | M    | None         |
      | UP-104 | Build profile preview card component                         | S    | UP-103       |
      | UP-105 | Add public/private visibility toggle to profile settings     | M    | UP-103       |
      | UP-106 | Index new profile fields in Elasticsearch for user search    | L    | UP-103       |

      Ogni ticket Linear include criteri di accettazione, percorsi dei file e note di implementazione ricavati dal PRD e dalla codebase effettivi — non descrizioni generiche.
    </Step>

    <Step title="Affina e avvia l'implementazione">
      Rivedi i ticket in Linear. Se alcuni sono troppo ampi, chiedi a Devin di suddividerli. Quando sei pronto, puoi assegnare a Devin ciascuno di questi ticket in Linear per iniziare l'implementazione oppure aggiungere l'etichetta `!implement` per usare il playbook di implementazione predefinito.

      <PromptBlock playbookId="b6ba73c577084d2392720a2abf51dc26">
        ```txt Implement a ticket theme={null}
        Implement UP-101: Add avatar upload endpoint to /api/users/avatar.
        Follow the acceptance criteria in the ticket. Open a PR when done.
        ```
      </PromptBlock>
    </Step>
  </Steps>
</div>
