{"slug": "content-repurposing-agent", "title": "Content Repurposing Agent", "summary": "A new content repurposing agent, governed by the open-source AgentAz specification, transforms a single source into multiple formats while preserving facts and brand voice. The agent operates under strict trust and authority boundaries, never fabricates claims, and requires human review for flagged content. Its design emphasizes safety, auditability, and cost controls, with a trust level of A2 and read-only tool access.", "body_md": "## Overview\n\nTurns one source into many formats — LinkedIn, email, thread, summary — from a single input.\n\nStays faithful: preserves the source's facts, numbers, and quotes, and matches your brand voice.\n\nNever fabricates stats, quotes, or claims that aren't in the original.\n\nDefensive: flags claims to verify, attributes quotes correctly, and marks pieces needing human review before publishing.\n\n## AgentAz™ specification\n\nA lightweight, design-time governance spec for security review. It documents what this agent is authorized to do — and why — and pairs with whatever policy engine you already run. It does not enforce anything at runtime.\n\nMachine-readable contract (`agentaz.json`\n\n), validated against the open AgentAz™ JSON Schema — bundled for offline use and published at a permanent URL:\n\n```\n{\n  \"$schema\": \"./agentaz.schema.json\",\n  \"version\": \"2.0.0\",\n  \"last_reviewed\": \"2026-06-24\",\n  \"agent_id\": \"content-repurposing-agent\",\n  \"trust_level\": \"A2\",\n  \"dna_pattern\": \"Synthesis\",\n  \"worst_case_action\": \"Produces an inaccurate repurposed draft for human review. Cannot publish; never invents facts.\",\n  \"authority_boundary\": \"Repurposes content faithful to source; publish tools absent; no invented claims.\",\n  \"tags\": [\n    \"marketing\",\n    \"content\",\n    \"repurposing\",\n    \"read-only\",\n    \"human-review\"\n  ],\n  \"tool_boundary\": {\n    \"allowed_tools\": [\n      \"read_source\",\n      \"repurpose_format\",\n      \"check_fidelity\",\n      \"draft\"\n    ],\n    \"execution_tools_absent\": true\n  },\n  \"output_boundary\": {\n    \"format\": \"structured_json\",\n    \"never_emits\": [\n      \"publish\",\n      \"post\"\n    ],\n    \"never_fabricates\": true\n  },\n  \"cost_boundary\": {\n    \"max_usd_per_trace_loop\": 0.2,\n    \"alert_threshold_usd\": 0.14\n  },\n  \"loop_boundary\": {\n    \"max_reasoning_turns\": 8\n  },\n  \"human_handoff\": {\n    \"triggers\": [\n      \"claim_not_in_source\",\n      \"ambiguous_source\"\n    ],\n    \"destination\": \"content_owner\"\n  },\n  \"audit\": {\n    \"append_only\": true,\n    \"logs\": [\n      \"drafts\"\n    ]\n  }\n}\n```\n\nNew to this? Read the [AgentAz specification guide](/agentaz-specifications) — Trust Levels, DNA patterns, and how it complements your runtime.\n\nAgentAz™ is open source under [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) — schema (frozen v1.0.0) and source on [GitHub](https://github.com/agent-kits/agentaz).\n\n## Governance matrix\n\nA scannable summary of this blueprint's governance coverage, derived from its AgentAz™ specification. It documents the boundaries that already ship — not new functionality.\n\n| Agent goal | Bounded by the authority spec above |\n|---|---|\n| Trust Level | A2 — Recommend |\n| Tool access | Least privilege — execution tools absent (read-only) |\n| Context handling | Grounded in provided inputs; cites or flags rather than guessing |\n| Memory strategy | Task-scoped; no persistent cross-session memory |\n| Human approval | Required on claim not in source, ambiguous source → content owner |\n| Audit trail | Append-only log (drafts) |\n| Cost & loop bounds | ≤ $0.2 per loop · ≤ 8 reasoning turns |\n| Recovery / escalation | Escalates to content owner |\n\n## Agent component mapping\n\nA framework-neutral view of how this blueprint maps to standard agent-architecture components (the vocabulary common to ADK-style frameworks). It describes structure for clarity — not an official integration or certified compatibility.\n\n| Agent | Primary reasoner — Recommend authority (A2) |\n|---|---|\n| Tools | read source, repurpose format, check fidelity, draft — execution tools absent (read-only) |\n| Memory | Task-scoped working context; no persistent cross-session memory |\n| Guardrails | Worst-case classified (A2); no execution tools; ≤ $0.2/loop · ≤ 8 turns |\n| Evaluator | Confidence and authority-boundary checks; low-confidence or out-of-bounds results are flagged, not actioned |\n| Handoff | Escalates to content owner on claim not in source, ambiguous source |\n\n## Failure modes\n\nSpecific ways this blueprint can fail, and how it is designed to detect, contain, and recover from each — the boundaries that make it safe to run, stated plainly.\n\nAdds a claim not in the source while repurposing.\n\n- Detection\n- A fidelity check flags claims absent from the source.\n- Mitigation\n- It stays faithful to source facts and never invents; there is no publish tool.\n- Recovery\n- The human removes the added claim before publishing.\n\nDistorts meaning when compressing for a shorter format.\n\n- Detection\n- Key-claim preservation is checked against the source.\n- Mitigation\n- Ambiguous compressions are flagged.\n- Recovery\n- The human reviews and corrects.\n\nStrips required context such as a disclaimer or caveat from the original.\n\n- Detection\n- It flags context that may need to carry over.\n- Mitigation\n- It preserves caveats rather than dropping them.\n- Recovery\n- The human restores any missing context.\n\n## Evaluation\n\nFidelity to the source is primary — an added claim or distorted meaning when repurposing is the failure.\n\n| Source fidelity | Share of repurposed claims supported by the source. |\n|---|---|\n| Fabrication rate | Frequency of claims not in the source — should be near zero. |\n| Meaning preservation | Share where key claims survive compression intact, per reviewer. |\n| Context retention | Share of required caveats and disclaimers carried over. |\n| Acceptance rate | Share published with little editing. |\n\n**Recommended approach.** Use source-and-repurposed pairs with reference outputs; measure fidelity and meaning preservation against the source and check that caveats carry over. Any added claim is a fidelity failure.\n\n## When to use\n\nUse it when\n\n- You produce long-form content and want it adapted into channel-ready formats fast.\n- You want repurposed copy that stays accurate to the source, not embellished.\n- You need consistent brand voice across formats.\n- You want claims and quotes preserved faithfully, with anything uncertain flagged.\n\nAvoid it when\n\n- You want it to invent fresh statistics or punchy claims to juice engagement — it won't.\n- You have no source content (it repurposes, it doesn't fabricate from nothing).\n- You need original research or net-new claims (those must be sourced and verified separately).\n- You want to copy external content rather than transform your own.\n\n## System prompt\n\n```\nYou are a Content Repurposing Agent for a marketing team. You adapt ONE source piece into requested formats (e.g. LinkedIn post, email, X thread, summary) while staying faithful to the source and on brand. You are judged on useful, on-voice repurposing and on never fabricating a fact, stat, quote, or claim.\n\n== CORE PRINCIPLES ==\n1. Faithful to the source. Every factual statement, number, and quote in your output must come from the source. Repurposing changes the format and framing, not the facts.\n2. No invented credibility. Do not add statistics, study citations, customer quotes, or strong claims that aren't in the source. If the user wants a new claim, flag that it must be provided/verified — don't manufacture it.\n3. On brand, not over-claimed. Match the requested voice and format, but never inflate (\"good\" doesn't become \"the best ever\") or overstate results beyond what the source supports.\n\n== HARD RULES (NON-NEGOTIABLE) ==\n- NO FABRICATION: Never invent stats, percentages, quotes, study references, or claims. Keep numbers exactly as written in the source. If something isn't in the source, it doesn't go in the output.\n- ATTRIBUTE CORRECTLY: Quotes must be attributed to whoever actually said them in the source; don't reassign or invent speakers.\n- NO PLAGIARISM: Transform the user's own source into new formats. Don't copy external/third-party text as if it were original.\n- FLAG UNVERIFIED/SENSITIVE: Mark any claim that should be verified, any regulated/sensitive claim (health, financial, legal), and anything needing human review before publishing.\n- PRESERVE MEANING: Don't distort the source's point to make a punchier post.\n\n== METHOD ==\n- Read the source; extract the key points, real stats, and real quotes. For each requested format, adapt structure/length/voice while carrying only sourced facts. Flag claims to verify.\n\n== OUTPUT FORMAT (return ONE JSON object) ==\n{\n  \"source_summary\": \"<faithful 1-2 sentence gist>\",\n  \"outputs\": [ { \"format\": \"<linkedin|email|thread|summary|...>\", \"content\": \"<repurposed copy>\", \"facts_used\": [\"<sourced facts/stats reflected>\"] } ],\n  \"preserved_stats\": [\"<numbers carried exactly from source>\"],\n  \"quotes\": [ { \"quote\": \"<from source>\", \"attributed_to\": \"<as in source>\" } ],\n  \"flags\": [\"<claims to verify / sensitive claims / needs review>\"],\n  \"note\": \"Repurposes the provided source only — no facts, stats, or quotes were invented.\"\n}\nNever add a stat, quote, or claim not in the source. Flag anything the user must verify.\n```\n\n## Simulate run\n\nTry the agent with a sample task. This is a frontend-only preview that shows how the kit would plan and execute — no API calls, nothing leaves your browser.\n\nFrontend preview only — no data leaves your browser. Tip: press `⌘/Ctrl` + `Enter` to run.\n\n## Setup guide\n\nInstall and connect content sources\n\nInstall the agent and connect it to your content and destinations.\n\n```\npipx install content-repurpose-agent\ncontent-repurpose-agent connect --cms wordpress --out buffer\ncontent-repurpose-agent doctor\n```\n\nConfigure faithfulness guardrails\n\nNo-fabrication and review flags are enforced here.\n\n```\ncp .env.example .env\nANTHROPIC_API_KEY=sk-ant-...\nNO_INVENTED_STATS=true\nPRESERVE_NUMBERS_EXACTLY=true\nFLAG_SENSITIVE_CLAIMS=true\n```\n\nSet brand voice & formats\n\nDefine your tone and the formats you want generated.\n\n```\n# brand.yml\nvoice: confident_but_grounded\nformats: [linkedin, email, x_thread, summary]\nbanned: [superlatives_without_source, invented_stats]\n```\n\nTest on a real piece\n\nRepurpose a known post and review the facts used and flags.\n\n```\ncontent-repurpose-agent run --source ./post.md --formats linkedin,email --explain\n# prints outputs + facts_used + flags (verify nothing was invented)\n```\n\nWire into your workflow\n\nRepurpose new content automatically into drafts for review.\n\n``` php\n# new post published -> repurpose -> drafts to your scheduler for human review\n```\n\n## Architecture\n\n## Tools required\n\n## Workflow\n\n1. Intake the source\n\nReceive the source content and the formats and voice to produce.\n\n2. Extract the material\n\nPull the source's key points, real stats, and real quotes — the only allowed inputs.\n\n3. Adapt to each format\n\nRewrite into each requested format with the right structure, length, and voice.\n\n4. Check faithfulness\n\nVerify every output fact, number, and quote traces to the source; drop anything unsupported.\n\n5. Check attribution & compliance\n\nAttribute quotes correctly and flag sensitive/regulated claims and copyright concerns.\n\n6. Apply brand voice\n\nMatch the requested tone without inflating claims beyond the source.\n\n7. Flag & hand off\n\nOutput the formats with facts used and flags for anything needing verification before publishing.\n\n## Examples\n\nBlog post → LinkedIn + email, faithful to source\n\nA blog post is repurposed into two formats, carrying only the facts that are actually in it.\n\nInput\n\n```\nSource: a blog post announcing a feature that 'cut onboarding time from 5 days to 2 days' for early customers.\n```\n\nOutput\n\n```\n{\n  \"source_summary\": \"A product post announcing a new feature that reduced onboarding time from 5 days to 2 days for early customers.\",\n  \"outputs\": [\n    { \"format\": \"linkedin\", \"content\": \"Onboarding used to take 5 days. For our early customers, it now takes 2. Here's what changed and why it matters for teams drowning in setup... [link]\", \"facts_used\": [\"onboarding 5 days -> 2 days (early customers)\"] },\n    { \"format\": \"email\", \"content\": \"Subject: Onboarding in 2 days, not 5\\n\\nWe shipped a feature that cut onboarding from 5 days to 2 for our early customers. Here's how it works and how to turn it on...\", \"facts_used\": [\"onboarding 5 days -> 2 days (early customers)\"] }\n  ],\n  \"preserved_stats\": [\"5 days -> 2 days (early customers)\"],\n  \"quotes\": [],\n  \"flags\": [\"'early customers' qualifier kept — don't generalize to 'all customers'\"],\n  \"note\": \"Repurposes the provided source only — no facts, stats, or quotes were invented.\"\n}\n```\n\n**Note:** Both formats carry the exact stat (5→2 days) and preserve the important 'early customers' qualifier rather than overstating it to 'all customers.' Faithful repurposing — new framing, same facts.\n\nDon't inflate a number → keep the stat exactly\n\nThe source says 'about 30% faster.' A punchier post is tempting, but the agent keeps the real figure.\n\nInput\n\n```\nSource: 'In our testing, the new pipeline was about 30% faster.' Request: 'make it punchy for a thread.'\n```\n\nOutput\n\n```\n{\n  \"source_summary\": \"A post stating that, in testing, a new pipeline was about 30% faster.\",\n  \"outputs\": [\n    { \"format\": \"thread\", \"content\": \"1/ We rebuilt our pipeline. In our testing, it came out ~30% faster. Here's what we changed and what we learned 🧵\", \"facts_used\": [\"~30% faster in testing\"] }\n  ],\n  \"preserved_stats\": [\"~30% faster (in testing)\"],\n  \"quotes\": [],\n  \"flags\": [\"Kept '~30% in testing' as stated — did not round up to '2x faster' or drop the 'in testing' qualifier, which would overstate the result\"],\n  \"note\": \"Repurposes the provided source only — no facts, stats, or quotes were invented.\"\n}\n```\n\n**Note:** 'Punchy' is fine, but the agent keeps '~30% in testing' exactly and explicitly refuses to inflate it to '2x' or strip the 'in testing' caveat. The qualifier matters legally and for trust — embellishing a stat is the classic repurposing failure.\n\nAsked to add an unsourced claim → refuse to fabricate, flag it\n\nThe user wants a credibility-boosting stat that isn't in the source. The agent won't invent it.\n\nInput\n\n```\nSource: a post about better collaboration. Request: 'add that studies show teams using us are 10x more productive.'\n```\n\nOutput\n\n```\n{\n  \"source_summary\": \"A post about how the product improves team collaboration.\",\n  \"outputs\": [\n    { \"format\": \"linkedin\", \"content\": \"Better collaboration isn't about more tools — it's about fewer handoffs and clearer context. Here's how teams are working more smoothly... [link]\", \"facts_used\": [\"improves collaboration (qualitative, from source)\"] }\n  ],\n  \"preserved_stats\": [],\n  \"quotes\": [],\n  \"flags\": [\"REQUESTED CLAIM NOT ADDED: 'studies show 10x more productive' is not in the source and I can't verify it. Adding an invented statistic risks being false and non-compliant. If you have a real study/figure, provide it and I'll include it with attribution.\"],\n  \"note\": \"Repurposes the provided source only — no facts, stats, or quotes were invented.\"\n}\n```\n\n**Note:** The defining defensive case: directly asked to insert a fabricated '10x, studies show' stat. The agent declines, writes a strong post on what the source actually supports, and flags exactly why the claim was omitted — offering to include a real figure if provided. Invented stats are a credibility and legal landmine; the agent won't plant one.\n\n## Implementation notes\n\n- Make 'every fact, number, and quote must trace to the source' a hard check; fabricated stats are the fastest way to destroy marketing trust and create legal exposure.\n- Preserve numbers and qualifiers exactly (e.g. '~30% in testing', 'early customers') — rounding up or dropping caveats turns a true statement into a false one.\n- Refuse to add requested-but-unsourced claims; instead write strongly from what the source supports and flag that a real figure must be provided.\n- Attribute quotes to the correct source speaker and never reassign or invent speakers.\n- Flag sensitive/regulated claims (health, financial, legal) for human review before publishing.\n- Keep it transformative of the user's own content, not a copy of third-party text, to avoid plagiarism/copyright issues.\n- The strong model earns its cost on the faithfulness and claim-flagging pass, while a cheaper model can draft format variants.\n\n## Variations\n\nBasic\n\nFormat adapter\n\nRepurposes one source into a couple of formats while preserving its facts and voice. On demand.\n\nAdvanced\n\nFaithful multi-format repurposing\n\nAdds the no-fabrication guard, exact-number preservation, quote attribution, sensitive-claim flagging, and review handoff across many formats.\n\nEnterprise\n\nContent distribution engine\n\nAdds CMS/scheduler integration, brand-voice profiles, batch repurposing, compliance review workflows, and per-channel optimization at scale.\n\nDownload the Agent Blueprint\n\n[Download Blueprint (.zip)](/downloads/content-repurposer.zip)\n\nExport\n\n[View the source on GitHub](https://github.com/agent-kits/agentaz/tree/main/kits/content-repurposer)\n\nThis blueprint and the AgentAz™ specification live in the central AgentKits registry — open source under Apache-2.0 (code & schema) and CC‑BY‑4.0 (text).\n\n## Frequently asked questions\n\nNo — that's its core constraint. Every fact, number, and quote in the output must come from your source. If you ask for a claim that isn't there, it declines and flags it rather than fabricating a statistic.\n\nYes, exactly as written — including qualifiers like '~30%' or 'in testing.' It won't round a figure up or strip a caveat, because that turns an accurate statement into a misleading one.\n\nIt carries quotes from the source and attributes them to whoever actually said them; it never reassigns a quote to a different person or invents one.\n\nProvide the real figure or source and it will include it with attribution. It just won't manufacture a claim or 'studies show' stat on its own, since it can't verify it.\n\nYes. It applies your requested tone and brand guidelines across formats, while staying grounded — it adapts the style without inflating the claims.\n\nYes. It flags claims that should be verified, sensitive or regulated claims, and anything else worth a human check before publishing.", "url": "https://wpnews.pro/news/content-repurposing-agent", "canonical_source": "https://www.agent-kits.com/kit/content-repurposer", "published_at": "2026-06-21 00:00:00+00:00", "updated_at": "2026-06-26 22:04:49.615941+00:00", "lang": "en", "topics": ["ai-agents", "ai-safety", "ai-tools", "ai-ethics", "ai-policy"], "entities": ["AgentAz", "GitHub", "Apache-2.0"], "alternates": {"html": "https://wpnews.pro/news/content-repurposing-agent", "markdown": "https://wpnews.pro/news/content-repurposing-agent.md", "text": "https://wpnews.pro/news/content-repurposing-agent.txt", "jsonld": "https://wpnews.pro/news/content-repurposing-agent.jsonld"}}