Dan Rosenthal and the Workflows.io team built a Claude Code-powered content engine that turns call transcripts, raw ideas, screenshots, and rough notes into higher-quality LinkedIn drafts with built-in QA. The workflow runs on three skills: Content Ideator, LinkedIn Drafter, and Post QA. The skills work because they sit on top of a company OS in GitHub, a shared Pinecone database of past posts and reference content, and a team process that turns better workflows into shared infrastructure.
About Dan
Dan Rosenthal is the Co-Founder of Workflows.io, an AI-native GTM services company for B2B tech companies like Alibaba, Solidroad, and Blacksmith. He’s helped 200+ companies with their GTM systems and has been an early adopter of Claude Code. Dan has also grown his own LinkedIn audience to 42,000 followers.
Freckle has partnered with Workflows.io since July 2025 to drive our content flywheel, from founder-led posts to content-backed outbound. Dan shared more about that build here.
Anyone who has tried to get AI to write content knows the failure pattern.
The first draft is close enough that you want it to work. Then the voice starts to drift. The claims get vague. The structure feels generic. A sentence appears that no one on the team would ever say out loud. By the third revision cycle, the writer stops trusting the output and goes back to doing it by hand.
Most teams blame the prompt. So they add more examples, longer instructions, sharper style notes, and a few all-caps reminders not to sound like LinkedIn sludge. Sometimes that helps. Usually it just creates a longer prompt with the same underlying problem.
If you ask Dan, the prompt layer is the wrong one to obsess over.
The skill is the wrapper. The infrastructure underneath is the work. Claude Code needs access to the company’s memory: voice profiles, past posts, client context, claims, formats, operating rules, and the team’s actual way of working. Without that infrastructure, the model is still filling in gaps instead of operating from context.

Workflows.io runs its content operation from a company OS in GitHub.
The repo holds the context Claude Code needs to do useful work: client folders, voice profiles, SOPs, Claude Code settings, shared skills, and team conventions. It gives the agent a clear place to inspect before it writes, drafts, checks, or edits.
That structure is the difference between a generic output and a grounded one. When the repo is clean, Claude Code can pull the right voice file, inspect the right client folder, follow the right process, and use the same operating rules the team uses. Workflows.io also standardized 18 MCPs across the team, so operators are not each wiring their own version of the same job.
Dan’s recommendation is direct: build the OS before you build the skills.
If the folder structure is messy, the voice profiles are thin, and the source material lives across five tools no one maintains, the skill does not have much to call. If the OS is clean, the skill has a substrate it can reuse.

The Workflows.io content engine runs on three Claude Code skills.
Content Ideator
Content Ideator turns source material into post concepts.
Dan can start from a call transcript, raw idea, image, screenshot, or Notion page with rough copy. For client programs, Workflows.io often interviews clients every two weeks, runs the recording through the skill, and turns one conversation into many post ideas.
The skill pulls the client’s voice profile from the repo, queries the Pinecone vector database for strong reference posts in the same niche, then returns hooks and body concepts in the format the team already uses in Notion.
LinkedIn Drafter
LinkedIn Drafter turns the selected idea into a post draft.
It takes the Notion page from Ideator, applies the client’s voice profile, and uses a library of hook and body formats. It stays Notion-first because that is where the team reviews and edits. The goal is not to replace the writer. It is to get the writer to a stronger draft faster.
Post QA
Post QA is the validation layer.
It checks the post against a claims database, finds supporting stats, grades the hook and body, and flags anything the team should double-check before publishing. That matters for Workflows.io’s client base, especially technical AI and finance companies, where a confident but wrong claim creates real risk.
The vector database is what makes the whole system compound. It contains every post Workflows.io and its clients have written, plus viral posts from creators the team follows. An n8n automation keeps the corpus fresh each week. Every Ideator run stores the new post back into the system, so the engine gets more useful as the team uses it.
That is the difference between “AI helped me draft a post” and “we have a repeatable content engine.”
Prompts are the wrapper. The company OS is the substrate.
Start with prompts and bolt infrastructure on later, and you usually get close-to-good outputs. Start with the OS, meaning the folder structure, voice profiles, claims database, MCP standardization, and team conventions, and the same skills produce much better work.
There is also a team-level problem inside every AI rollout. If 20 people build their own skills, you get 20 different ways of doing the same job.
Dan’s rule from day one was simple: if you build something better than the company skill, push it as a pull request to GitHub. No private version. No personal magic folder. No “I have my own way of doing it” that quietly breaks the shared system.
Three people on the Workflows.io team are engineers. The other 17 are not. But all 17 learned to push PRs through Claude Code itself. They ask Claude to push the change. Claude pushes it. Dan reviews. If it is better, it merges.
That is the operating model that makes the engine compound. The team does not just use the system. The team improves the system.
The infrastructure beats the skill. The team rule keeps the infrastructure from fragmenting.
How does your style of working change when you use Claude Code?
You start working across multiple terminals instead of waiting on one thread to finish. The agent usually needs input every two to five minutes, so the workflow becomes more active than passive. You’re reviewing one run, prompting another, checking outputs in a third. It takes a little getting used to, but over an hour you get a lot more done.
Is there a quality difference between Claude Code and Claude Desktop?
Yes, but it depends on how you tune Claude Code. The default instance is built for engineers. You have to tune it. Once tuned, with bias to action, company OS research by default, and the relevant voice profile in context, Claude Code outperforms Claude Chat for most of what we do. The settings file and the CLAUDE.md at the root are where the tuning lives.
Did your impression count change pre-AI versus post-AI?
LinkedIn has natural dips and troughs. We were trying to write with AI for years before Claude Code and did not get good outputs. Since this year, when we got the RAG infrastructure and Claude Code working together, impressions are as strong as ever. I want to be clear: I still write every word. AI is a time saver, not an output replacement.
Are you generating visuals through Claude as well?
Some. We pay designers monthly because we have a high volume of content clients. Claude Design gets you about 80 percent of the way there for infographic-style or text-heavy designs. It only works through the desktop app right now, not the CLI. Gemini is strong here too. I expect this to get dramatically better in the next year.
How much of each skill did you build versus Claude built?
Everything is built by Claude. The amount of Whisperflow input that goes into properly building one skill is immense. My process is to describe the current workflow and show example outputs, describe the ideal future state, feed it the resources and MCPs it needs, have it create the skill, have it audit itself in parallel terminals, then read every word of the markdown file and iterate.
How do you handle skill chaos across a 20-person team?
Same struggles as getting any team to follow an SOP. The culture is: if you build something better than the company skill, push it as a PR. That was cemented from day one. People still build personal hacks for one-off needs, but the company skills are the source of truth.
Claude Code for GTM was a private builder session and happy hour hosted at Freckle HQ for operators building real go-to-market workflows in Claude Code.
More than 50 GTM operators came through to see what people are actually building beyond the demo layer: content systems, CRM automation, TAM expansion, and agent-native GTM infrastructure. The useful parts were practical. What worked. What broke. What needed guardrails. What moved from “interesting weekend project” to something an operator could run again on Monday.
The session also previewed where Freckle is headed. We’re rebuilding Freckle to work natively inside Claude Code, so GTM teams can build complex, composable workflows directly from the terminal.
We’re going to keep hosting operators who are building real GTM systems with AI, not just talking about them.
Follow the Freckle team on LinkedIn to hear about future events, or reach out to Emily directly at emily@freckle.io.
Good people. Better tools. More to come.