I've landed in the same camp as jimmykelion32 after a few painful attempts at the all-in-one approach, cockus. Running research, briefing and writing in one giant agentic chain sounds efficient, but in practice Claude starts recycling details I never actually fed it — competitor claims that sound plausible but don't exist on any of the pages I scraped. Once the context gets long enough, the model stops grounding itself in the research and starts free-styling.
My current setup is three separate chats, each with a narrow job. First I pull the top 10 results and extract the entity and heading structure (mostly manual, nothing fancy), then dump that into a chat whose only task is to build the outline: headings, word counts per section, and the entities each section must cover. Only when the brief reads well on its own do I move to the writing chat, and that one only ever sees the brief — none of the raw research.
The single biggest quality jump for me was writing section by section rather than generating the whole article in one shot. Each section gets its own message with the relevant slice of the brief pasted back in. It keeps the tone consistent and makes hallucinated facts much easier to spot before they infect the rest of the draft. It's definitely more copy-paste than a fully automated pipeline, but for anything where factual accuracy matters, the output is in a different league.