Skip to main content
RapidDev - Software Development Agency
build-ai-agent

How to Build an AI Agent with Claude

Claude.ai builds an agent out of three parts: a Project for standing instructions and knowledge, a Connector so Claude can reach your real data, and a Skill so it formats output the same way every time. This guide builds a Monday pricing-brief agent that reads a shared competitor tracker through the Google Workspace connector and drafts a formatted doc, on a Cowork schedule, for a human to review before anyone sees it. No code, no API key, 20-30 minutes.

What you'll learn

  • Separate standing instructions and reference knowledge (a Project) from one-off data access (a Connector)
  • Package a repeatable output format as a custom Skill instead of repeating formatting instructions every time
  • Scope a connector's tool access per conversation so it's available when needed without being always-on everywhere
  • Turn a manual chat into a recurring agent with a Cowork scheduled task, without writing a cron job
Book a free consultation
4.9Clutch rating ⭐
1,000+Happy partners
20+Countries served
200+Team members
Beginner11 min read20-30 minClaude.ai Pro plan or higher (for Cowork scheduling), browser or desktop app, no API keyLast updated November 2026RapidDev Engineering Team
TL;DR

Claude.ai builds an agent out of three parts: a Project for standing instructions and knowledge, a Connector so Claude can reach your real data, and a Skill so it formats output the same way every time. This guide builds a Monday pricing-brief agent that reads a shared competitor tracker through the Google Workspace connector and drafts a formatted doc, on a Cowork schedule, for a human to review before anyone sees it. No code, no API key, 20-30 minutes.

Quick facts about this guide
FactValue
ToolClaude
DifficultyBeginner
Time required20-30 min
CompatibilityClaude.ai Pro plan or higher (for Cowork scheduling), browser or desktop app, no API key
Last updatedNovember 2026

What you'll build

You'll build a pricing-brief agent for a small company that tracks competitor prices in a shared Google Sheet. Every Monday, it should read that sheet, compare it against last week's numbers already stored in the Project's knowledge, and create a formatted draft Google Doc summarizing what changed, in your team's usual brief layout. It never emails or shares anything; a human opens the draft, checks it, and shares it manually.

