← Portfolio JR Julia Reprintseva RU
Guide · building an assistant

An assistant in Claude: skill, project, schedule

A helper that brings you selected material on your topic once a week — and throws the rest away. No coding.

There is no "create a bot" button in Claude. An assistant is assembled from several parts — and that is exactly why it can do what custom GPTs cannot: arrive on its own schedule, and have its logic handed to someone else.

The guide is written around an assistant that finds non-obvious insights for a personal-branding practitioner. The mechanics are the same for any subject — only the text inside changes.

What you'll do

  1. Turn on code execution — without that checkbox the Skills section doesn't appear.
  2. Create the skill — the selection logic itself. This is the bulk of the work: three files, pasted in as text.
  3. Check that it triggers by itself — on a single test request.
  4. Build the project and put your background material and references in it.
  5. Put it on a schedule — the task is created inside the project, once the output is good enough, not before.
  6. Run the checklist at the end of the page — the ticks are saved in your browser.
1 What an assistant is made of

"Assistant" is not a Claude term. It's an everyday word for the thing that does your repetitive work. In ChatGPT it maps onto one object — a custom GPT: it has a name, an avatar, instructions, files, and it sits in a list as its own card.

Claude has no single object like that. It has separate parts, each with its own role. Every unfamiliar word below is collected in the glossary at the end.

Three parts you'll build here

  • Skill — the method. How to look, what to discard, what shape the answer takes.
  • Project — context and workspace. What it knows about you and your subject, where your material lives, where the conversation history stays.
  • Scheduled task — initiative. When to do this unprompted.

Three parts that exist alongside

Worth knowing about, but not needed for the basic build — let the head work first.

  • Connectors — hands. Access to mail, drive, messengers. Needed when the assistant must not only search the web but reach into your services: read channels, sort mail, file documents.
  • Hooks — reflexes. Rules of the form "before or after this action, do that". They fire on their own.
  • Subagents — division of labour. Separate helpers with narrow briefs that the main Claude hands work to.

The last two work only in Cowork — Claude's mode for long jobs involving files, a switch in the message box. For now it's enough to know it isn't a separate app and there's nothing to install; scheduling no longer needs it.

How these parts differ, and at what point an assistant becomes an agent — section 9.

You asked in chat any time Monday, 9:00 left menu → Scheduled request fires itself Claude Skill lenses and stop-list Settings → Skills added once and works across every mode Project material, references, stop-list Sidebar → Projects context Filtered output 5–7 items, the rest discarded if scheduled Notification push and email Click to enlarge
The basic build: the skill works both ways — when you ask, and when the task fires on its own. The project adds context. The notification only comes from a scheduled run. Connectors, hooks and subagents are absent here — they play no part in this path.

Crudely: the skill is the chef's rules and recipes, the project is the kitchen with the ingredients, the schedule is the alarm clock that wakes them on Monday. What you want is the cook — and you have to assemble one from three things, because a ready-made cook doesn't come in a box.

Hence the point everything else rests on: the skill is not the assistant, it's its head. Assistant = skill + project + schedule. Most of the work falls on the skill, which is why it gets the longest section.

1.01

Where this loses to custom GPTs

There's no single card: you can't send someone a link saying "here's my bot", you can't publish it for others, there's no avatar and no storefront. You assemble three things instead of one.

1.02

Where it wins

The skill works everywhere — in ordinary chat, in projects, in scheduled tasks — whereas a custom GPT only lives inside its own bot. It can also be exported as a file and rebuilt on someone else's account.

There are schedules and push notifications, which custom GPTs don't have at all — and that is the difference between "I asked" and "it arrived".

And the logic is edited as plain text, with versions and rollback.

Can you get by with just one part

You can, at a cost. Skill only, without a project, works — but you'll re-explain the context every time. Project only, without a skill, is the closest thing to a custom GPT, but that assistant can't move to another account and can't run on a schedule.

We'll build all three: so it transfers, and so it starts by itself.

1.03

The plugin — the fourth layer people ask about

When you create a skill in settings, Claude wraps it in a plugin container. You'll see it on the skill card, and it raises a fair question: why not build a plugin instead of a skill plus a project?

A plugin is packaging, not a replacement. Several skills, connectors and subagents go into it; it installs and updates as a whole rather than piece by piece. What it replaces is not the project but the way skills are stored.

A subagent is a separate helper inside Claude with one narrow brief, which the main Claude hands part of the work to and takes the result back from. One gathers material, another checks facts, a third puts it into shape. The point is that each does one thing and doesn't get in the others' way. Subagents work only in Cowork.

A hook is a rule of the form "before or after this action, do that": save a copy of a file before changing it, run a check once the text is finished. It fires by itself, unprompted. Hooks, like subagents, work only in Cowork.

Four layers and their roles

LayerWhat it isWhat it doesn't do
SkillMethod. How to look, what to discard, what shape the answer takesDoesn't hold your material
PluginA package: several skills and connectors in one installGives no context and doesn't start itself
ProjectWorkspace: material, instructions, conversation historyDoesn't transfer to another account
ScheduleInitiative: when to do this unpromptedDoesn't affect output quality

Where plugins work

