Justice — Result Page Routing
Purpose
Not every output belongs in the chat stream. Long drafts, structured memos, multi-document comparisons, and outputs that need follow-up tools should route to a purpose-built result page. This skill defines the decision rules for when to stay in chat vs when to route out.
Inputs / signals
The routing decision uses four signals:
- Output type — what kind of result was produced
- Output length — word / line count
- Follow-up tooling — does the output need further manipulation (editing, TOC, citation linking, comparison)?
- User intent — did the user explicitly say "show me the result page" or "open in workspace"?
Routing decision table
| Output type |
Length threshold |
Route to |
| Document draft (contract, brief, memo, letter) |
> 200 words |
Doc workspace (draft loaded) |
| Document draft |
≤ 200 words |
Inline in chat (with "Open in workspace" option) |
| Legal research memo |
Any |
Memo viewer + bibliography panel |
| Multi-document comparison |
Any |
Compare viewer (side-by-side diff) |
| Translation |
Any |
Side-by-side bilingual viewer |
| Cap table reconciliation |
Any |
Cap table viewer |
| Citation check / cite-check |
Any |
Citation report viewer |
| Summary or brief answer |
Any |
Inline in chat |
| Flashcard set |
> 10 cards |
Flashcard viewer / export |
| Flashcard set |
≤ 10 cards |
Inline in chat |
| Contract redline / tracked-changes |
Any |
Doc workspace (track-changes mode) |
| Data extraction (from document) |
Any |
Structured table viewer |
Inline chat threshold
Keep output in chat when all of the following are true:
- Output is ≤ 500 lines
- Output does not require follow-up tools (no edit, compare, TOC, citation cross-reference needed)
- User's stated intent is conversational ("what does this clause mean?") not work-product ("draft me a lease")
- Output does not benefit from anchors, headings, or cross-references that would be navigable in a dedicated view
Route to a result page when any of the following are true:
- Output > 500 lines
- Output is a structured work product (contract, memo, redline)
- Output requires follow-up tools available only in a result page (doc editor, citation linker, compare panel)
- User explicitly requests a result page ("open in workspace", "show me the full document")
Result page types and their URLs
| Result page |
URL pattern |
What it contains |
| Doc workspace |
/workspace/:doc_id |
Full editor, track-changes, export, matter filing |
| Memo viewer |
/research/:memo_id |
Research memo with TOC + bibliography panel |
| Compare viewer |
/compare/:job_id |
Side-by-side doc comparison with delta summary |
| Bilingual viewer |
/translate/:job_id |
Side-by-side source + translation, term glossary |
| Cap table viewer |
/captable/:job_id |
Reconciled cap table with shareholder summary |
| Citation report |
/citecheck/:job_id |
Flagged citations with status (found / missing / incorrect) |
| Flashcard viewer |
/flashcards/:set_id |
Spaced-repetition interface + export to Anki / CSV |
UX rules
- Always show an "Open in [viewer]" button in chat even when displaying a short output inline — give the user the option
- For very long outputs routed to a result page, show a brief summary in chat (3–5 lines) so the user gets immediate signal: "I've drafted a 12-clause NDA — opening it in the doc workspace now. Here's a quick summary: …"
- If routing to a result page, do not also dump the full output into chat — it creates duplication and confusion
- On mobile, result pages render in a slide-over sheet rather than full navigation; chat remains accessible
Related skills
- [[justice-message-actions]]
- [[justice-slash-commands]]
- [[justice-product-demo-context-memory]]
1---2name: justice-result-page-routing3description: Use to decide, after a substantive AI task completes, whether to display the output inline in chat or route the user to a dedicated result page (doc workspace, memo viewer, compare viewer, citation report, etc.). Applies a deterministic threshold based on output type, length, and follow-up tool needs. Covers all jurisdictions; no practice area restriction — this is a UI-routing and output-orchestration skill.4license: MIT5---67# Justice — Result Page Routing89## Purpose1011Not every output belongs in the chat stream. Long drafts, structured memos, multi-document comparisons, and outputs that need follow-up tools should route to a purpose-built result page. This skill defines the decision rules for when to stay in chat vs when to route out.1213## Inputs / signals1415The routing decision uses four signals:16171. **Output type** — what kind of result was produced182. **Output length** — word / line count193. **Follow-up tooling** — does the output need further manipulation (editing, TOC, citation linking, comparison)?204. **User intent** — did the user explicitly say "show me the result page" or "open in workspace"?2122## Routing decision table2324| Output type | Length threshold | Route to |25|---|---|---|26| Document draft (contract, brief, memo, letter) | > 200 words | Doc workspace (draft loaded) |27| Document draft | ≤ 200 words | Inline in chat (with "Open in workspace" option) |28| Legal research memo | Any | Memo viewer + bibliography panel |29| Multi-document comparison | Any | Compare viewer (side-by-side diff) |30| Translation | Any | Side-by-side bilingual viewer |31| Cap table reconciliation | Any | Cap table viewer |32| Citation check / cite-check | Any | Citation report viewer |33| Summary or brief answer | Any | Inline in chat |34| Flashcard set | > 10 cards | Flashcard viewer / export |35| Flashcard set | ≤ 10 cards | Inline in chat |36| Contract redline / tracked-changes | Any | Doc workspace (track-changes mode) |37| Data extraction (from document) | Any | Structured table viewer |3839## Inline chat threshold4041Keep output in chat when **all** of the following are true:4243- Output is ≤ 500 lines44- Output does not require follow-up tools (no edit, compare, TOC, citation cross-reference needed)45- User's stated intent is conversational ("what does this clause mean?") not work-product ("draft me a lease")46- Output does not benefit from anchors, headings, or cross-references that would be navigable in a dedicated view4748Route to a result page when **any** of the following are true:4950- Output > 500 lines51- Output is a structured work product (contract, memo, redline)52- Output requires follow-up tools available only in a result page (doc editor, citation linker, compare panel)53- User explicitly requests a result page ("open in workspace", "show me the full document")5455## Result page types and their URLs5657| Result page | URL pattern | What it contains |58|---|---|---|59| Doc workspace | `/workspace/:doc_id` | Full editor, track-changes, export, matter filing |60| Memo viewer | `/research/:memo_id` | Research memo with TOC + bibliography panel |61| Compare viewer | `/compare/:job_id` | Side-by-side doc comparison with delta summary |62| Bilingual viewer | `/translate/:job_id` | Side-by-side source + translation, term glossary |63| Cap table viewer | `/captable/:job_id` | Reconciled cap table with shareholder summary |64| Citation report | `/citecheck/:job_id` | Flagged citations with status (found / missing / incorrect) |65| Flashcard viewer | `/flashcards/:set_id` | Spaced-repetition interface + export to Anki / CSV |6667## UX rules6869- Always show an **"Open in [viewer]"** button in chat even when displaying a short output inline — give the user the option70- For very long outputs routed to a result page, show a **brief summary in chat** (3–5 lines) so the user gets immediate signal: "I've drafted a 12-clause NDA — opening it in the doc workspace now. Here's a quick summary: …"71- If routing to a result page, do **not** also dump the full output into chat — it creates duplication and confusion72- On mobile, result pages render in a slide-over sheet rather than full navigation; chat remains accessible7374## Related skills7576- [[justice-message-actions]]77- [[justice-slash-commands]]78- [[justice-product-demo-context-memory]]