///|
fn web_first_research_skill_text(entry : BookCatalogEntry) -> String {
  let topic = research_topic_id(entry)
  let display = display_topic_name(topic)
  let sample_query = research_web_queries(topic).get(0).unwrap_or(display)
  let sample_url = research_reference_urls(topic)
    .get(0)
    .unwrap_or("source chosen from screened web discovery")
  let lines : Array[String] = []
  web_first_push(lines, web_first_header_section())
  web_first_push(lines, web_first_temperament_section())
  web_first_push(lines, web_first_reference_style_section(display))
  web_first_push(lines, web_first_method_section())
  web_first_push(lines, web_first_rules_section(topic))
  web_first_push(lines, web_first_required_output_section(display))
  web_first_push(lines, web_first_deep_dossier_section())
  web_first_push(lines, web_first_search_result_fallback_section())
  web_first_push(lines, web_first_front_door_fallback_section())
  web_first_push(
    lines,
    web_first_example_workflow_section(topic, display, sample_query, sample_url),
  )
  web_first_push(lines, web_first_output_contract_example_section())
  lines.join("\n")
}