Plugins are built in Claude Code — Anthropic's separate command-line tool for programmers. You won't need it: the skill is created right in Settings, and the plugin around it appears by itself. Plugins run more widely than they're built: in web chat, in the Chat tab of the desktop app, and in Cowork. The exception is hooks and subagents — those act only in Cowork and appear greyed out elsewhere. A paid plan is required: Pro, Max, Team or Enterprise.

The main limitation

A plugin can be handed to another person directly only on Team and Enterprise plans, and only if the organisation owner has enabled plugin sharing; the recipient gets it read-only.

So a plugin does not solve the handover problem. It's the same wall as with projects: a project doesn't transfer at all, a plugin doesn't transfer without Team.

How to hand the build to someone else

On a personal plan what moves is the content, not the object: the other person rebuilds the skill and the project on their own account from your instructions. Which makes the carrier of the work neither a file nor a package, but the guide — this one.

Once there are many assistants and many people, Team stops being a cost and becomes a delivery mechanism: there a plugin is handed over whole. Worth pricing out in advance.

When a plugin is genuinely useful

Putting several skills into one plugin makes sense mostly for yourself. One large skill that does three different things grows and starts getting in its own way: instructions for different jobs sit side by side and load together. Three small skills in one plugin behave better — each triggers on its own kind of request and contains only its own material.

Example: when one skill should be split

A skill for someone who publishes regularly on their subject. It does three different things, triggered by different requests:

  1. a roundup of findings — five topics for the week, briefly, with sources;
  2. a breakdown of one case — in depth, with a timeline and a conclusion;
  3. angles for a specific post — three approaches to a given question.

Each has its own output format and its own checks. While it's one file, all three sets of instructions sit together and load on every request, even when only one is needed. The file grows, and the descriptions of the modes start bleeding into each other.

The fix: three separate skills in one plugin. Each triggers on its own request and holds only its own material. The reference files — the profile of the author, their voice and boundaries, worked examples of good and bad output — sit in one place and serve all three: you edit the profile once and all three change.

Don't do it immediately: let what you've built work first. The sign that the moment has come — when editing one mode forces you to re-read the instructions for the other two so as not to break them.

2 Get ready
2.01

Turn on code execution

Required · done once

Open Settings → Capabilities and enable Code execution and file creation.

If you can't see the Skills section in Settings

If you can't see the Skills section in settings, this is almost always why.

2.02

Make .md files open in a text editor

Five minutes · saves confusion later

You'll be copying the contents of the skill files by hand. They're in .md format — an ordinary text file, just with that extension.

On a Mac such files often open in the Claude app rather than an editor: instead of text you get a dialog asking "Attach SKILL.md to this session?". No text visible, nothing to copy from.

The right way: right-click the file → "Open With" → TextEdit or Visual Studio Code.

To stop it recurring: right-click → "Get Info" (⌘I) → "Open with" → pick the editor → "Change All…" and confirm.

If the dialog has already appeared — cancel it, nothing breaks.

3 Create the skill
3.01

Open the creation dialog

Settings → Skills → the Add button. The Create a skill window opens: two fields at the top, the skill's file editor below.

The
The "Create a skill" window right after pressing Add · interface as of September 2026
Don't look for a place to upload files

This is not a file upload. No archive is needed. On the left is the list of files inside the skill, on the right the editor for the selected file, and every piece of content is pasted in by hand.

That is how creation works, and only creation. Updating a finished skill goes the other way round — a file from your disk, with no editor at all. Details in 5.03; for now it's enough to know these are two different mechanisms.

3.02

Name and description

Skill name — lowercase latin, hyphenated, no spaces.

Skill name
personal-brand-insight

Description — the most important field of all. This is what Claude reads to decide whether to apply the skill without being reminded. Too narrow a description and you'll have to summon the skill by hand every time.

