惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google Online Security Blog
Google Online Security Blog
S
Security @ Cisco Blogs
Recent Commits to openclaw:main
Recent Commits to openclaw:main
人人都是产品经理
人人都是产品经理
The Hacker News
The Hacker News
W
WeLiveSecurity
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
博客园 - 司徒正美
雷峰网
雷峰网
L
LINUX DO - 最新话题
博客园 - 叶小钗
云风的 BLOG
云风的 BLOG
The Last Watchdog
The Last Watchdog
V2EX - 技术
V2EX - 技术
S
Security Affairs
有赞技术团队
有赞技术团队
月光博客
月光博客
T
Threatpost
T
Tor Project blog
O
OpenAI News
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
V
V2EX
Know Your Adversary
Know Your Adversary
Project Zero
Project Zero
博客园 - 三生石上(FineUI控件)
D
Docker
AWS News Blog
AWS News Blog
AI
AI
P
Proofpoint News Feed
K
Kaspersky official blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
D
Darknet – Hacking Tools, Hacker News & Cyber Security
www.infosecurity-magazine.com
www.infosecurity-magazine.com
S
Securelist
F
Fortinet All Blogs
F
Full Disclosure
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
量子位
Hacker News - Newest:
Hacker News - Newest: "LLM"
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
P
Palo Alto Networks Blog
Cyberwarzone
Cyberwarzone
Cisco Talos Blog
Cisco Talos Blog
美团技术团队
N
News | PayPal Newsroom
T
The Blog of Author Tim Ferriss
MyScale Blog
MyScale Blog

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python) The Hidden Cost of AI Systems Nobody Talks About. undefined vs undeclared, and how typeof behaves Switching from file-based jobs to NATS/Kafka in Rust without changing code io_uring Adventures: Rust Servers That Love Syscalls Why Agentic AI is Killing the Traditional Database The POUR principles of web accessibility for developers and designers Quantum Neural Network 3D — A Deep Dive into Interactive WebGL Visualization How To Install Caveman In Codex On macOS And Windows Automation Pipeline Reliability: Why Your Workflow Breaks When Nobody Is Watching I Built an 'Open World' AI Coding Agent — It Works From ANY Folder From Freelancing to Product: A Tech Service Company's SaaS Transformation China's AI Giants: Adding Tencent Hunyuan & ByteDance Doubao to AI University (74 Providers) On the Vibe Coders and Their Lies clerk: Auto-Summarize Your Claude Code Sessions AI Weekly — 2026/04/10–04/17 | The Model Lockdown Is Here, but the Toolchain Is the Real Battleground AI 週報 — 2026/04/10–2026/04/17 模型封鎖潮來了,但工具鏈才是真戰場 Maybe this is how Open-Source apps are born... 🚀 Fine-Tune LLMs with LoRA and QLoRA: 2026 Guide tRPC v11 + Next.js App Router: End-to-End Type Safety Without the Boilerplate ShadCN UI in 2026: Why I Stopped Installing Component Libraries and Started Owning My Components SaaS Billing in React Server Components: Stripe + Supabase Without a Single `useEffect` Join our DEV Weekend Challenge — $1,000 in Prizes Across TEN winners! Submissions Due April 20 at 6:59 AM UTC. Implementing FSRS Spaced Repetition in Flutter + Supabase — Adding Memory Science to an AI Learning App "I Texted My Localhost From the Train — Claude Code Fixed the Bug Before I Got Home" I Built a Sales Prep AI and It Went Deeper Than Expected Design to Code #2: One JSON, Eleven Outputs Solving the 100M-Row Problem: A Summary Table Pattern for High-Volume Push Notification Logs Flutter Web With Wasm: What Actually Changes For Developers I Built 50 Royalty-Free Soundtracks for My Side Project in a Weekend Using AI Music Generation The Vibe Coding Security Checklist: 7 Things to Check Before You Ship Stop Letting Googlebot Guess Fix Your React App's SEO Right Desconstruindo o Streaming do LinkedIn: Como Criar um Engine de Extração de Vídeo de Alta Performance com HLS e FFmpeg (EDA Part-1) EDA (Exploratory Data Analysis) Explained With Real Life — Why Looking at Your Data Is the Most Important Step in Machine Learning Brand Relationship Management at Scale: Our 4-Touch Outreach System for 200+ Brands Why String.fromEnvironment() Might Return an Empty String in Dart JGuardrails 1.0.0 — Hardening Java LLM Apps Against Jailbreaks, Toxicity, and Prompt Injection Plan and Schedule a Full Week of Threads Content From One Claude Conversation Coding Cat Oran Ep3, Five Tables Changed Everything Updated: BFF Pattern I'm done watching freelancers get buried by 200 proposals. So I'm building the alternative. This is my first post BFS Algorithm in Java Step by Step Tutorial with Examples Tracking LLM Pricing Monthly: An Open Dataset for 22 AI Models How We Measure Content ROI on a Comparison Site: Revenue Attribution Without Perfect Data Introducing Nova AI Ops: The AI-Native Operating System for SRE Teams I built a free desktop video downloader for Windows — Grabbit How Talkie OCR Helps Vision-Impaired & Dyslexic Users Read the World Around Them VRCFaceTracking安装和iPhone面捕配置教程,有bug Even CrowdStrike Can't See Your Agents The Automation Gold Rush: What n8n Workflows and Claude Are Opening Up for Developers Right Now
Build a Client Deliverable Agent with Claude Cowork and Iteration Layer
Iteration La · 2026-05-14 · via DEV Community

