Tech Route Maker
Purpose
Use this skill to turn source materials into evidence-grounded editable technical route diagrams for research and engineering projects across multiple disciplines.
Primary users are researchers, students, academic writers, engineering teams and agent/tool builders preparing paper framework figures, method overview diagrams, thesis proposal routes, defense visuals, course-design diagrams, engineering system routes and workflow pipelines.
Campaign or advertising routes are legacy/experimental use cases. Do not make them the default direction unless the user explicitly asks for them.
Portability
This skill is intentionally agent-agnostic. SKILL.md is the source of truth for Codex/OpenAI-style skill loaders and any agent that understands skill folders. Other adapters in the repository point back here:
AGENTS.md for generic coding agents.
CLAUDE.md for Claude-style project context.
GEMINI.md and .gemini/settings.json for Gemini CLI.
.cursor/rules/tech-route-maker.mdc for Cursor.
.github/copilot-instructions.md for GitHub Copilot coding agent.
.aider.conf.yml for Aider-style workflows.
Default Interaction Policy
Do not interrupt the user with a long sequence of questions, but do not guess domain or delivery preferences from a field-agnostic request.
Before final rendering, explicitly establish the domain context and confirm the requested output format, target medium, layout family and visual style. Present one concise grouped choice with sensible defaults; allow single or multiple output formats. If the source explicitly proves a domain fact, extract it with an evidence locator instead of asking the user to repeat it.
Default behavior:
- Never render a final technical route diagram from a field-agnostic request such as "draw a technical route diagram" without first identifying the discipline, subfield, project type, research object, method family and evaluation logic.
- If source files are available, extract domain context only from explicit source evidence. Ask one concise field-specific clarification question for every material gap rather than silently inventing it.
- If the user asks for a quick draft before the field is complete, mark
domain_context.confidence as low, keep missing items in unresolved_questions, and report that the output is not final.
- If the user asks in Chinese for 开题, 课题申报, 项目申请, 基金, 论文技术路线图, or a Chinese research route diagram, prefer the Chinese academic presets below.
- If the user asks for an editable presentation figure, generate
pptx, svg and json.
- If the user asks for a paper or research figure, generate
svg, pptx and json.
- If the user asks for a maintainable system diagram, generate
drawio, svg and json.
- If the user asks for Draw.io, diagrams.net, online editing, import code, copyable code, or "能复制到draw.io的代码", include
drawio-code and explain how to paste the XML into diagrams.net.
- If the user asks for documentation output, generate
markdown, mermaid and json.
- If the user asks for long-term maintenance, add
drawio.
- If the user asks for all formats, render
pptx, svg, drawio, drawio-code, excalidraw, mermaid, html, markdown and json.
Always record the selected preset and output formats in selected_preset and metadata.selected_output_formats.
Always record the discipline-specific context in domain_context.
Always state that generated editable files are drafts that require factual, wording and visual revision before publication or submission.
Domain Context Policy
Technical route diagrams are domain-sensitive. A diagram for computer vision, materials science, energy engineering, biomedical research, mechanical control, environmental field studies and social science should not share the same semantic grammar.
Before final rendering, establish:
discipline: broad field.
subfield: specific direction.
project_type: paper figure, thesis proposal, grant application, engineering report, system architecture, experiment workflow, review framework, or similar.
research_object: concrete object under study.
method_family: main method type.
application_area: intended use context.
data_or_materials: source data, samples, materials, devices, documents, or field records.
technical_objects: algorithms, modules, variables, devices, experiments, mechanisms, controls, or system components.
domain_constraints: sample size, equipment, standards, deployment, ethics, cost, timeline, or data-quality constraints.
evaluation_metrics: measurable success criteria.
expected_outputs: figure, model, prototype, report, mechanism, dataset, application plan, or deliverable.
Read references/domain-profiles.md when the domain is unclear, unfamiliar, or likely to affect node semantics.
Examples:
- Computer vision / PV defect detection: separate dataset, annotation, augmentation, model architecture, training, ablation, evaluation and deployment.
- Materials science: separate material design, preparation, characterization, performance testing, mechanism analysis and application validation.
- Energy systems: separate system boundary, source/load data, optimization model, operation strategy, scenario validation and engineering deliverables.
- Biomedical research: separate sample/cohort, grouping/intervention, assays, mechanism/statistics, validation and biological or clinical significance.
- Social science: separate theory, hypotheses, variables, data collection, empirical model, robustness and implications.
Default Presets
Use these presets unless the user explicitly chooses a different layout, format bundle or visual style.
academic-method:
purpose: Academic method framework
trigger_hints: [paper, manuscript, review, method, experiment, publication figure, academic figure]
outputs: [pptx, svg, json]
layout: academic-method-framework
style: academic-blue
thesis-proposal:
purpose: Thesis/proposal technical route
trigger_hints: [proposal, research plan, thesis, grant, topic application, opening report]
outputs: [pptx, svg, drawio, json]
layout: proposal-matrix-route
style: presentation-clean
engineering-system:
purpose: Engineering system route
trigger_hints: [engineering system, energy system, control system, hardware system, platform design, architecture]
outputs: [pptx, svg, drawio, html, json]
layout: engineering-architecture-route
style: dark-technical
workflow-pipeline:
purpose: Workflow or tool pipeline
trigger_hints: [software tool, agent skill, pipeline, workflow, automation, documentation]
outputs: [svg, markdown, mermaid, json]
layout: horizontal-stages
style: minimal-gray
chinese-thesis-proposal:
purpose: Chinese thesis/proposal poster route
trigger_hints: [中文技术路线图, 开题报告, 课题申报, 论文技术路线, 研究方案, 毕设, 学位论文]
outputs: [pptx, svg, drawio, html, json]
layout: cn-proposal-poster-route
style: cn-polished-pastel-academic
chinese-grant-application:
purpose: Chinese grant or project application route
trigger_hints: [基金申请, 项目申请, 申报书, 科研项目, 研究内容, 科学问题]
outputs: [pptx, svg, drawio, html, markdown, json]
layout: cn-grant-application-route
style: cn-soft-grant-report
academic-paper-framework-cn:
purpose: Chinese academic method framework
trigger_hints: [中文论文方法框架, 研究框架图, 方法路线图, 论文图, 技术路线]
outputs: [pptx, svg, drawio, json]
layout: cn-research-method-matrix
style: cn-blue-green-proposal
engineering-project-report-cn:
purpose: Chinese engineering project report route
trigger_hints: [工程项目, 项目汇报, 系统路线图, 能源系统, 平台建设]
outputs: [pptx, svg, drawio, html, json]
layout: cn-ppt-mainline-route
style: research-ppt-blue
Required Clarification
Ask one concise clarification question when:
- No source material or topic is available.
- The discipline, subfield, project type, research object, method family or evaluation metrics are missing and cannot be inferred from source evidence.
- The user requests a final figure but gives no target audience or use case and several presets fit equally well.
- The user asks for a specific output environment but the format is ambiguous.
- A requested format conflicts with editability or with available renderer support.
- The source evidence is too weak to decide whether a node is source-supported or inferred.
Do not ask repeated setup questions when reasonable defaults are available. Start from a draft route, expose assumptions, and let the user revise.
Advanced Options
Show advanced choices only when the user asks to choose formats, style, layout, presets, or says advanced mode.
Advanced output formats:
pptx - editable in PowerPoint or WPS.
svg - editable in Figma, Illustrator or Inkscape.
drawio - editable in diagrams.net.
drawio-code - copyable Draw.io XML for diagrams.net / draw.io.
excalidraw - editable whiteboard-style scene.
mermaid - text-editable Markdown diagram.
html - interactive preview with node details.
markdown - project documentation page.
json - structured source file for re-rendering.
Advanced layout families:
academic-method-framework
proposal-matrix-route
engineering-architecture-route
horizontal-stages
vertical-research-route
layered-architecture
timeline-swimlane
wide-collaboration-map
cn-proposal-poster-route
cn-grant-application-route
cn-research-method-matrix
cn-wide-project-map
cn-monochrome-linework-route
cn-ppt-mainline-route
cn-a4-stage-route
Advanced visual styles:
academic-blue
blue-green-research
monochrome-paper
presentation-clean
minimal-gray
nature-style-editorial
high-contrast-accessible
dark-technical
schematic-precision
premium-scientific
cn-polished-pastel-academic
cn-blue-green-proposal
cn-soft-grant-report
cn-reviewer-linework
cn-defense-poster
Workflow
- Confirm the source scope: current repository, a specific directory, a document set, or pasted project notes. When local files are available, run
trm ingest <sources> --output-dir evidence-pack to freeze their paths and SHA-256 hashes before extraction.
- Inspect project evidence before diagramming:
- README, docs, notebooks, papers, reports, briefs or notes.
- PDF, LaTeX, manuscript text, method sections, supplements, proposal documents or task briefs.
- Directory structure, manifests and config files.
- Entrypoints, API routes, model/training/inference scripts, data-processing scripts and deployment files when they clarify the system.
- Tests, examples and outputs when they clarify validation or deliverables.
- Build a source-grounded foundation:
- Problem, gap, objective, assumptions, audience and intended reader effect.
- Discipline, subfield, project type, research object, method family, application area and evaluation metrics.
- Ordered method/process steps and non-droppable core substeps.
- Inputs, outputs, artifacts, variables, metrics, claims, evidence and risk items.
- For papers: figure slot, reader question, caption burden and terminology/acronym integrity.
- For engineering: system boundary, modules, data/energy/material flow, validation and deliverables.
- Select the closest preset and output bundle using the default policy.
- Extract a route model with this minimum logic:
problem or objective -> inputs/data -> methods/modules -> implementation/training/inference -> validation/evaluation -> outputs/applications.
- Create or update
tech-route.json before rendering any user-facing format.
- Run
trm validate tech-route.json --strict. Treat incomplete domain context, unverified hashes, evidence gaps, inferred nodes and unresolved questions as final-render blockers.
- Render selected editable formats. Use
--allow-draft only when the user explicitly requests an unfinished working draft.
- Report generated files, warnings, quality report findings and recommended manual review steps.
Route Model
Use references/route-schema.md for the JSON schema. Keep every visible node traceable. A final diagram requires at least one hash-verified source evidence item for every visible node. Draft-only inferred nodes must set is_inferred: true, link to an assumption, remain separate from evidence coverage and block final rendering until resolved.
Use references/paper-framework-integration.md for paper-grounded and publication-figure rules, especially when the input is a manuscript, thesis, proposal, academic project, or method description.
Use references/domain-profiles.md to choose field-specific route grammar. Do not apply computer-vision, lab-experiment, engineering-system, biomedical or social-science semantics to each other unless the source explicitly combines them.
Use concise node labels:
- Prefer 3 to 9 words.
- Keep each stage to 2 to 6 nodes when possible.
- Use edge labels for semantic transitions such as
feeds, trains, validates, optimizes, deploys, supports, or the user's language equivalent.
- Keep variables, temporary artifacts, scores, metrics, parameters and pass-through states on edges, tags or legends unless the source proves they are actual modules.
- Separate the semantic graph used for audit from the visual graph that will be rendered.
- Compress repeated actors, samples, panels, rows, arrows or equivalent flows unless each visible repetition adds source-grounded meaning.
- Keep edge labels in
tech-route.json, HTML, Markdown and quality reports by default. Do not render them on the main diagram canvas unless the user explicitly enables renderer_overrides.show_edge_labels, because labels on connector lines often collide with arrows and node text.
- Keep node-to-node semantic edges out of the main diagram by default. Render a small number of straight stage-to-stage arrows instead. Only render node-level edges when the user explicitly enables
renderer_overrides.show_node_edges.
Output Formats
Read references/output-options.md before explaining format tradeoffs.
Editable constraints:
- PPTX: use native shapes, text boxes and connector lines; do not paste a screenshot as the main diagram.
- SVG: use editable text, rectangles, paths and lines; do not rasterize the diagram.
- Draw.io: use editable
mxCell nodes and edges.
- Draw.io copy code: generate
tech-route.drawio-code.xml as plain XML. Tell the user to open diagrams.net / draw.io, create a blank diagram, use Extras > Edit Diagram, paste the XML, confirm, and then edit the shapes.
- Excalidraw: use editable scene elements.
- Mermaid: keep the
.mmd source as text.
- HTML: keep interaction data in structured JSON or embedded object data.
- Markdown: include Mermaid source and evidence tables when useful.
- JSON: keep the route source complete enough to re-render.
- Quality report: include evidence coverage, inferred node count, unresolved questions and manual review suggestions.
Layout And Style
Read references/layout-patterns.md before building tech-route.json for an unfamiliar layout.
Read references/visual-styles.md before setting a theme.
Read references/local-style-study.md when the target is a Chinese academic, thesis, grant, project-application, or research-report technical route diagram.
For proposal and research-report diagrams, prefer polished academic template language: white canvas, clear title, matrix or framework sections, low-saturation logical regions, dashed boundaries where they clarify grouping, and white editable node cards.
Use a left phase axis only when the user explicitly asks for a long vertical route. Do not use the vertical phase-axis layout as the default academic format.
For PPT-facing research and engineering diagrams, prefer cn-ppt-mainline-route: 16:9 canvas, five-stage horizontal mainline, enlarged stage/support text, 2 to 3 short support modules under each stage, and a bottom final-output bar.
For Word, thesis, or paper body diagrams that need a portrait figure, prefer cn-a4-stage-route: A4-style vertical canvas, no left phase axis, centered numbered stage headers, enlarged module text, 2 to 3 short modules per stage, and clear top-to-bottom arrows.
Use straight stage-to-stage connector arrows as the default. Avoid decorative curved arrows, elbow connectors, and dense auto-routed node connectors in formal academic and engineering technical-route diagrams unless the user explicitly requests them.
For engineering diagrams, separate system boundary, data or energy flow, service/module layers, validation and outputs. Do not force engineering routes into a thesis-proposal layout.
Never copy online template images into outputs. Convert public visual patterns into original editable shapes.
Legacy / Experimental Use Cases
Campaign strategy routes, creative-production pipelines, customer-journey diagrams and media-channel swimlanes are legacy or experimental. Use them only when the user explicitly asks for campaign, advertising, marketing, conversion funnel, media planning or commercial launch diagrams.
Do not show campaign options in the default preset list. Do not use campaign examples in the main README gallery.
Open Source References
Read references/github-projects.md when deciding what to reuse or cite. Use permissively licensed projects as dependencies or design references when helpful, but do not copy code from projects without a clear compatible license.
Scripts
All scripts accept a route JSON file and write output files. They use Python standard library only unless clearly stated.
Common legacy commands:
python scripts/validate_route.py outputs/tech-route.json
python scripts/render_mermaid.py outputs/tech-route.json outputs/tech-route.mmd
python scripts/render_svg.py outputs/tech-route.json outputs/tech-route.svg
python scripts/render_drawio.py outputs/tech-route.json outputs/tech-route.drawio
python scripts/render_drawio_code.py outputs/tech-route.json outputs/tech-route.drawio-code.xml
python scripts/render_excalidraw.py outputs/tech-route.json outputs/tech-route.excalidraw
python scripts/render_html.py outputs/tech-route.json outputs/tech-route.html
python scripts/render_markdown.py outputs/tech-route.json outputs/TECH_ROUTE.md
python scripts/render_pptx.py outputs/tech-route.json outputs/tech-route.pptx
python scripts/render_all.py outputs/tech-route.json outputs --formats pptx,svg,drawio,drawio-code
CLI commands, when installed:
trm validate outputs/tech-route.json
trm validate outputs/tech-route.json --strict
trm render outputs/tech-route.json outputs --formats pptx,svg,drawio,drawio-code,html,markdown,json
trm render outputs/tech-route.json outputs --formats pptx,svg,json --allow-draft
trm ingest source-files --output-dir evidence-pack
trm init --preset academic-method --output tech-route.json
trm doctor
Onboarding Demo
For a low-friction first run, use the academic demo:
python scripts/validate_route.py examples/academic-paper-demo/outputs/tech-route.json
python scripts/render_all.py examples/academic-paper-demo/outputs/tech-route.json examples/academic-paper-demo/outputs --formats pptx,svg,drawio,html,markdown,json
Read examples/academic-paper-demo/demo-walkthrough.md to see the simulated user request, route JSON, render commands and generated editable files.
For a Draw.io copy-code example, use:
python scripts/render_all.py examples/drawio-copy-code-demo/outputs/tech-route.json examples/drawio-copy-code-demo/outputs --formats drawio,drawio-code,svg,json
Then copy examples/drawio-copy-code-demo/outputs/tech-route.drawio-code.xml into diagrams.net / draw.io through Extras > Edit Diagram.
Validation
Run validation before and after rendering. Treat errors as blockers and warnings as items to report.
Validation checks:
- Required route title and stages.
route_version and selected_preset.
domain_context exists and is complete enough for the requested final output.
- Unique stage and node IDs.
- Edge endpoints exist.
- Every visible node has hash-verified evidence; inference is reported separately and is allowed only in drafts.
- Every evidence locator names a declared source and is found in extractable source text when applicable.
- Final rendering has no unresolved questions or inferred nodes.
- Confidence values use
high, medium or low.
- Node labels are not overloaded.
- Quality report warnings are visible to the user.
Iteration
When the user asks to change colors, layout, labels, node count or output formats, update tech-route.json first and then re-render the selected files. Do not re-scan the whole project unless the user asks for content changes or the current route source is insufficient.
1---2name: tech-route-maker3description: Create evidence-grounded editable technical route diagrams for research and engineering projects. Use when the user asks to draw, generate, visualize, render, export, or revise a technical route diagram, research route, paper method framework, publication figure, thesis proposal route, engineering system route, software or agent workflow, pipeline, architecture roadmap, process diagram, editable PPTX/SVG/Draw.io/Mermaid/HTML diagram, or copyable Draw.io XML code. Supports implicit invocation when the user asks for route diagrams and explicit invocation with $tech-route-maker.4---56# Tech Route Maker78## Purpose910Use this skill to turn source materials into evidence-grounded editable technical route diagrams for research and engineering projects across multiple disciplines.1112Primary users are researchers, students, academic writers, engineering teams and agent/tool builders preparing paper framework figures, method overview diagrams, thesis proposal routes, defense visuals, course-design diagrams, engineering system routes and workflow pipelines.1314Campaign or advertising routes are legacy/experimental use cases. Do not make them the default direction unless the user explicitly asks for them.1516## Portability1718This skill is intentionally agent-agnostic. `SKILL.md` is the source of truth for Codex/OpenAI-style skill loaders and any agent that understands skill folders. Other adapters in the repository point back here:1920- `AGENTS.md` for generic coding agents.21- `CLAUDE.md` for Claude-style project context.22- `GEMINI.md` and `.gemini/settings.json` for Gemini CLI.23- `.cursor/rules/tech-route-maker.mdc` for Cursor.24- `.github/copilot-instructions.md` for GitHub Copilot coding agent.25- `.aider.conf.yml` for Aider-style workflows.2627## Default Interaction Policy2829Do not interrupt the user with a long sequence of questions, but do not guess domain or delivery preferences from a field-agnostic request.3031Before final rendering, explicitly establish the domain context and confirm the requested output format, target medium, layout family and visual style. Present one concise grouped choice with sensible defaults; allow single or multiple output formats. If the source explicitly proves a domain fact, extract it with an evidence locator instead of asking the user to repeat it.3233Default behavior:3435- Never render a final technical route diagram from a field-agnostic request such as "draw a technical route diagram" without first identifying the discipline, subfield, project type, research object, method family and evaluation logic.36- If source files are available, extract domain context only from explicit source evidence. Ask one concise field-specific clarification question for every material gap rather than silently inventing it.37- If the user asks for a quick draft before the field is complete, mark `domain_context.confidence` as `low`, keep missing items in `unresolved_questions`, and report that the output is not final.38- If the user asks in Chinese for 开题, 课题申报, 项目申请, 基金, 论文技术路线图, or a Chinese research route diagram, prefer the Chinese academic presets below.39- If the user asks for an editable presentation figure, generate `pptx`, `svg` and `json`.40- If the user asks for a paper or research figure, generate `svg`, `pptx` and `json`.41- If the user asks for a maintainable system diagram, generate `drawio`, `svg` and `json`.42- If the user asks for Draw.io, diagrams.net, online editing, import code, copyable code, or "能复制到draw.io的代码", include `drawio-code` and explain how to paste the XML into diagrams.net.43- If the user asks for documentation output, generate `markdown`, `mermaid` and `json`.44- If the user asks for long-term maintenance, add `drawio`.45- If the user asks for all formats, render `pptx`, `svg`, `drawio`, `drawio-code`, `excalidraw`, `mermaid`, `html`, `markdown` and `json`.4647Always record the selected preset and output formats in `selected_preset` and `metadata.selected_output_formats`.48Always record the discipline-specific context in `domain_context`.49Always state that generated editable files are drafts that require factual, wording and visual revision before publication or submission.5051## Domain Context Policy5253Technical route diagrams are domain-sensitive. A diagram for computer vision, materials science, energy engineering, biomedical research, mechanical control, environmental field studies and social science should not share the same semantic grammar.5455Before final rendering, establish:5657- `discipline`: broad field.58- `subfield`: specific direction.59- `project_type`: paper figure, thesis proposal, grant application, engineering report, system architecture, experiment workflow, review framework, or similar.60- `research_object`: concrete object under study.61- `method_family`: main method type.62- `application_area`: intended use context.63- `data_or_materials`: source data, samples, materials, devices, documents, or field records.64- `technical_objects`: algorithms, modules, variables, devices, experiments, mechanisms, controls, or system components.65- `domain_constraints`: sample size, equipment, standards, deployment, ethics, cost, timeline, or data-quality constraints.66- `evaluation_metrics`: measurable success criteria.67- `expected_outputs`: figure, model, prototype, report, mechanism, dataset, application plan, or deliverable.6869Read `references/domain-profiles.md` when the domain is unclear, unfamiliar, or likely to affect node semantics.7071Examples:7273- Computer vision / PV defect detection: separate dataset, annotation, augmentation, model architecture, training, ablation, evaluation and deployment.74- Materials science: separate material design, preparation, characterization, performance testing, mechanism analysis and application validation.75- Energy systems: separate system boundary, source/load data, optimization model, operation strategy, scenario validation and engineering deliverables.76- Biomedical research: separate sample/cohort, grouping/intervention, assays, mechanism/statistics, validation and biological or clinical significance.77- Social science: separate theory, hypotheses, variables, data collection, empirical model, robustness and implications.7879## Default Presets8081Use these presets unless the user explicitly chooses a different layout, format bundle or visual style.8283```yaml84academic-method:85 purpose: Academic method framework86 trigger_hints: [paper, manuscript, review, method, experiment, publication figure, academic figure]87 outputs: [pptx, svg, json]88 layout: academic-method-framework89 style: academic-blue9091thesis-proposal:92 purpose: Thesis/proposal technical route93 trigger_hints: [proposal, research plan, thesis, grant, topic application, opening report]94 outputs: [pptx, svg, drawio, json]95 layout: proposal-matrix-route96 style: presentation-clean9798engineering-system:99 purpose: Engineering system route100 trigger_hints: [engineering system, energy system, control system, hardware system, platform design, architecture]101 outputs: [pptx, svg, drawio, html, json]102 layout: engineering-architecture-route103 style: dark-technical104105workflow-pipeline:106 purpose: Workflow or tool pipeline107 trigger_hints: [software tool, agent skill, pipeline, workflow, automation, documentation]108 outputs: [svg, markdown, mermaid, json]109 layout: horizontal-stages110 style: minimal-gray111112chinese-thesis-proposal:113 purpose: Chinese thesis/proposal poster route114 trigger_hints: [中文技术路线图, 开题报告, 课题申报, 论文技术路线, 研究方案, 毕设, 学位论文]115 outputs: [pptx, svg, drawio, html, json]116 layout: cn-proposal-poster-route117 style: cn-polished-pastel-academic118119chinese-grant-application:120 purpose: Chinese grant or project application route121 trigger_hints: [基金申请, 项目申请, 申报书, 科研项目, 研究内容, 科学问题]122 outputs: [pptx, svg, drawio, html, markdown, json]123 layout: cn-grant-application-route124 style: cn-soft-grant-report125126academic-paper-framework-cn:127 purpose: Chinese academic method framework128 trigger_hints: [中文论文方法框架, 研究框架图, 方法路线图, 论文图, 技术路线]129 outputs: [pptx, svg, drawio, json]130 layout: cn-research-method-matrix131 style: cn-blue-green-proposal132133engineering-project-report-cn:134 purpose: Chinese engineering project report route135 trigger_hints: [工程项目, 项目汇报, 系统路线图, 能源系统, 平台建设]136 outputs: [pptx, svg, drawio, html, json]137 layout: cn-ppt-mainline-route138 style: research-ppt-blue139```140141## Required Clarification142143Ask one concise clarification question when:144145- No source material or topic is available.146- The discipline, subfield, project type, research object, method family or evaluation metrics are missing and cannot be inferred from source evidence.147- The user requests a final figure but gives no target audience or use case and several presets fit equally well.148- The user asks for a specific output environment but the format is ambiguous.149- A requested format conflicts with editability or with available renderer support.150- The source evidence is too weak to decide whether a node is source-supported or inferred.151152Do not ask repeated setup questions when reasonable defaults are available. Start from a draft route, expose assumptions, and let the user revise.153154## Advanced Options155156Show advanced choices only when the user asks to choose formats, style, layout, presets, or says advanced mode.157158Advanced output formats:1591601. `pptx` - editable in PowerPoint or WPS.1612. `svg` - editable in Figma, Illustrator or Inkscape.1623. `drawio` - editable in diagrams.net.1634. `drawio-code` - copyable Draw.io XML for diagrams.net / draw.io.1645. `excalidraw` - editable whiteboard-style scene.1656. `mermaid` - text-editable Markdown diagram.1667. `html` - interactive preview with node details.1678. `markdown` - project documentation page.1689. `json` - structured source file for re-rendering.169170Advanced layout families:1711721. `academic-method-framework`1732. `proposal-matrix-route`1743. `engineering-architecture-route`1754. `horizontal-stages`1765. `vertical-research-route`1776. `layered-architecture`1787. `timeline-swimlane`1798. `wide-collaboration-map`1809. `cn-proposal-poster-route`18110. `cn-grant-application-route`18211. `cn-research-method-matrix`18312. `cn-wide-project-map`18413. `cn-monochrome-linework-route`18514. `cn-ppt-mainline-route`18615. `cn-a4-stage-route`187188Advanced visual styles:1891901. `academic-blue`1912. `blue-green-research`1923. `monochrome-paper`1934. `presentation-clean`1945. `minimal-gray`1956. `nature-style-editorial`1967. `high-contrast-accessible`1978. `dark-technical`1989. `schematic-precision`19910. `premium-scientific`20011. `cn-polished-pastel-academic`20112. `cn-blue-green-proposal`20213. `cn-soft-grant-report`20314. `cn-reviewer-linework`20415. `cn-defense-poster`205206## Workflow2072081. Confirm the source scope: current repository, a specific directory, a document set, or pasted project notes. When local files are available, run `trm ingest <sources> --output-dir evidence-pack` to freeze their paths and SHA-256 hashes before extraction.2092. Inspect project evidence before diagramming:210 - README, docs, notebooks, papers, reports, briefs or notes.211 - PDF, LaTeX, manuscript text, method sections, supplements, proposal documents or task briefs.212 - Directory structure, manifests and config files.213 - Entrypoints, API routes, model/training/inference scripts, data-processing scripts and deployment files when they clarify the system.214 - Tests, examples and outputs when they clarify validation or deliverables.2153. Build a source-grounded foundation:216 - Problem, gap, objective, assumptions, audience and intended reader effect.217 - Discipline, subfield, project type, research object, method family, application area and evaluation metrics.218 - Ordered method/process steps and non-droppable core substeps.219 - Inputs, outputs, artifacts, variables, metrics, claims, evidence and risk items.220 - For papers: figure slot, reader question, caption burden and terminology/acronym integrity.221 - For engineering: system boundary, modules, data/energy/material flow, validation and deliverables.2224. Select the closest preset and output bundle using the default policy.2235. Extract a route model with this minimum logic:224 `problem or objective -> inputs/data -> methods/modules -> implementation/training/inference -> validation/evaluation -> outputs/applications`.2256. Create or update `tech-route.json` before rendering any user-facing format.2267. Run `trm validate tech-route.json --strict`. Treat incomplete domain context, unverified hashes, evidence gaps, inferred nodes and unresolved questions as final-render blockers.2278. Render selected editable formats. Use `--allow-draft` only when the user explicitly requests an unfinished working draft.2289. Report generated files, warnings, quality report findings and recommended manual review steps.229230## Route Model231232Use `references/route-schema.md` for the JSON schema. Keep every visible node traceable. A final diagram requires at least one hash-verified source evidence item for every visible node. Draft-only inferred nodes must set `is_inferred: true`, link to an assumption, remain separate from evidence coverage and block final rendering until resolved.233234Use `references/paper-framework-integration.md` for paper-grounded and publication-figure rules, especially when the input is a manuscript, thesis, proposal, academic project, or method description.235236Use `references/domain-profiles.md` to choose field-specific route grammar. Do not apply computer-vision, lab-experiment, engineering-system, biomedical or social-science semantics to each other unless the source explicitly combines them.237238Use concise node labels:239240- Prefer 3 to 9 words.241- Keep each stage to 2 to 6 nodes when possible.242- Use edge labels for semantic transitions such as `feeds`, `trains`, `validates`, `optimizes`, `deploys`, `supports`, or the user's language equivalent.243- Keep variables, temporary artifacts, scores, metrics, parameters and pass-through states on edges, tags or legends unless the source proves they are actual modules.244- Separate the semantic graph used for audit from the visual graph that will be rendered.245- Compress repeated actors, samples, panels, rows, arrows or equivalent flows unless each visible repetition adds source-grounded meaning.246- Keep edge labels in `tech-route.json`, HTML, Markdown and quality reports by default. Do not render them on the main diagram canvas unless the user explicitly enables `renderer_overrides.show_edge_labels`, because labels on connector lines often collide with arrows and node text.247- Keep node-to-node semantic edges out of the main diagram by default. Render a small number of straight stage-to-stage arrows instead. Only render node-level edges when the user explicitly enables `renderer_overrides.show_node_edges`.248249## Output Formats250251Read `references/output-options.md` before explaining format tradeoffs.252253Editable constraints:254255- PPTX: use native shapes, text boxes and connector lines; do not paste a screenshot as the main diagram.256- SVG: use editable text, rectangles, paths and lines; do not rasterize the diagram.257- Draw.io: use editable `mxCell` nodes and edges.258- Draw.io copy code: generate `tech-route.drawio-code.xml` as plain XML. Tell the user to open [diagrams.net / draw.io](https://app.diagrams.net/), create a blank diagram, use **Extras > Edit Diagram**, paste the XML, confirm, and then edit the shapes.259- Excalidraw: use editable scene elements.260- Mermaid: keep the `.mmd` source as text.261- HTML: keep interaction data in structured JSON or embedded object data.262- Markdown: include Mermaid source and evidence tables when useful.263- JSON: keep the route source complete enough to re-render.264- Quality report: include evidence coverage, inferred node count, unresolved questions and manual review suggestions.265266## Layout And Style267268Read `references/layout-patterns.md` before building `tech-route.json` for an unfamiliar layout.269270Read `references/visual-styles.md` before setting a theme.271272Read `references/local-style-study.md` when the target is a Chinese academic, thesis, grant, project-application, or research-report technical route diagram.273274For proposal and research-report diagrams, prefer polished academic template language: white canvas, clear title, matrix or framework sections, low-saturation logical regions, dashed boundaries where they clarify grouping, and white editable node cards.275276Use a left phase axis only when the user explicitly asks for a long vertical route. Do not use the vertical phase-axis layout as the default academic format.277278For PPT-facing research and engineering diagrams, prefer `cn-ppt-mainline-route`: 16:9 canvas, five-stage horizontal mainline, enlarged stage/support text, 2 to 3 short support modules under each stage, and a bottom final-output bar.279280For Word, thesis, or paper body diagrams that need a portrait figure, prefer `cn-a4-stage-route`: A4-style vertical canvas, no left phase axis, centered numbered stage headers, enlarged module text, 2 to 3 short modules per stage, and clear top-to-bottom arrows.281282Use straight stage-to-stage connector arrows as the default. Avoid decorative curved arrows, elbow connectors, and dense auto-routed node connectors in formal academic and engineering technical-route diagrams unless the user explicitly requests them.283284For engineering diagrams, separate system boundary, data or energy flow, service/module layers, validation and outputs. Do not force engineering routes into a thesis-proposal layout.285286Never copy online template images into outputs. Convert public visual patterns into original editable shapes.287288## Legacy / Experimental Use Cases289290Campaign strategy routes, creative-production pipelines, customer-journey diagrams and media-channel swimlanes are legacy or experimental. Use them only when the user explicitly asks for campaign, advertising, marketing, conversion funnel, media planning or commercial launch diagrams.291292Do not show campaign options in the default preset list. Do not use campaign examples in the main README gallery.293294## Open Source References295296Read `references/github-projects.md` when deciding what to reuse or cite. Use permissively licensed projects as dependencies or design references when helpful, but do not copy code from projects without a clear compatible license.297298## Scripts299300All scripts accept a route JSON file and write output files. They use Python standard library only unless clearly stated.301302Common legacy commands:303304```bash305python scripts/validate_route.py outputs/tech-route.json306python scripts/render_mermaid.py outputs/tech-route.json outputs/tech-route.mmd307python scripts/render_svg.py outputs/tech-route.json outputs/tech-route.svg308python scripts/render_drawio.py outputs/tech-route.json outputs/tech-route.drawio309python scripts/render_drawio_code.py outputs/tech-route.json outputs/tech-route.drawio-code.xml310python scripts/render_excalidraw.py outputs/tech-route.json outputs/tech-route.excalidraw311python scripts/render_html.py outputs/tech-route.json outputs/tech-route.html312python scripts/render_markdown.py outputs/tech-route.json outputs/TECH_ROUTE.md313python scripts/render_pptx.py outputs/tech-route.json outputs/tech-route.pptx314python scripts/render_all.py outputs/tech-route.json outputs --formats pptx,svg,drawio,drawio-code315```316317CLI commands, when installed:318319```bash320trm validate outputs/tech-route.json321trm validate outputs/tech-route.json --strict322trm render outputs/tech-route.json outputs --formats pptx,svg,drawio,drawio-code,html,markdown,json323trm render outputs/tech-route.json outputs --formats pptx,svg,json --allow-draft324trm ingest source-files --output-dir evidence-pack325trm init --preset academic-method --output tech-route.json326trm doctor327```328329## Onboarding Demo330331For a low-friction first run, use the academic demo:332333```bash334python scripts/validate_route.py examples/academic-paper-demo/outputs/tech-route.json335python scripts/render_all.py examples/academic-paper-demo/outputs/tech-route.json examples/academic-paper-demo/outputs --formats pptx,svg,drawio,html,markdown,json336```337338Read `examples/academic-paper-demo/demo-walkthrough.md` to see the simulated user request, route JSON, render commands and generated editable files.339340For a Draw.io copy-code example, use:341342```bash343python scripts/render_all.py examples/drawio-copy-code-demo/outputs/tech-route.json examples/drawio-copy-code-demo/outputs --formats drawio,drawio-code,svg,json344```345346Then copy `examples/drawio-copy-code-demo/outputs/tech-route.drawio-code.xml` into [diagrams.net / draw.io](https://app.diagrams.net/) through **Extras > Edit Diagram**.347348## Validation349350Run validation before and after rendering. Treat errors as blockers and warnings as items to report.351352Validation checks:353354- Required route title and stages.355- `route_version` and `selected_preset`.356- `domain_context` exists and is complete enough for the requested final output.357- Unique stage and node IDs.358- Edge endpoints exist.359- Every visible node has hash-verified evidence; inference is reported separately and is allowed only in drafts.360- Every evidence locator names a declared source and is found in extractable source text when applicable.361- Final rendering has no unresolved questions or inferred nodes.362- Confidence values use `high`, `medium` or `low`.363- Node labels are not overloaded.364- Quality report warnings are visible to the user.365366## Iteration367368When the user asks to change colors, layout, labels, node count or output formats, update `tech-route.json` first and then re-render the selected files. Do not re-scan the whole project unless the user asks for content changes or the current route source is insufficient.