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

# Getting Better Results with Revolte

<div className="prompt-library-page prompt-essentials-page">
  <p className="prompt-eyebrow">Get started · 4 min read</p>
  <h1 className="prompt-title">Getting Better Results with Revolte</h1>
  <p className="prompt-subtitle">A prompt gives Revolte the intent for the work—not a complete implementation spec. State the outcome clearly and the proposed plan needs less correction.</p>
  <div className="prompt-context-links"><span className="prompt-mode-pill">AI Chat + Jira Workflow</span><span>New here? Start with <a href="/get-started/task-gallery">Revolte Starter Tasks</a> →</span></div>
  <div className="prompt-section-label">The anatomy of a prompt <span>Include what removes real ambiguity. A one-line fix may need only a goal; non-trivial work usually benefits from all four.</span></div>

  <div className="prompt-anatomy">
    <div className="prompt-anatomy-cell"><div className="prompt-anatomy-num">01</div><div className="prompt-anatomy-label">Context</div><div className="prompt-anatomy-desc">Files, errors, references, or prior decisions Revolte should see</div></div>
    <div className="prompt-anatomy-cell"><div className="prompt-anatomy-num">02</div><div className="prompt-anatomy-label">Goal</div><div className="prompt-anatomy-desc">The outcome stated as a concrete change</div></div>
    <div className="prompt-anatomy-cell"><div className="prompt-anatomy-num">03</div><div className="prompt-anatomy-label">Constraints</div><div className="prompt-anatomy-desc">What must stay unchanged and what is out of scope</div></div>
    <div className="prompt-anatomy-cell"><div className="prompt-anatomy-num">04</div><div className="prompt-anatomy-label">Done when</div><div className="prompt-anatomy-desc">Tests or observable checks that prove the result</div></div>
  </div>

  <div className="prompt-callout"><p>Give Revolte the <strong>outcome</strong>, the <strong>constraints that matter</strong>, and a <strong>way to verify the result</strong>. Leave implementation to the agent. Only prescribe files, commands, or specific steps when they genuinely affect correctness.</p></div>
  <div className="prompt-section-label">Prompt patterns <span>Match the amount of detail to the work. A contained fix may need one sentence; a feature with edge cases deserves a short brief.</span></div>

  <div className="prompt-scenario-label"><span>Feature, contained scope</span><span className="prompt-scenario-guidance">Name the surface, data scope, and output format.</span></div>

  <div className="prompt-example-pair">
    <div className="prompt-card weak"><div className="prompt-card-header">Too vague</div><div className="prompt-card-body"><div className="prompt-card-text">Add a way to export data.</div><div className="prompt-card-note">Export what, from where, and in which format are all undefined.</div></div></div>
    <div className="prompt-card strong"><div className="prompt-card-header"><span>Usable</span><button type="button" className="prompt-copy-button" aria-label="Copy prompt" onClick={(event) => { const button = event.currentTarget; const text = button.closest('.prompt-card').querySelector('.prompt-card-text').innerText.trim(); navigator.clipboard.writeText(text); button.textContent = 'Copied'; button.classList.add('is-copied'); window.setTimeout(() => { button.textContent = 'Copy'; button.classList.remove('is-copied'); }, 1600); }}>Copy</button></div><div className="prompt-card-body"><div className="prompt-card-text">Add a CSV export button to the Reports page that downloads the currently filtered table in the column order shown on screen.</div><div className="prompt-card-note">Surface, data scope, and format are named without unnecessary structure.</div></div></div>
  </div>

  <div className="prompt-scenario-label"><span>Feature, open-ended scope</span><span className="prompt-scenario-guidance">Describe the outcome, surface, user role, and expected behavior.</span></div>

  <div className="prompt-example-pair">
    <div className="prompt-card weak"><div className="prompt-card-header">Too vague</div><div className="prompt-card-body"><div className="prompt-card-text">Add patient vitals to the dashboard.<br /><br />Also maybe show the trend or something. Not sure exactly what format — talk to design maybe? The doctor screens need it I think.</div><div className="prompt-card-note">Which vitals, which dashboard, which role — all undefined. "Talk to design" is not something the agent can act on.</div></div></div>
    <div className="prompt-card strong"><div className="prompt-card-header"><span>Usable</span><button type="button" className="prompt-copy-button" aria-label="Copy prompt" onClick={(event) => { const button = event.currentTarget; const text = button.closest('.prompt-card').querySelector('.prompt-card-text').innerText.trim(); navigator.clipboard.writeText(text); button.textContent = 'Copied'; button.classList.add('is-copied'); window.setTimeout(() => { button.textContent = 'Copy'; button.classList.remove('is-copied'); }, 1600); }}>Copy</button></div><div className="prompt-card-body"><div className="prompt-card-text">Add a vitals panel to the physician dashboard showing the last 7 days of HR, SpO2, and BP for the selected patient.<br /><br />Pull from GET /patients/:id/vitals. Match the existing card layout used in the labs section. Include loading and empty states.</div><div className="prompt-card-note">Role, data source, visual contract, and edge cases all covered without prescribing implementation.</div></div></div>
  </div>

  <div className="prompt-scenario-label"><span>Bug fix</span><span className="prompt-scenario-guidance">Name the symptom, reproduction path, expected behavior, and verification.</span></div>

  <div className="prompt-example-pair">
    <div className="prompt-card weak"><div className="prompt-card-header">Too vague</div><div className="prompt-card-body"><div className="prompt-card-text">The medication list is broken for some patients.<br /><br />It's been reported a few times. Sometimes it loads sometimes it doesn't. Can you look into it and fix whatever the issue is?</div><div className="prompt-card-note">No reproduction steps, no error signal, no definition of fixed. "Look into it" puts all scoping on the agent.</div></div></div>
    <div className="prompt-card strong"><div className="prompt-card-header"><span>Usable</span><button type="button" className="prompt-copy-button" aria-label="Copy prompt" onClick={(event) => { const button = event.currentTarget; const text = button.closest('.prompt-card').querySelector('.prompt-card-text').innerText.trim(); navigator.clipboard.writeText(text); button.textContent = 'Copied'; button.classList.add('is-copied'); window.setTimeout(() => { button.textContent = 'Copy'; button.classList.remove('is-copied'); }, 1600); }}>Copy</button></div><div className="prompt-card-body"><div className="prompt-card-text">The medication list throws a 500 on GET /patients/:id/medications when the patient has no active prescriptions. The UI shows a blank screen instead of an empty state.<br /><br />Fix the API to return an empty array in that case. Add an empty state to the MedicationList component. Add a test for the zero-prescription path.</div><div className="prompt-card-note">Symptom, endpoint, root cause hypothesis, UI behaviour, and test coverage all defined.</div></div></div>
  </div>

  <div className="prompt-scenario-label"><span>Refactor</span><span className="prompt-scenario-guidance">Bound the scope, preserve behavior, and define the improvement.</span></div>

  <div className="prompt-example-pair">
    <div className="prompt-card weak"><div className="prompt-card-header">Too vague</div><div className="prompt-card-body"><div className="prompt-card-text">The appointment booking flow is messy and hard to maintain.<br /><br />There's a lot of duplicated logic across the components. Please clean it up and make it more reusable. Keep it working obviously.</div><div className="prompt-card-note">"Messy" and "reusable" are subjective. No scope boundary, no success condition.</div></div></div>
    <div className="prompt-card strong"><div className="prompt-card-header"><span>Usable</span><button type="button" className="prompt-copy-button" aria-label="Copy prompt" onClick={(event) => { const button = event.currentTarget; const text = button.closest('.prompt-card').querySelector('.prompt-card-text').innerText.trim(); navigator.clipboard.writeText(text); button.textContent = 'Copied'; button.classList.add('is-copied'); window.setTimeout(() => { button.textContent = 'Copy'; button.classList.remove('is-copied'); }, 1600); }}>Copy</button></div><div className="prompt-card-body"><div className="prompt-card-text">Extract the slot-availability logic duplicated across BookAppointment.tsx, RescheduleModal.tsx, and FollowUpFlow\.tsx into a shared useSlotAvailability hook.<br /><br />Behaviour must stay identical — existing tests should still pass. Add unit tests for the hook itself.</div><div className="prompt-card-note">Scope is bounded to three files. Success criterion is existing tests passing plus new hook tests.</div></div></div>
  </div>

  <div className="prompt-scenario-label"><span>UI / compliance requirement</span><span className="prompt-scenario-guidance">Specify placement, required states, validation, persistence, and conventions.</span></div>

  <div className="prompt-example-pair">
    <div className="prompt-card weak"><div className="prompt-card-header">Too vague</div><div className="prompt-card-body"><div className="prompt-card-text">We need to add consent stuff to the onboarding.<br /><br />Legal said it's required. Something about data usage and maybe a terms checkbox. Make it look good and not annoying.</div><div className="prompt-card-note">No screen location, no copy, no required fields, no persistence target. "Not annoying" is not a design spec.</div></div></div>
    <div className="prompt-card strong"><div className="prompt-card-header"><span>Usable</span><button type="button" className="prompt-copy-button" aria-label="Copy prompt" onClick={(event) => { const button = event.currentTarget; const text = button.closest('.prompt-card').querySelector('.prompt-card-text').innerText.trim(); navigator.clipboard.writeText(text); button.textContent = 'Copied'; button.classList.add('is-copied'); window.setTimeout(() => { button.textContent = 'Copy'; button.classList.remove('is-copied'); }, 1600); }}>Copy</button></div><div className="prompt-card-body"><div className="prompt-card-text">Add a consent step to the patient onboarding flow (between profile setup and the dashboard redirect).<br /><br />Show two checkboxes: data processing consent and terms acceptance — both required to proceed. Persist consent status to PATCH /patients/:id/consent. Use the existing StepLayout component and form validation patterns.</div><div className="prompt-card-note">Placement, required fields, API target, and component conventions all specified.</div></div></div>
  </div>

  <hr className="prompt-divider" />

  <div className="prompt-section-label">Copy-paste formula <span>Fill in what applies and delete what does not.</span></div>
  <div className="prompt-formula"><div className="prompt-formula-line"><span className="prompt-placeholder">Context:</span> \[files, errors, references, or prior decisions]</div><div className="prompt-formula-line"><span className="prompt-placeholder">Goal:</span> \[the change stated as an outcome]</div><div className="prompt-formula-line"><span className="prompt-placeholder">Constraints:</span> \[what must not change or is out of scope]</div><div className="prompt-formula-line"><span className="prompt-placeholder">Done when:</span> \[tests or observable checks]</div></div>
  <div className="prompt-section-label">Best practices <span>Four habits that keep work focused and reviewable.</span></div>
  <div className="prompt-checklist"><div className="prompt-check-row"><div className="prompt-check-num">1</div><p className="prompt-check-text">Be opinionated <span>— replace “improve performance” with a measurable target or concrete behavior.</span></p></div><div className="prompt-check-row"><div className="prompt-check-num">2</div><p className="prompt-check-text">Give it a checkpoint <span>— make the scope small enough that you can review the plan and result.</span></p></div><div className="prompt-check-row"><div className="prompt-check-num">3</div><p className="prompt-check-text">Close the loop <span>— define how Revolte and your team can verify that the outcome works.</span></p></div><div className="prompt-check-row"><div className="prompt-check-num">4</div><p className="prompt-check-text">Choose the right workflow <span>— use AI Chat for discovery and iteration; use Jira Workflow for a prepared task.</span></p></div></div>

  <hr className="prompt-divider" />

  <div className="prompt-section-label prompt-reroute-heading">When a better prompt won't help <span>Some requests need to be rerouted or broken down—not rephrased.</span></div>

  <div className="prompt-callout prompt-reroute">
    <ul>
      <li><strong>A whole-codebase review with no target.</strong> “Review this repository and improve it” needs a scope, not more adjectives. See <a href="/get-started/when-to-use-revolte#ways-teams-use-revolte">Ways teams use Revolte</a> for how to turn it into focused sessions.</li>
      <li><strong>A purely subjective request with no reference.</strong> “Make this feel more premium” gives Revolte nothing concrete to match. Add a screenshot, competitor screen, design system, or existing page as the reference.</li>
      <li><strong>A project too large for one plan.</strong> A multi-week migration is a sequence of reviewable checkpoints, not one prompt. See <a href="/get-started/when-to-use-revolte#writing-tasks-revolte-can-execute">Writing tasks Revolte can execute</a>.</li>
    </ul>
  </div>

  <div className="prompt-footer"><div className="prompt-footer-actions"><a href="/get-started/task-gallery">Choose a task from the Gallery</a><a href="/get-started/quickstart"><i className="ti ti-arrow-right" aria-hidden="true" /> Continue to Quickstart</a></div><span className="prompt-footer-label">Pick a task · adapt the prompt · run it</span></div>
</div>