Client Deliverables Fail Before the Deliverable Starts

Agency delivery work rarely starts from a clean brief.

The client sends a PDF strategy deck, a spreadsheet with half-updated numbers, screenshots from a legacy system, three reference images, and a follow-up email that changes the scope. Someone on the agency side has to read everything, reconcile contradictions, identify missing decisions, and turn the mess into a kickoff summary, delivery brief, report, or tracker the client can react to.

That first pass is expensive because it sits between strategy and production. It is too variable for a rigid script, but too repetitive to justify senior attention every time. It is also where bad agency workflows lose margin: the same intake, extraction, interpretation, formatting, and handoff work gets rebuilt for every client.

An agent can help, but only if the workflow is designed around evidence. A generic chat session that reads files and writes a polished answer is risky. A client deliverable agent should separate source material, extracted facts, uncertain values, generated artifacts, and human approval.

That separation is what keeps agent-assisted delivery from becoming another fragile one-off for every client project.

Treat the Agent as the Drafting Layer, Not the System of Record

Claude Cowork is useful for longer-running work where the agent needs context, files, and external tools. That makes it a good fit for client deliverable preparation.

It should not become the place where the agency stores truth.

For client work, the agent should do three things:

  • Inspect messy source material.
  • Produce structured evidence and draft artifacts.
  • Push uncertain decisions back to a human.

The agency still owns the workflow rules: which fields matter, which facts require review, which templates are approved, what gets sent to the client, and what belongs in production code later.

That boundary matters. If the agent reads a brief that says a launch is "planned for late Q3" and writes "Launch date: 2026-09-30," the output looks finished but the fact is invented. A good client deliverable workflow preserves that uncertainty as an open question.

The agent can reduce the first-pass work. It should not erase the review step.

The Intake Contract Comes First

Most agencies start by prompting the agent. That is backwards.

Start by defining the intake contract: what source material the agent is allowed to inspect, which facts it should extract, how it should represent uncertainty, and what artifact it should generate.

A practical client packet might contain:

  • A PDF project brief.
  • A spreadsheet of locations, products, users, accounts, or SKUs.
  • Reference images or screenshots.
  • A short note describing the requested deliverable.
  • Existing brand or formatting constraints.

The intake contract should answer:

  • Which source files are authoritative?
  • Which source files are only context?
  • Which fields must cite a source?
  • Which fields may be inferred?
  • Which outputs are internal drafts and which are client-facing?
  • Which values must become open questions when confidence is low?

This is not bureaucracy. It is what keeps the agent from treating every sentence as equally reliable.

For example, a client email that says "use the newer timeline from the spreadsheet" should override an older PDF brief. A screenshot of a product page may be context for tone but not a source of contractual requirements. A budget range may be safe to summarize but not safe to convert into a fixed number.

The intake contract is where those rules live.

How Claude Cowork Fits the Workflow

With Iteration Layer connected through Claude Cowork, the agent can use MCP tools for the content-processing steps that otherwise become manual work or glue code.