Description
Finds and filters non-obvious insights for a media strategist who builds executive personal brands — through five lenses (cognitive science, producer's craft, reputation cases of public figures, corporate mechanics of influence). Cuts the obvious hard and returns verified propositions, not finished copy. Always use this skill for any request for a digest, a roundup of insights, monitoring, a case breakdown, or a topic for a post, article or talk about personal branding, visibility, reputation, trust and influence — even when the words "insight" or "digest" are not used.
Fill this in carefully: changing it later is harder than it looks

This is the only moment the description is edited in a field. A finished skill has no such field — changing it means replacing the file. How, in 4.05 and 5.03.

3.03

Three files

Contents are copied from files on your computer

The skill files on the left, the editor for the selected file on the right
The skill files on the left, the editor for the selected file on the right · interface as of September 2026
  1. SKILL.md — the instructions themselves

    Click SKILL.md on the left — an empty editor opens on the right. Open the file of the same name on your computer; it starts roughly like this.

    ---
    name: personal-brand-insight
    description: Finds and filters…
    ---

    The name and description in those lines already went into the fields above, so they aren't needed here: copy everything after the second line of dashes and paste it into the editor.

    Do not delete those lines from the file on your computer, though. They are redundant here, and the first time you update the skill they will be the only place the description can be changed at all. Why, in 5.03.

  2. references/profile.md — who the assistant works for

    Click the path/to/file.md field and type references/profile.md — folder and slash included. There's no separate "new folder" button here: the slash in the name is how a folder gets made. Press Enter — an empty editor opens on the right. Paste the contents.

    Inside: who this person is, what they do, how their texts are built, what their voice sounds like and what is off limits for them. If you're building it for yourself, the file is about you.

  3. references/examples.md — models and anti-models

    Press + Add file — a new empty path field appears on the left. Type references/examples.md, press Enter and paste the contents.

    Inside: what passes, what doesn't and why. This is what the model measures against when deciding whether a proposition is non-obvious enough.

Once all three files are in place — Create at the bottom of the window. The neighbouring buttons: Draft saves work in progress, Cancel discards it.

How to add the second and third file

The button does not open a file picker. It only creates a new empty row inside the skill, which you name yourself. Until that row has a name the button stays inactive — that isn't a fault.

4 The skill card

Right after creation the skill opens as a card. There's almost nothing to change here, but it's worth understanding — especially if you'll be building the same skill for someone else.

The Overview tab: description, author, container, permissions, categories
The Overview tab: description, author, container, permissions, categories · interface as of September 2026
4.01

The blue toggle

It's an on/off switch, not a publish button. Blue means the skill is enabled and in use. Switched off, it stays in the list but is never applied.

Skills are private. The card says Created by: You — the skill lives only on your account and is published nowhere. For it to appear for someone else, it is rebuilt on their account.

4.02

What the container is

Skills in Claude are wrapped in plugins — a shell that can hold one skill or several, and optionally commands and service connections too. When you create a skill with Add, the wrapper is made automatically and takes the same name. It exists so the skill can be enabled as a whole, versioned and exported as a single file. There's nothing to configure inside it.

The version number goes up with every edit, and you can switch between versions on the Contents tab. A bad edit can always be rolled back.

4.03

What the skill gets access to

A skill can in principle request access: to web search, to code execution, to files, to connected services — mail, drive, messengers. The card would then list what exactly it asks for.

Ours says Only adds instructions for Claude — it asks for nothing. It's pure text with rules, no permissions.

Does this mean the assistant can't search the web

This does not mean the assistant can't search the web. It can — because Claude itself does the searching. The skill simply adds no permissions of its own on top.

4.04

The Contents tab

The Contents tab: the skill file tree and a preview
The Contents tab: the skill file tree and a preview · interface as of September 2026

This shows whether everything landed properly: there should be three files — SKILL.md and a references folder with two files inside. The preview is on the right: the eye shows the text formatted, </> shows it as typed, with all the asterisks and hashes of the markup.

To export the skill as a file, use the ⋮ menu, Download — convenient for rebuilding the same skill on another account. So a separate backup on disk isn't strictly necessary.

Categories are filled in automatically from the content and have no effect on behaviour.

4.05

What you can do with a finished skill

Click the ⋮ at the top right, next to the toggle. The menu has four items.

  • Try in chat — open a chat and see the skill work.
  • Replace — replace the skill's contents with an uploaded file.
  • Download — export the skill as a file to your disk.
  • Remove — delete it.

There is no edit button here. The editor you pasted into at creation no longer opens for a finished skill: the Contents tab shows the files, but for viewing only. The one way to change anything is Replace.

How to change the description later

The description — the field Claude reads to decide whether to apply the skill — is not editable on the card. There is exactly one way to change it: edit the metadata header in your own file and upload that file through Replace.

So never delete the header from the file on your computer, even though you didn't paste it in at creation. You will need it the first time you touch the description. The procedure, and how to build the archive, are in 5.03.

5 Test and adjust
5.01

Does the skill trigger by itself

Open an ordinary chat — no project — and write something like this:

Test request
Find five non-obvious insights for a personal-branding practitioner from the past week.

You're watching one thing: did the skill engage on its own, with no pointer to it. A reliable check is to add a request to state at the end of the answer whether the personal-brand-insight skill was applied.

If it didn't engage — the Description field is too narrow. Add the words people actually use for this job: "digest", "roundup", "what's interesting", "topics for posts".

5.02

What to look at in the first output

Not the quality of the findings, but three things:

  • was the stop-list respected — the list of subjects and names you banned in the skill: did anything slip through that shouldn't have;
  • is there a "Rejected" block at the end;
  • has the output drifted into retelling the news instead of making propositions.

Why these three

Judging the quality of findings on a first run is pointless: it depends on what happened in the world that day. These three depend only on the skill and show whether the mechanism works.

The stop-list is the only thing you can check objectively: the rule either fired or it didn't. "Rejected" proves the skill was actually selecting rather than taking everything. Retelling instead of propositions is a sign the output format is described more weakly than it needs to be.

If it drifted, that's fixed by editing the text of the skill. A normal part of tuning, not a fault.

5.03

How to edit

You edit on your computer, not in Claude. A finished skill's card has no edit button: under the ⋮ at the top right sit Try in chat, Replace, Download and Remove. The editor you pasted into opens at creation only.

So the sequence is: edit the files in your own folder in your usual editor → zip the skill folder → ⋮ → Replace → drop the archive in → Save. A security scan runs on save. The whole contents are replaced at once, so the archive must hold every file, not just the changed ones.

It's ordinary prose, no coding. Editing is expected — you just edit your own file and send Claude the result.

Building the archive

The Replace dialog takes three things: a .zip, a .skill file, or a single .md. A single .md works only for a skill with no references/ folder: one file is the whole skill.

With more than one file you need an archive of the whole skill folder, references/ included. On a Mac: right-click the folder → Compress. On Windows: right-click → Send to → Compressed (zipped) folder. You get personal-brand-insight.zip, and that's what you drop in.

Check two things before sending: the archive contains a SKILL.md (the dialog requires it), and that file has its metadata header with name and description. Folders and nesting Claude works out by itself.

Why edits are nearly always local

Each section of the skill is responsible for something specific, and the symptom tells you where to go.

What's wrong with the outputWhat to edit
Something slipped through that shouldn't havethe stop-list
The skill didn't engage by itselfthe Description field
Propositions turned into retold newsoutput format and examples
Plenty of items, but weak onesthe count plus a priority rule
Findings are repetitive, the same ground againthe search directions: too narrow
Technically correct but dullthe test you accept results by: missing, or too soft

What you change is not "the text of the skill" but the section responsible for the symptom. If you can't tell which one, that is itself the diagnosis: the sections inside the skill are poorly separated, and the first job is to separate them rather than rewrite phrasing.

How to change the description

Name and description behave asymmetrically, and it catches you at exactly the moment you first want to change them.

At creation you paste the text by hand and strip the file's metadata header — the four lines between dashes — because name and description are separate form fields there.

On update it is the other way round. There are no fields, only a file upload, and the Replace dialog says so outright: ".md file must contain skill name and description formatted in YAML", and for an archive, that it must include a SKILL.md. So name and description come from the header.

Hence the rule: keep the header in your own file and edit it along with the text. If you deleted it once and now need to change the description, put it back:

The first lines of SKILL.md
---
name: personal-brand-insight
description: Finds and filters non-obvious insights…
---

To confirm the description arrived, look at the Overview tab, where it's shown in full. If the text is unchanged after a replace, the file had no header.

One change at a time

Change five phrasings at once and run it, and you won't know which one did the work.

6 Build the project
6.01

Create the project

In the sidebar, Projects → new project. The dialog has two fields and one button:

What are you working on? — the name, which becomes the project heading. Keep it short enough to recognise in a list:

What are you working on? — the name
Personal brand insights

What are you trying to achieve? — the description, not the instructions. One or two sentences: what this project is and what comes out of it.

What are you trying to achieve? — the description
A weekly set of non-obvious insights on personal branding,
visibility, reputation and influence. Propositions with sources —
raw material for posts, articles and talks.

Use a folder — connect a folder from your computer. More on that in 6.04.

Where the instructions must not go

The What are you trying to achieve? field looks like the place for instructions — it's large and multi-line. But it is the description. Instructions live separately, inside the project, and stay empty after creation.

Paste your instructions here and the assistant never receives them: it works with no rules while you believe the rules are set.

6.02

What sits where inside a project

After creation a four-part panel appears on the right. Each is for something different — one at a time.

The project panel: Instructions, Memory, Context and a connected folder
The project panel: Instructions, Memory, Context and a connected folder · interface as of September 2026
PartWhat it isWho fills it
InstructionsRules of behaviour: how to answer, what to use, what to read before every runyou, by hand
MemoryWhat Claude has itself retained from conversations in the projectaccumulates on its own
ContextIndividual files: PDFs, documents, textyou, one at a time
FolderA whole folder on your computeryou, once

Memory is not the same as Instructions. Instructions are what you set; memory is what Claude drew from the conversation itself. While there are few chats it stays empty, labelled "Project memory will show here after a few chats".

6.03

Paste the instructions

Press + next to Instructions and paste:

Instructions
This is the workspace for finding insights about personal branding,
visibility, reputation and influence.

All selection logic and output format live in the personal-brand-insight skill —
apply it in this project by default, even when I don't ask for it explicitly.

The project files hold background about me, reference outputs, my personal
stop-list and a feedback log. Check them before every run: the stop-list extends
the general one, and the log shows what didn't work last time.

Answer in propositions, not finished copy. Always include the source link.
Why the instructions are this short

The logic is described in the skill, and repeating it here means keeping two sources of truth. A month from now you'll fix one place, forget the other, and the assistant will start behaving oddly. The project instructions only point at the skill and at the files.

6.04

Supply the material: a folder or single files

There are two routes, and you can use both at once.

A folder from your computer — preferable

Use a folder at creation, or Folder in the panel. Under the folder name it says On this computer: the project reads the files where they already live.

The point is that a file you edit on your computer doesn't have to be uploaded to Claude again. You keep the material in an ordinary folder, edit it in your usual editor, and the project works with the current version. That removes the main headache — the drift between what's on your disk and what the assistant sees.

The folder is available only while the app is open on that computer. From a phone or another machine its contents won't be there.

Context — for individual files

The + next to Context. Right when there's one file, it doesn't change, and it has no reason to live in the folder: someone else's PDF, an export, a one-off document.

What to put in the project folder

About you — who you are, what you do, who you write for. References — three to five examples of output or writing you like; the single most useful file. Your personal stop-list — subjects and names you don't want to see, as a separate file so it can be edited without touching the instructions. Feedback log — an empty file you add to after every run: what landed, what didn't.

The last one matters more than it looks: it's what separates a living assistant from a one-off prompt. After a month of regular notes the output will be noticeably sharper than on day one.

6.05

Run it by hand

Half an hour · before the first real output

The project is built — one step remains before the schedule, and it can't be skipped. The first run is done by hand, in an ordinary chat inside the project, as a single line:

First run
Put together this week's digest

Nothing else needs adding. The skill should work out what's wanted on its own and open its own reference files. If you had to prompt it — that's the first finding: the skill's Description is drawn too narrowly.

Then judge the output point by point, not by whether you like it.

How to be sure the skill fired at all

Not an idle question: an answer arrives either way, and it looks respectable. Claude will reply without the skill too — in its own way rather than by your rules. From the outside the two are hard to tell apart.

The test is simple: find something in the reply that exists only in the skill. Not a general trait like "it's well structured", but a specific rule you wrote in yourself. If your stop-list says "remove the key word from the subject — if nothing is left, discard it", and the reply shows that test being applied, the skill was read. If the answer is good but assembled from general logic, with none of your rules in it, it didn't fire.

And if it didn't, the thing to fix is the skill's Description, not your habit of mentioning the skill in every request. A skill you have to summon by hand will be forgotten within a month — and in a scheduled task there is nobody to summon it: no human is there to remember.

  1. Format

    Exactly what the skill describes arrived: the right number of items, the structure each one should have, the service blocks in place. If the format drifted, the skill is what needs fixing — the material has nothing to do with it.

  2. Links

    Open two or three at random. One that doesn't open, or leads somewhere else, is a defect: the verifiability rule isn't working. A single case of this matters more than ten good items.

  3. Repeats

    Any subjects you have already covered? If so the stop-list didn't fire: either it wasn't read, or those subjects aren't in it.

  4. Voice

    Read one item aloud. Could you have said that? This is where it becomes visible what the material is missing — usually examples rather than rules.

  5. The "Rejected" block

    The most useful part of the output. If something genuinely good is sitting there, the constraints are too broad and it's time to narrow them.

Why the run comes before the material is finished

Finishing every file first and checking afterwards sounds logical. In practice it's the other way round: until you have run it, you are filling files in by guesswork. A run shows what's missing at a specific spot — this item is flat, this one takes a subject that doesn't suit you. Afterwards the list of what's missing is shorter and sharper than anything invented in advance.

Start the feedback log right here too: for each run, what you kept, what you threw out and why. It's the file from 6.04, and its first entry belongs to this step.

7 Put it on a schedule

The schedule comes last — once manual runs start satisfying you, not before. Otherwise something you have to redo will arrive every week.

A scheduled task is a prompt plus a time. Create it inside the project you built in section 6: open the project → New task → Set up manually → name, instructions, frequency → Save. Five minutes, once.

7.01

Why the task is created inside the project

Because then it sees the project's material: its instructions and its uploaded files. There is nothing to pick — the task was created inside and belongs to it. That's why its window has no Work in a project row: there is no choice to make.

Create the task elsewhere — on the shared Scheduled page in the left menu — and that row appears, with the project to be named by hand. Until it is, the run works on its own: the skill is still there, the project's material is not.

The Scheduled page is for something else — it's the list of every task: what runs, when and how often. That's where you review, edit, pause and run things outside the schedule.

Check the link right after creating: run the task on demand and look at the output. The reliable sign is whatever only your material and the skill produce — here, the "Rejected" block with reasons and the skill's own rubrics. The unreliable sign is files being named: the run reads them but has no reason to mention them. If the output reads like an ordinary chat answer, without your structure, the material didn't come through.

7.02

What to know before touching the buttons

  • Every run starts from a blank slate. It remembers none of your chats, so the instruction has to carry everything: what to do, where to look, what the result should look like.
  • What a run can use: web search, connected apps (Gmail, Google Drive) and files on your computer — the last only with the Require this computer switch on; see 7.04.
  • Approvals. By default a run stops when an action needs your OK — and at nine in the morning nobody is there to give it. Hence automatic approval.
  • You stay in control: edit, pause, run on demand, delete — at any time.
A paid plan is required

Scheduled tasks are available on Pro, Max, Team and Enterprise; a free account doesn't have them. Older instructions describe the route through Cowork mode — you no longer switch modes.

7.03

Create the task in the project

Five minutes · done once

  1. Open the task window

    In the project — New task. Then two routes: Set up manually to fill the fields yourself (we take this one, the text is ready) and Create with Claude, where Claude asks questions and fills them in.

    If you pick "Create with Claude"

    Claude asks what you need and fills the fields from your answers. It starts with the scenario:

    The Create with Claude window: four ready-made scenarios for a scheduled task
    "What should Claude do on each run?" · interface as of September 2026

    Whatever it produces, open the finished task and read it: the instruction is written from your words, and accuracy matters more here than speed.

  2. Fill in five fields

    • Name — how the task appears in the list.
    • Instructions — the prompt: the same one you'd write in chat, only self-contained. Example in 7.05.
    • Frequency — Manual (button only), Hourly, Daily, Weekdays, Weekly, Monthly. Weekly adds a time and a weekday beside it.
    • Permissions — Manually approve waits for your yes on every action, Automatically approve works without asking (the default, and enough here), Skip all approvals doesn't stop even where Claude normally warns you.
    • Require this computer — access to folders on your machine. Switch it on if the material lives on your disk; the trade-off is in 7.04.
    The Create scheduled task window opened from a project: Name, Instructions, Frequency, Permissions and the Require this computer switch
    The task window opened from a project: no project row — it already has one · interface as of September 2026
  3. Save, then check

    A saved task can be run on demand. Don't wait a week — hit Run now and see what arrives.

7.04

The cloud or your computer

The task always sees the project's files. A folder on your disk is a different matter — that's the Require this computer switch, and it is a choice between two modes.

  • On — the task runs on your computer: it reads the folders you've allowed and can save the result straight into them. But it only runs while the machine is awake; lid shut at the appointed time means the run is skipped.
  • Off — the task runs in the cloud and always fires, but sees only what has been uploaded to Claude: project files and connected apps. It can't open a folder on your disk.

Material on your computer — switch it on. Delivery whatever happens matters more — upload the material into the project and leave it off.

What breaks in practice: folder access

The problem. The switch is on, yet the first run still stops and asks for access to the folder. That's not a bug: permission is granted per task, not to the app as a whole, and the first time it has to be asked for. At 10:00 on Monday nobody will be there to answer — and the digest won't be built. Automatically approve doesn't help here: it covers actions inside the task, not access to your disk.

The fix. Run the task by hand with Run now and grant access when asked. The permission is stored against that task and survives restarts. Run it a second time: if access isn't requested again, the scheduled run will go through on its own. If it is, move the material into the project and switch Require this computer off.

The permission belongs to that one task: create another one on the same folder and it will ask again, for itself.

If you move the material into the project

Don't keep two copies. You add to the feedback log after every round. With the file both in the project and in a folder on disk, the second copy goes stale and the task works from the old version. Pick one home.

Adjust the instructions: replace the paragraph with the folder path with "read every file in the project…", and drop the paragraph about saving into a subfolder — the result arrives in a chat.

7.05

Example: a weekly insight digest

The real task behind the assistant in this guide — both fields copy with a button.

Name
Personal-brand insights — weekly
Instructions
Collect a weekly set of non-obvious insights on personal branding,
visibility, reputation and influence from the last 7 days.
Use the personal-brand-insight skill. If the skill is unavailable,
don't build the digest; say so instead.

Before searching, read every file in the folder
/Users/<your-name>/<path-to-folder>/assistant-material:
the context about me, the stop-list (it extends the general one),
output references and the feedback log — it records what didn't work
in earlier rounds. Don't repeat topics the log already mentions.
If the folder is unavailable, don't build the digest; say so instead.

Format: propositions, not finished copy. Every proposition carries
a source link — open it and confirm that it works.

Save the result as an HTML file in the vydachi subfolder of that same
folder, named by date: insights-YYYY-MM-DD.html.
Don't delete or overwrite existing files.

The path is a placeholder — put your own in. The easiest way is to open the folder in Finder, press ⌥⌘C and paste, so it arrives whole and without typos. The subfolder names are yours too.

The rest of the fields: Frequency — Weekly, Monday, 10:00 (the digest is ready for the start of the week). Permissions — Automatically approve: the task runs while you're away and would otherwise stop at the first question. Require this computer — on, or the task never reaches the folder. Leave the model alone.

7.06

Where the result arrives

The channels combine. From simplest to most trouble:

  1. A push on your phone — a short notice that the run is done; the text opens in its session. Easiest to set up, but the digest won't fit in a notification.
  2. An email notice — the same short summary as mail.
  3. The full digest by Gmail — Claude sends the result to your inbox, links and formatting intact. Needs Automatically approve: sending mail requires approval.
  4. Google Drive — a new document in a Drive folder each time, readable from a phone. Automatic approval again.
  5. A file on your computer — as in the example above. Needs Require this computer on and the machine awake.
  6. Telegram — the cloud can't reach it: you'd need a script on your computer to pick the finished file up and send it.

The best pairing is 3 + 1: the full digest by email and a push saying it has arrived. The computer can stay off.

Whatever you choose, each run stays a separate session: visible in the left-hand list and on the Scheduled tasks page. That's where to look when a notification goes missing.

Button labels may differ

The scheduling section changes more often than the rest of the interface. If you see different wording, go by meaning: a page listing tasks, a create button, fields for name and instructions, frequency, permissions.

8 What makes a skill good

Assembling a skill is half the job. The difference between a working one and a mediocre one lies not in length but in seven things. This section is reference material: useful when you edit your skill for the second time.

1. Keep the main file light, put the weight in references

SKILL.md loads in full on every trigger. Files in the references/ folder load only when the skill decides to open them. So the main file holds the procedure: what to do, in what order, what to discard. Everything bulky — the profile of a person, examples, reference lists — moves into references.

The test is simple: if a paragraph isn't needed every time, it doesn't belong in the main file.

2. Never write the same thing in two files

The most common mistake and the least visible. You describe the audience in SKILL.md and again in a reference file — a month later you fix one and forget the other. The skill starts receiving two slightly different descriptions and works worse, and you'll never trace why: it doesn't break, it just goes dull.

The rule: every fact has one home. Everywhere else, a pointer to it.

3. The final check is a mandatory step, not advice

"Read the list before your first run" and "go through the list before every run" are different instructions, and the model will pick the first. If you have an acceptance test, it belongs as the last section of SKILL.md, with the word mandatory and a list to be walked point by point.

Say plainly there what wins in a conflict. For example: verification beats volume — four items are better than five with one unverified. Without that sentence the model will pad to the number.

4. A version line inside the file

One line under the heading: Version 2.0, 14 September 2026. As soon as the skill exists on two accounts, that's the only way to know who has which copy and why the output differs.

5. A table of contents in reference files over a hundred lines

Anthropic recommends putting a plain list of sections at the top of any file in references/ longer than a hundred lines. Not for looks: the model uses it to decide whether to read the whole file and where to look — and reads more precisely.

A list with no links, just the headings. Ten lines that save far more.

6. A README — for humans, not for the model

A separate README.md beside SKILL.md: what the skill does, what it's made of, how it's installed, which requests trigger it, what you can safely change.

The model never reads it — it isn't wired into the procedure and costs you nothing. People read it: you, six months from now, opening the folder and not remembering what this was; and whoever you hand the skill to.

7. Not every rejection is final

If your skill has a filter — a stop-list, selection criteria, anything that discards — it has to tell a final rejection from a provisional one. Otherwise the filter quietly cuts into good material and you never see it happen.

Final is when the material itself doesn't fit: the stop-list is triggered, the fact won't verify, the conclusion is obvious. Nothing to salvage there.

Provisional is when it was the first angle found that didn't fit. The subject is already covered, the conclusion repeats earlier material, the turn is banal. That's a complaint about the framing, not the material — and a second angle is nearly always right there, it just didn't come first.

The rule to put in the skill: on a provisional rejection, one attempt at a different angle is mandatory, and only then the rejection — naming both angles it tried. One line in the procedure, and it saves the most valuable thing there is: strong material that would otherwise be lost for an accidental reason.

Where you can see this

Only in the rejected block — if you asked the skill to show one. Output looks equally good whether the filter is tuned right or throwing away things it shouldn't: the whole difference is in what isn't there.

So ask the skill to show what it rejected and why. It's the one place the filter's setting is visible, and the first place to look after a run.

If the skill is written for a specific person

Add a block at the start for the case where the profile file is missing: "ask these five questions and record the answers". Otherwise the skill is welded to one client and has to be rewritten from scratch for the next.

9 Assistant or agent

The word "agent" is everywhere and its boundary is vague. Sorting it out matters not for the terminology: what step your build stands on determines what you are risking.

Map of the parts

The parts don't divide into major and minor. They divide by role — and the roles differ.

PartRoleAnalogy
SkillMethod: how to think about the jobHead
ProjectContext: what to know and rememberMemory and desk
ScheduleInitiative: acting unpromptedAlarm clock
ConnectorsAccess: what it may touch outsideHands
HooksReflex: reaction to an eventKnee-jerk
SubagentsDivision of labourColleagues
PluginPackagingSuitcase

The plugin falls out of this row. The rest are capabilities; it adds no capability, it only packs. Which is why it has no place in the question "what is an agent made of".

The ladder

"Agent" is not a Claude term with a sharp edge, it's a description of behaviour. A working definition: a system that has a goal, chooses its own steps, acts in the world and checks its own result. By that test you get a ladder:

  • skill — a tool. Method without context and without hands;
  • skill + project — an assistant. Knows your subject, but works only when asked;
  • + schedule — an assistant with initiative. It comes to you. But the initiative is calendar-driven: not "spotted something", but "it's Monday";
  • + connectors — this is where an agent begins. The ability to act appears, rather than to produce text;
  • + hooks — reaction to events, not only to the clock;
  • + subagents — able to split the work into roles.
Skill a tool + project an assistant + schedule assistant with initiative + connectors an agent result is text result is action the cost of a mistake changes here Click to enlarge
Each step adds one capability. The dashed line is the boundary where what changes is not complexity but the cost of a mistake.

What this guide builds is not yet an agent. It's an assistant with initiative: the output is text, the decision is made by a person.

And that's a choice, not an omission. When the job is selection and judgement, a mistake should be cheap: a weak result simply doesn't get used.

Where the real boundary runs

While the assistant produces text, a mistake costs five wasted minutes. The moment it has hands — access to a messenger, to your mail — a mistake becomes published.

That isn't added complexity, it's a change in the class of risk. So hands are added one at a time and with checks, not as a batch.

The two things people confuse most

A subagent is not part of an agent, it's another agent inside. The difference is between "this employee has hands and memory" and "this department has employees". Adding a subagent doesn't extend one worker, it hires a second.

A hook is not initiative. Initiative is "decided to act". A hook is "fired because an event happened". A reflex, not a decision. People expect judgement from a hook, and it simply fires.

10 If something goes wrong
What you seeWhat to do
No Skills sectionCode execution isn't enabled. Section 2.01.
The .md file didn't open, a Claude dialog appeared insteadMarkdown is opening in the Claude app rather than an editor. Right-click → "Open With" → TextEdit.
The "Add file" button won't pressThe previous file has no name yet. Type a path into path/to/file.md and press Enter.
The skill creation window vanishedLook for a draft in the skills list: the Draft button saves unfinished work.
The skill doesn't engage on its ownThe description is too narrow. Add the words people actually use for this job.
The output reads like a news feedEither the skill didn't engage or the format section is weak. Check the first one first.
Everything is too obviousStrengthen the "obvious" clause in the stop-list and require a figure or a specific research finding in every fact.
Too few items in the outputOften that's correct: the filter did its job. Widen the search window to two weeks before you loosen the stop-list.
The scheduled task didn't arriveOpen the "Scheduled" page: the task may be paused. Run-on-demand is there too — use it rather than waiting another week.
No Scheduled sectionScheduled tasks run on paid plans only. A free account has no such menu item.
The task produced something different from the manual runIt starts from a blank slate and doesn't remember your conversations. Everything needed must be in the task prompt and in the skill.
11 Glossary

Skill

Instructions plus a description of when to apply them. Added once in settings and works everywhere — in chat, in projects, in scheduled tasks. Claude decides when to bring it in.

Project

A workspace: its own instructions, its own files, its own conversation history. The closest thing to a custom GPT. It can't be handed to another person — it is rebuilt on the account that needs it.

Container, also called a plugin

The shell around a skill. Created automatically, and needed so the skill can be enabled as a whole, versioned and exported as a single file.

Scheduled task

The same work, but on a schedule and without a person. Tasks live under Scheduled in the left menu; every run is a separate session from a blank slate.

Subagent

A helper inside Claude with one narrow brief: the main Claude hands it part of the work and takes back the result. Useful when there are many steps better kept apart — gather material, check facts, format. Works only in Cowork.

Hook

A rule: "before or after this action, do that". Fires automatically, unprompted: save a copy before an edit, run a check once the text is done. Works only in Cowork.

Connector

Access to an external service: mail, drive, messenger, calendar. Needed when the assistant must not only search the web but reach into your services. Connected separately from the skill.

Artifact

A page with its own address. Private until the owner shares it. Useful for showing a result by link without sending a file.

Lens

The angle the assistant is required to view every fact from. Not "what to look for" but "what to do with it once found". Lenses are what separate a set of insights from a news feed.

12 Readiness checklist

Ticks are saved in your browser — you can close the page and come back

The first assistant is built. From here you can grow in four directions — each with a sign that the moment has come.

Deeper: sharpen the output

The most underrated direction. After the first week the skill is working at half strength, because it was tuned on guesses about yourself rather than on real results. Keep a file where you add one line after every run: what landed, what didn't. In a month those lines add up to a precise edit — worth more than any added complexity.

The sign: you keep discarding the same type of result.

Wider: a second assistant for another job

Same mechanics, only the text inside changes. The second takes an hour, because you already understand everything. Put it in the same plugin rather than starting a new one beside it.

The sign: you catch yourself explaining the same thing to Claude for the second time.

Outward: add hands

Connectors to mail, drive, messengers — so the assistant doesn't only search but reaches into your services. Remember the change in the class of risk from section 9: add them one at a time, with checks.

The sign: you keep moving the result out of chat by hand into wherever it's needed.

Onward: hand it to someone else

A skill travels as text: it is rebuilt on someone else's account from these same instructions. You'll need a description of who it works for — that file in references.

The sign: a colleague asks you to make them one.

What not to do

Add complexity before the simple thing works. The temptation is strong: a second skill, three connected services, a daily schedule. But while you still can't say what's wrong with the current output, every addition adds places to break without adding quality.

14 Built for your task

This guide is written so you can build the whole thing yourself. But assembly isn't the hard part. The hard part is working out what exactly your assistant should throw away: the selection rules, the stop-list, the acceptance test. That work is with your head, not with an interface, and it goes faster with someone from the outside.

I build these assistants to order: we work out what you do by hand and repeat every week, and I turn it into a skill with a project and a schedule. You get a working build on your own account, the documentation, and the ability to edit everything yourself.

What people usually ask for

The list isn't closed — the mechanics are the same, the content changes.

  • Topics to publish. Picks up hooks in your field and cuts what everyone has already written. For a lawyer — five column topics from the week's legislative changes and case law.
  • Breakdown of a communications case. A timeline: what the company said, on what day, and at what point perception turned. How a retailer handled a quality scandal: what it issued, how many hours in, what that achieved.
  • Competitor monitoring. What they launched, how they justified a price, what shifted in their positioning — without the news noise. Three competitors, once a week, changes only and what they mean.
  • Filtering the inbound flow. CVs, applications, enquiries, briefs — sorted by your criteria rather than keyword matches. Out of sixty applications for a role — the seven worth reading, and on what grounds the rest were cut.
  • Preparing for a negotiation. A profile of the person and the company: what they've said publicly, what they're proud of, where it hurts, what to ask. Before a meeting with a prospect — one page.
  • Checking a text before publication. Against your editorial rules: banned phrasing, borrowed tones of voice, promises you don't make. A post for your channel — what to cut so it sounds like you and not like a newsletter.
  • Reading feedback. What recurs in reviews, webinar questions, sales objections. Two hundred reviews — five recurring complaints and what to do about each.
  • Memory of your own material. What you've already written and said on a subject. "I'm sure I wrote about burnout — where, and what exactly", so you can cite yourself instead of repeating yourself.
  • Call notes. Decisions, commitments, who promised what by when — instead of a forty-page transcript. After a stand-up — seven points instead of an hour of recording.
  • A recurring report. The same summary in the same format, without assembling it by hand. A Monday project digest for your manager: status, risks, what's needed from them.

How the conversation starts

With one question: what repetitive work do you do by hand, the same way every time? If there's an answer, the job is solvable. If the work is different every time, an assistant won't help, and I'll say so straight away.

Get in touch

Telegram · julia.vl.reprintseva@gmail.com · +7 91 515 414 91

Julia Reprintseva — I teach people to work with AI and build assistants for specific jobs. Other work.