In Claude.ai, that shape maps to three separate features instead of one agent framework. A Project holds the standing instructions ('you are our pricing analyst, flag anything over a 5 percent move') and reference knowledge (last week's numbers as a file). A Connector, set up once in Customize > Connectors, gives Claude read access to the live Google Sheet and write access to create a new Doc, through your own Google account's permissions, not a shared service key. A Skill packages the exact brief format, headings, and tone so Claude doesn't have to be told the same formatting rules in every run. Cowork then runs the whole thing on a schedule instead of you opening a chat every Monday.

Choose this no-code path when the people maintaining the agent are the same people using Claude day to day and nobody wants to own a server. If you need the agent to react to a webhook in real time, or you want programmatic control over tool permissions, the Claude Agent SDK guide builds the same kind of approval boundary as code you run yourself.

Prerequisites

  • A Claude.ai account on Pro, Max, Team, or Enterprise (Cowork scheduling isn't on Free)
  • A Google account with edit access to the competitor-tracking Sheet and a Drive folder for drafts
  • Last week's pricing numbers saved as a small file (CSV or text) to upload as Project knowledge
  • No API key and no code required

Step-by-step guide

1

Create a Project and set its standing instructions

Start a new Project from the sidebar and name it something like Pricing Brief. In the project's instructions field, write the role and the rule that matters most: flag moves over a threshold instead of just listing every number. Upload last week's pricing snapshot to the project's knowledge base so Claude has a baseline to compare against on the first run, before any history has built up inside the conversation itself.

typescript
1Project instructions:
2"You are our pricing analyst. Every run, compare this week's competitor prices against last week's snapshot in your knowledge. Flag any price that moved more than 5%. Never share or email anything; only create a draft Google Doc for a human to review."

Expected result: A Project named Pricing Brief with its instructions saved and last week's snapshot file listed under its knowledge.

2

Add the Google Workspace connector

Go to Customize > Connectors, find Google Workspace in the pre-built connectors list, and connect it with the Google account that has access to the tracking Sheet and the Drive folder. This connector works through your own account's OAuth permissions, so Claude can only read and write what you personally have access to, not anything else in your organization's Google Workspace.

typescript
1Customize -> Connectors -> Google Workspace -> Connect
2Sign in with the Google account that has edit access to:
3- the competitor-tracking Sheet
4- the Drive folder for brief drafts

Expected result: Google Workspace shows as Connected in the Connectors list, and Claude can be asked to open the Sheet by name in a test chat.

3

Package the brief format as a custom Skill

Instead of repeating your brief's exact headings and tone in every prompt, write them once as a Skill. Create a small skill.md file with a short description Claude uses to decide when to apply it, plus the actual formatting instructions, and upload it as a zip through Customize > Skills > Add. This is the same mechanism that powers Anthropic's own pre-built Excel, Word, and PDF skills, just with your own instructions instead.

typescript
1skill.md frontmatter and body (zip this folder and upload):
2---
3name: pricing-brief-format
4description: Use when drafting the weekly competitor pricing brief. Defines the exact headings and tone.
5---
6# Pricing Brief Format
7Use these headings in order: Summary, Moves Over 5%, Unchanged, Next Week's Watchlist.
8Keep each section under 80 words. No marketing language, numbers first.

Expected result: pricing-brief-format appears in Customize > Skills, available to toggle on for a conversation or Project.

4

Set tool access so the connector and skill are ready without being everywhere

Inside the Pricing Brief project, open the conversation's tool access setting and set it to Always available for the Google Workspace connector and the pricing-brief-format skill, rather than leaving it on Auto. Auto makes Claude decide when to reach for a tool, which is fine for general use but adds a small chance it skips the Sheet lookup on a run where the prompt is slightly different from usual.

typescript
1Tool access (this conversation):
2Google Workspace connector -> Always available
3pricing-brief-format skill -> Always available

Expected result: Both the connector and the skill show as explicitly enabled rather than left on Auto for this project's conversations.

5

Run it manually once and check the draft, not just the chat reply

Ask Claude directly to pull this week's numbers from the Sheet and draft the brief. Don't just read its chat summary; open the actual Google Doc it created in Drive and check the formatting matches the skill and that nothing beyond a draft doc happened. This is the point to catch a connector scoped too broadly or a skill that didn't apply, before you put it on a schedule.

typescript
1Prompt:
2"Pull this week's prices from the competitor-tracking Sheet, compare against your knowledge of last week, and create this week's pricing brief as a new Google Doc draft in the Briefs folder."

Expected result: A new Google Doc appears in the Briefs folder with the four required headings and a Moves Over 5% section that matches what actually changed in the Sheet.

6

Turn it into a recurring Cowork task

Open Cowork, create a scheduled task pointed at the same prompt from the previous step, and set it to run every Monday morning. Cowork keeps running in the cloud even if your laptop is off, so the brief is waiting in Drive before your Monday standup instead of depending on you remembering to ask for it.

typescript
1Cowork -> New scheduled task
2Prompt: same as step 5
3Schedule: Weekly, Monday, 8:00 AM
4Project: Pricing Brief

Expected result: The task appears in Cowork's scheduled list, and a fresh draft Doc shows up in Drive the following Monday without you opening a chat.

7

Harden the connector scope before trusting it unattended

Since this now runs with nobody watching, narrow what it can touch. Point the connector at a Google account that only has access to the tracking Sheet and the Briefs folder, not your whole Drive, and review the Briefs folder weekly for a run or two to confirm it never drifts into creating anything outside that folder.

typescript
1Recommended: use a dedicated Google account (or a shared drive with scoped permissions) for the connector, limited to:
2- the competitor-tracking Sheet (read)
3- the Briefs folder (write)

Expected result: The connected account's permissions are limited to exactly the Sheet and folder this agent needs, confirmed in Google's own sharing settings.

Complete working example

pricing-brief-format/skill.md
1---
2name: pricing-brief-format
3description: Use when drafting the weekly competitor pricing brief from the tracking Sheet. Defines required headings, length limits, and tone so every week's brief looks the same.
4---
5
6# Pricing Brief Format
7
8Apply this format whenever asked to draft, update, or regenerate the weekly
9competitor pricing brief.
10
11## Required sections, in this order
12
131. **Summary** - 2-3 sentences, numbers first, no adjectives like "significant"
14 or "dramatic." State the count of prices that moved and by how much on
15 average.
162. **Moves Over 5%** - one bullet per competitor product that moved more than
17 5% since last week's snapshot. Format: `Product - old price -> new price
18 (±X%)`. If nothing moved more than 5%, write "None this week."
193. **Unchanged** - a single line listing products with no price change, not
20 a bullet per product.
214. **Next Week's Watchlist** - up to 3 products sitting close to a 5%
22 threshold that are worth checking again next week.
23
24## Rules
25
26- Keep every section under 80 words. This is a brief, not a report.
27- Pull current numbers from the live competitor-tracking Sheet via the
28 connector; never estimate or carry over a stale number silently.
29- Compare against the most recent snapshot in this project's knowledge, not
30 against an assumed baseline.
31- Create the output as a new Google Doc in the Briefs folder. Never send an
32 email, post a message, or share the doc; that decision belongs to a human.
33- Title the doc "Pricing Brief - [this week's date]".
34- If the Sheet is unreachable or a product is missing a price, say so in the
35 Summary section instead of silently skipping it.
36

Common mistakes

Why it's a problem: Connecting Google Workspace with an account that has access to far more than the tracking Sheet and Briefs folder

How to avoid: Use a dedicated account or a narrowly shared drive. A connector can only reach what the signed-in account can reach, so scope that account first.

Why it's a problem: Putting the brief's formatting rules in the Project's instructions instead of a Skill

How to avoid: Instructions compete with everything else in the prompt for the model's attention. A Skill is loaded specifically when relevant, which makes formatting stick more reliably across runs.

Why it's a problem: Leaving tool access on Auto and assuming the connector always gets used

How to avoid: Auto is a reasonable default for everyday chats, but for a scheduled, unattended task, set the connector and skill to Always available so a slightly different scheduled prompt can't accidentally skip them.

Why it's a problem: Scheduling the Cowork task before ever checking the actual Google Doc it produces

How to avoid: Run it manually at least once and open the real output in Drive, not just the chat summary, before trusting it on an unattended schedule.

Why it's a problem: Letting the skill or project instructions allow sharing or sending as an option 'if it seems helpful'

How to avoid: State the boundary as an absolute rule: draft only, never send or share. A soft suggestion leaves room for the model to decide otherwise on an unusual week.

Best practices

  • Split standing instructions (Project), one-off data access (Connector), and repeatable formatting (Skill) into three separate pieces instead of one long prompt.
  • Scope every connector to a dedicated account or narrowly shared resource, since it can only act within that account's own permissions.
  • Set tool access to Always available for anything a scheduled, unattended task depends on; reserve Auto for interactive chats.
  • Write the 'never do X' rules (never send, never share, never delete) as absolute statements in the Skill or Project instructions, not as soft suggestions.
  • Check the actual output artifact (the doc, the sheet, the file) after a scheduled run, not just the task's completion status in Cowork.
  • Keep a Skill focused on one repeatable output. A skill that tries to format five different kinds of documents is harder for Claude to apply consistently than five small ones.

Still stuck?

Copy one of these prompts to get a personalized, step-by-step explanation.

ChatGPT Prompt

I have a Claude Project with a Google Workspace connector and a pricing-brief-format Skill (skill.md below) that drafts a weekly competitor pricing brief as a Google Doc on a Cowork schedule. Design a second skill that turns the same data into a one-slide summary instead of a doc. [paste complete_code]

Build AI Agents Prompt

In Claude.ai, open the Pricing Brief project and ask: 'Add a rule to the pricing-brief-format skill that flags if any competitor's price has moved more than 5% for two weeks in a row, and call that out separately from a one-time move.'

Frequently asked questions

Do I need an Anthropic API key to build an AI agent with Claude this way?

No. Everything in this guide happens inside the Claude.ai product on a Pro plan or higher. An API key and the Claude Agent SDK are a separate path for when you want to run the agent as your own process instead of inside Claude.ai.

What's the difference between a Project's knowledge and a Connector?

Project knowledge is files you upload once, like last week's pricing snapshot; it's static until you replace it. A Connector gives Claude live access to a real account, like a Google Sheet that changes every week, read fresh on every run.

Can a Skill call a Connector directly, or do I still have to ask for both in the prompt?

A Skill only shapes how Claude formats or approaches a task; it doesn't call tools on its own. The Connector still has to be enabled and relevant to the prompt, which is why this guide sets both to Always available rather than relying on the model to reach for them.

Is Cowork required to schedule this, or can I just ask Claude to remind me every Monday?

A reminder still requires you to open the chat and act on it. Cowork's scheduled tasks run in the cloud on their own, so the draft doc exists before you've opened Claude that day, which is what makes this an agent rather than a recurring prompt you have to remember.

What happens if the Google Sheet connector loses access partway through a scheduled run?

The skill in this guide instructs Claude to say so in the Summary section instead of silently producing a brief with missing or stale numbers. Check the Briefs folder after the first few scheduled runs to confirm that rule is actually holding.

Can this same pattern read from Slack or Notion instead of Google Workspace?

Yes, through their own pre-built connectors under Customize > Connectors, or through a custom connector if you point it at any remote MCP server URL that exposes the data you need.

Can someone build this for me instead of setting it up myself?

Yes. RapidDev builds production agents on Claude, both inside Claude.ai with Projects and Connectors and on the Claude Agent SDK when more control is needed. A free 30-minute consultation is the fastest way to scope your version.

RapidDev

Talk to an Expert

Our team has built 1,000+ apps. Get personalized help with your project.

Book a free consultation
Matt Graham

Written by

Matt Graham · CEO & Founder, RapidDev

1,000+ client projects delivered. Columbia University & Harvard Business School alumnus, U.S. Navy veteran. About the author →

Learning is great. Shipping is faster with help.

Our engineers have built 1,000+ apps on your platform and the tools around it. If your project needs to be live sooner than your learning curve allows — book a free consultation.

Book a free consultation

We put the rapid in RapidDev

Need a dedicated strategic tech and growth partner? Discover what RapidDev can do for your business! Book a call with our team to schedule a free, no-obligation consultation. We'll discuss your project and provide a custom quote at no cost.