The workflow chain looks like this:

  1. Document to Markdown converts long briefs, decks, and mixed PDFs into readable context.
  2. Document Extraction extracts the evidence schema with confidence scores and citations.
  3. Image Transformation prepares screenshots or reference images for inclusion.
  4. Document Generation produces the kickoff summary or delivery brief.
  5. Sheet Generation creates an action tracker, risk register, or source index.

The point is not that the agent can call many tools. The point is that the same client packet can move from source material to evidence to generated outputs without switching processors, credentials, or output conventions.

For an agency, that matters because client work repeats with variation. One project is a real estate listing pack. Another is a fleet-management report. Another is an invoice-processing handoff. The fields and templates change, but the processing pattern stays familiar.

The Deliverable Schema

Before generating a PDF or tracker, define the structured record behind it.

For a client kickoff summary, the useful fields usually look like this:

{
  "fields": [
    {
      "name": "client_name",
      "type": "TEXT",
      "description": "The client organization name exactly as stated in the source material."
    },
    {
      "name": "project_goal",
      "type": "TEXTAREA",
      "description": "The main business outcome the project is supposed to support."
    },
    {
      "name": "deliverables",
      "type": "ARRAY",
      "description": "Concrete outputs the agency is expected to deliver.",
      "fields": [
        {
          "name": "name",
          "type": "TEXT",
          "description": "The deliverable name."
        },
        {
          "name": "details",
          "type": "TEXTAREA",
          "description": "Relevant scope, format, or acceptance details for the deliverable."
        }
      ]
    },
    {
      "name": "stakeholders",
      "type": "ARRAY",
      "description": "Named people, teams, or roles involved in approval or delivery.",
      "fields": [
        {
          "name": "name_or_role",
          "type": "TEXT",
          "description": "The stakeholder name, team, or role."
        },
        {
          "name": "responsibility",
          "type": "TEXTAREA",
          "description": "What this stakeholder owns or approves."
        }
      ]
    },
    {
      "name": "dates",
      "type": "ARRAY",
      "description": "Important deadlines, launches, review dates, or ambiguous timing commitments.",
      "fields": [
        {
          "name": "label",
          "type": "TEXT",
          "description": "What the date refers to."
        },
        {
          "name": "date_or_phrase",
          "type": "TEXT",
          "description": "The exact date or source phrase, preserving ambiguity when the source is not precise."
        }
      ]
    },
    {
      "name": "risks",
      "type": "ARRAY",
      "description": "Delivery risks, missing inputs, unclear dependencies, or contradictory source material.",
      "fields": [
        {
          "name": "risk",
          "type": "TEXTAREA",
          "description": "The delivery risk or contradiction."
        },
        {
          "name": "source_context",
          "type": "TEXTAREA",
          "description": "The source context that explains why this is a risk."
        }
      ]
    },
    {
      "name": "open_questions",
      "type": "ARRAY",
      "description": "Questions that must be answered before the deliverable can be treated as final.",
      "fields": [
        {
          "name": "question",
          "type": "TEXTAREA",
          "description": "The unresolved question."
        },
        {
          "name": "reason",
          "type": "TEXTAREA",
          "description": "Why this question remains unresolved."
        }
      ]
    }
  ]
}

Enter fullscreen mode Exit fullscreen mode

That schema is deliberately not a finished document. It is the evidence layer.

The generated deliverable can then use the evidence layer to produce:

  • A client kickoff PDF.
  • An internal delivery brief.
  • A spreadsheet of action items.
  • A slide-style handoff for the project team.
  • A risk register for the account lead.

The key design choice is that generated artifacts should read from structured evidence, not directly from one long conversation transcript.

A Prompt That Preserves Uncertainty

A useful prompt should tell Cowork what not to do.

Review the client materials and create a first-pass delivery packet.

Use the Iteration Layer MCP tools for document conversion, structured extraction, image preparation, document generation, and spreadsheet generation.

Use source citations for confirmed facts. Do not convert vague dates into exact dates. If sources conflict, keep both values and add an open question. If a value is missing or low-confidence, put it in the open questions section instead of guessing.

Extract:
- client name
- project goal
- deliverables
- stakeholders
- deadlines and ambiguous timing commitments
- source files used
- risks
- open questions

Then generate:
- a client kickoff summary PDF
- an internal action tracker spreadsheet

The PDF is a draft for review, not a final client document.

Enter fullscreen mode Exit fullscreen mode

