LinkedIn content
Every Monday three LinkedIn post drafts for one author land in the GTM repo as one pull request, built only from what context/ and the cadence log already say, each with its hook and the files it draws on; nothing is ever published.
Set up the linkedin-content cookbook in this project.
1. If the Cargo CLI is not installed yet, follow every step in https://api.getcargo.io/INSTALL.md
2. From the Cargo project, run: cargo-ai cdk add cookbook/linkedin-content
3. Then follow .claude/skills/linkedin-content/SKILL.md. Stop for my approval before any paid call, and stop at "cargo-ai project plan" before deploying anything.$cargo-ai cdk add cookbook/linkedin-contentSay this to your agent
Every Monday, draft three LinkedIn posts for our CEO, Dana Ruiz, from what's in context/.
Illustrative output #
Fictional records, to show the shape of what comes back.
## What you will be asked
| Input | | Why |
| --- | --- | --- |
| `CONTENT_AUTHOR` (`infra/agents/content-writer.ts`) | Asked | Every draft is in the first person. A team name produces posts nobody can publish as themselves. |
## Done when
- `node --import tsx evals/contract.mjs` passes
- `cargo-ai cdk plan` reports the agent, the two connectors and the folder
- the first run opened one pull request, `[linkedin-content] <week>`, containing only `cadence/content/<week>.md` in the `references/post.md` shape
- every draft lists its sources, and every number, customer and quote in it appears in one of them
- no customer whose `client/` file lacks reference permission is named
- a second run the same week linked the open pull request, opened no second one and changed nothing
- nothing was posted to LinkedIn or anywhere else
## What it costs
No connector action runs: the agent reads files in its checkout and opens a pull request through
GitHub. The recurring cost is the harness run itself, once a week, billed as LLM tokens through the
Anthropic connector, and it scales with how much of `context/` and `cadence/` there is to read.
The `performance-report` variation adds one paid LinkedIn action per run. Before adding it, read its
live price: `cargo-ai orchestration action list extractProfilePostActivity --kind connector
--integration-slug linkedin`, and say it out loud.
Three LinkedIn post drafts a week for one author, built only from what the GTM repository already
says, landed as one pull request. A Claude Code harness agent on a Monday cron; it reads context/
and the cadence log in its checkout and never publishes anything.
What it does #
- Reads positioning, proof points, clients, insights, objections and alternatives under
context/, plus the last two weeks ofcadence/log/and the last eight weeks of drafts. - Drafts three posts, one per kind: a proof point, an answer to an objection, and this week’s lesson.
- Cites the files behind every draft, cuts any claim it cannot cite, and never names a customer without reference permission.
- Writes
cadence/content/<week>.mdand opens one pull request. A re-run that week finds that pull request by its title and stops; close it to ask for a redraft.
What’s inside #
Adds 4 resources.
| File | Resource | Role |
|---|---|---|
infra/agents/content-writer.ts | defineAgent (claudeCode) | the weekly cron, the author env var, the model |
infra/agents/content-writer.prompt.ts | (not a resource) | what it reads, the three kinds, the citation rule, the PR |
infra/connectors/git.ts | defineConnector (github) | the clone, branch, push and pull request path |
infra/connectors/anthropic.ts | defineConnector (anthropic) | the model the harness runs on |
infra/folders/index.ts | defineFolder | where the agent is filed |
references/post.md | (not a resource) | the drafts file shape and the rules for a draft |
Why a pull request and not a post #
Publishing as a person is that person’s act. A draft that overstates a result costs a correction in the comments, under their name. The pull request is where someone reads it first, and the agent has no LinkedIn action that could skip that step.
Why no context capability #
The checkout already holds context/, so the agent reads it as files. A capability would add a
second path that can write the knowledge layer without the review every other pipeline goes through.
Placeholders (edit before deploy) #
CONTENT_AUTHORininfra/agents/content-writer.ts: the person the posts are written as.languageModel: any Anthropic model the workspace’s connector can reach.- The cron: Monday 14:00 UTC, after
web-capture’s Monday run.
What it does not do #
It does not post, like, comment, connect or message on LinkedIn, write under context/, read the
web or the CRM, or merge its own pull request.