Skip to content
Orbital

Research report

Research a question on the web and write a short report with sources

In this example you turn a question into a short written report with sources. One step of the research-report workflow researches the question on the web and lists what it found. A second step writes the report from those findings alone.

About five minutes to set up.

research-report.dot
digraph research_report {
graph [version="1", entry="research", description="Research a question on the web and write a short report with sources"]
research [role="Researcher", tool_access="Research", prompt_file="prompts/research-report/research.md", outputs="findings:text"]
write [role="Researcher", tool_access="Research", prompt_file="prompts/research-report/write.md"]
done [shape="Msquare", outcome="success"]
research -> write
write -> done
}

research passes its findings to write, then done ends the run.

You need a signed-in harness and the workflow: download the archive.

The workflow touches no code. Neither step can change a file or run a command: both have the Research tool access, which allows reading files and browsing the web and nothing else.

  1. Unpack the archive into your workflow library, ~/.orbital/workflows/. Keep every relative path.

  2. Check it:

    Terminal window
    orbital validate ~/.orbital/workflows/research-report.dot

Every project now offers research-report. The archive holds the workflow above and its two prompts:

prompts/research-report/research.md
Research this question: {{ inputs.goal }}
Search the web and read at least three independent sources. Prefer primary sources, such as official documentation, standards, papers or the organisation's own pages, over summaries of them.
Do not change, create or delete any file.
Return `findings`: a list of facts. Give each fact its source's title and address. Mark each fact as agreed by several sources, stated by one source, or disputed. Note what you could not find out.
prompts/research-report/write.md
Write a short report that answers this question: {{ inputs.goal }}
Use only these findings: {{ context.findings }}
Write in plain language, in short sentences. Put the answer first, in two or three sentences. Then give the details under short headings. Say where the sources disagree and what nobody could confirm. End with a numbered list of sources, each with its title and address.
Do not change, create or delete any file. The report is the run's final answer, so end with it and nothing else.

Every run belongs to a project, and a step starts in the project’s primary folder. Any project works, because the workflow reads no project files. The project does not need to be a Git repository, unless you run it with Codex, which needs one. See plain folders and Git.

If you have no project yet, make one:

  1. Make a folder such as ~/research.

  2. In Orbital, open Projects, choose New project and name it Research.

  3. Choose Add folder and pick ~/research. It shows as a Plain folder.

  1. Choose New task, pick any project and choose the research-report workflow.

  2. Write the question as the goal. For example:

    What are the main differences between the EU AI Act's obligations for
    providers and for deployers of high-risk AI systems?
  3. Choose a harness in the harness picker, and choose Start run.

    The Start page asking what to do in a project, with a goal box, a harness picker, a workflow picker and a Chat or Workflow switch.
    The harness picker sits beside the workflow picker.

The research step’s findings appear in the Context tab as findings. Each fact comes with its source and whether sources agree.

A run's Context tab with a table of context keys, their values and the step that set each one.
Each value shows the step that set it.

The report is the write step’s reply: the last message in the Session tab, above “Run ended: success”. It gives the answer first, then the details, then a numbered list of sources.

  • Ask for a different shape of report by editing write.md, for example a one-page brief for a manager.
  • Add a review step with the Reviewer role that checks each fact in the report against its source. Add branches shows how to send a rejected report back.
  • Start it every Monday with a Schedule trigger.