This prompt forces the agent to keep the workflow layered: evidence first, generated artifacts second, review before delivery.

It also gives the account lead something useful to inspect. They do not have to ask, "Did Claude make this up?" They can look at the open questions, citations, and low-confidence fields.

What the Generated Deliverable Should Contain

A client-facing draft should not be a verbose summary of every source file. It should be a decision artifact.

For a kickoff summary, useful sections are:

  • Project goal.
  • Confirmed deliverables.
  • Stakeholders and approval owners.
  • Timeline and ambiguous timing commitments.
  • Source files reviewed.
  • Risks and assumptions.
  • Open questions.
  • Next actions.

For an internal tracker, useful columns are:

  • Action item.
  • Owner.
  • Source citation.
  • Due date.
  • Confidence or review status.
  • Client-facing or internal.
  • Follow-up required.

This structure prevents the agent from producing a polished but unreviewable narrative. The client sees the shape of the work. The agency sees what still needs a decision.

Confidence Is a Delivery Control, Not a Nice-to-Have

Client deliverables are risky when uncertain facts look final.

The workflow should treat confidence and citations as routing signals:

  • High-confidence factual fields can flow into the draft.
  • Low-confidence fields should be marked for review.
  • Missing required fields should become open questions.
  • Conflicting source material should be shown explicitly.
  • Generated outputs should never hide the review state.

For example, if the source brief says "launch in late Q3" and the spreadsheet says "September campaign," the agent should not invent a launch date. The generated report should say that timing is ambiguous and list both source references.

That small distinction protects the agency. It also improves the client conversation because the deliverable asks better questions.

Standardize the Pattern Across Clients

The real value for an agency is not one good Cowork session. It is a repeatable operating pattern.

The same workflow can be adapted across client types:

  • Real estate: listing documents, photos, brochure PDFs, social assets.
  • Finance: invoice packets, approval reports, reconciliation trackers.
  • Fleet management: violation documents, driver summaries, client reports.
  • Product operations: supplier sheets, image cleanup, catalog exports.
  • Research: PDF packs, evidence tables, decision briefs.

The agency should standardize the layers, not the exact fields:

  • Intake contract.
  • Extraction schema.
  • Review policy.
  • Output template.
  • Handoff into production automation when the pattern repeats.

That is the operational version of productizing document processing across clients. The agency is no longer inventing a new process for every engagement. It is adapting a known pipeline.

What Belongs in Production Code Later

Do not keep a recurring client workflow entirely inside an agent conversation.

Cowork is good for review, drafting, and workflow design. Once the task becomes repeatable, the stable parts should move into REST, an SDK, or a controlled automation platform.

Move these parts into production code:

  • Scheduled extraction jobs.
  • Approved schemas.
  • Approved document templates.
  • Client-specific routing rules.
  • Audit logs.
  • Retention controls.
  • Human review queues.

Keep the agent for:

  • One-off client packets.
  • Drafting variants.
  • Handling exceptions.
  • Exploring a new workflow before it is standardized.

This is the MCP first, REST later pattern. The agent helps the agency discover the workflow. Production code runs the stable version.

Where Iteration Layer Fits

Iteration Layer is a fit when the client deliverable requires more than one content operation.

If all you need is a chat model to summarize a text file, a model provider may be enough. If all you need is a one-off PDF template, a document generator may be enough. The case for Iteration Layer is the pipeline: convert source files, extract structured evidence, prepare images, generate documents, and produce trackers through one processing surface.

For EU agencies, the hosting model also matters. Iteration Layer runs on EU infrastructure with zero data retention. That supports the agency's sovereignty story without asking every client project to accept a new patchwork of processors.

The tradeoff is focus. A specialized tool may expose deeper controls for one narrow operation. Iteration Layer is designed for the client workflow that needs multiple operations to compose cleanly.

The Agency Checklist

Before turning a client deliverable agent into a standard service, check the workflow:

  • Does the intake contract define authoritative sources?
  • Are extracted facts stored separately from generated prose?
  • Do required fields have citations?
  • Do low-confidence values become open questions?
  • Does the generated PDF clearly mark draft status?
  • Is there a human approval step before client delivery?
  • Can the same schema and template run for the next client?
  • Which parts should move from MCP into production code?
  • Can the agency explain the data flow to a client without guessing?

If those answers are clear, the agent is not a novelty. It is a delivery layer the agency can reuse.