Curs
În fiecare luni, cineva deschide Claude, lipește aceleași 40 de rânduri de context despre depozit și cere aceiași indicatori săptămânali. Până marți, contextul dispare, iar următorul analist lipește o versiune ușor diferită. Un plugin ajută la păstrarea consecvenței și verificabilității acestor tipuri de sarcini.
La finalul acestui tutorial, vei fi instalat un plugin în Claude Cowork, îl vei fi personalizat pentru tabelele tale și vei fi construit unul funcțional de la zero.
Ai nevoie de 2 lucruri: un abonament cu plată la Claude (Pro, Max, Team sau Enterprise) și aplicația desktop Claude pentru macOS sau Windows, care este și cea din capturile de ecran. Nu ai nevoie de terminal și nici de Python. Voi menționa varianta în linie de comandă pentru cititorii cărora le place, dar e opțională.
Un mic avertisment înainte să începem. Pe 16 septembrie 2026, Anthropic a început unificarea Chat și Cowork într-un singur Claude pentru conturile Pro și Max, așa că e posibil ca în căsuța de mesaje să nu mai vezi o opțiune separată pentru Cowork. Pagina Customize, unde trăiesc pluginurile, este aceeași oricum, iar eu voi numi exact etichetele de meniu pe parcurs.
Dacă preferi să exersezi acești pași cu exerciții ghidate, cursul DataCamp Building Claude Cowork Plugins te conduce prin instalarea, adaptarea și crearea propriului plugin, fără să scrii vreun rând de cod.
Pe scurt
- Un plugin Cowork este un folder de Markdown și JSON care îl învață pe Claude un job.
- Îl instalezi din pagina Customize în câteva clicuri.
- Pluginurile sunt ușor de personalizat alegând opțiunea Edit with Claude.
- Poți crea și un plugin Cowork scriind 2 fișiere scurte de skill, un manifest cu 6 câmpuri și un fișier de conector, apoi arhivând folderul și încărcându-l.
- Ca să partajezi pluginuri cu echipa, împinge-le într-un repo GitHub cu un fișier marketplace.json și adaugă marketplace-ul, sau folosește Publish to org pentru conturile Team/Enterprise.
Ce sunt pluginurile Claude Cowork?
Un plugin Claude Cowork este un pachet instalabil care grupează tot ce are nevoie Claude ca să lucreze ca un specialist. Include lucruri precum abilități de workflow, slash commands, conectori potriviți și sub-agents și hooks necesare. Postarea de lansare a Anthropic o rezumă într-o propoziție:
"Plugins let you bundle any skills, connectors, slash commands, and sub-agents together to turn Claude into a specialist for your role, team, and company."
Pluginurile au sosit în Cowork pe 30 ianuarie 2026, ca research preview pentru utilizatorii cu plată, alături de 11 pluginuri open-source construite de echipele Anthropic. Un al doilea val pe 24 februarie 2026 a adăugat pluginuri pentru HR, design, inginerie, operațiuni și analiză financiară, 4 pluginuri pentru servicii financiare, pluginuri de la parteneri precum Slack, S&P Global și LSEG, și formulare structurate pentru slash commands. Cowork a ieșit din preview și a devenit disponibil în general pe 9 aprilie 2026.
Locul în care rulează pluginurile îi încurcă pe mulți, așa că iată răspunsul actual din articolul din centrul de asistență despre pluginuri de la Anthropic. Un plugin pe care îl adaugi este salvat în contul tău Claude, nu pe computerul tău, așa că te însoțește în chat pe web, în aplicația desktop, în Cowork și în Claude Code (versiunea 2.1.273 sau mai nouă îl sincronizează automat). Abilitățile și comenzile funcționează în toate aceste locuri, în timp ce hooks și sub-agents rulează doar în Cowork și Claude Code și apar gri în chat.
Dacă nu ai folosit încă Cowork, tutorialul nostru Claude Cowork te plimbă prin aplicație, iar comparația dintre Claude Cowork și Claude Code explică de ce același plugin poate face mai mult într-una decât în cealaltă. Nu voi re-explica Cowork aici.
Ce conține un plugin
Tabelul de mai jos listează cele 5 componente pe care le poate conține un plugin, ce face fiecare și când se declanșează.
|
Componentă |
Ce face |
Când se declanșează |
|
Skill |
Un fișier |
Automat, când Claude apreciază că sarcina se potrivește descrierii skillului. Îl poți rula și după nume după |
|
Slash command |
O acțiune denumită cu instrucțiuni proprii, de exemplu |
Manual, când o tastezi. În Cowork, Claude poate pune o întrebare structurată înainte să înceapă. |
|
Conector (MCP) |
O legătură către un serviciu extern prin Model Context Protocol (MCP): Snowflake, BigQuery, Slack și sute altele |
Când Claude apelează unul dintre uneltele serviciului, după ce ai conectat o dată serviciul. |
|
Sub-agent |
Un specialist căruia Claude îi poate delega o parte din sarcină, cu propriul prompt și propria listă de unelte |
Când Claude decide să delege. Doar în Cowork și Claude Code. |
|
Hook |
Un script sau prompt care rulează la un eveniment de sesiune, de exemplu chiar înaintea unui apel de unealtă |
La acel eveniment, de fiecare dată. Doar în Cowork și Claude Code. |
Skillurile se declanșează când Claude le consideră relevante, iar comenzile atunci când tastezi /. Această distincție decide ce să verifici când un plugin pare că nu face nimic, la care revin în secțiunea de verificare. Dacă sub-agents sunt noi pentru tine, cursul nostru Introduction to AI Agents acoperă modelul de delegare fără niciun cod.
Plugin vs. skill
Un skill îl învață pe Claude o singură sarcină într-un singur fișier SKILL.md. Un plugin este setul împachetat de skilluri, comenzi și conectori pentru o întreagă funcție de job, astfel încât pluginul Data conține 10 skilluri, iar pluginul este unitatea pe care o instalezi, în timp ce skillul este unitatea pe care o editezi. Ghidul nostru Claude Skills intră în detalii despre formatul skillului, dacă vrei.
Unde găsești pluginuri Cowork
Pluginurile Cowork vin din 3 locuri, iar pe primul îl vei folosi pentru cea mai mare parte a acestui articol:
- Marketplace-urile integrate în Cowork. Marketplace-ul Knowledge Work este adăugat implicit fiecărui cont. Marketplace-urile Anthropic pentru Life Sciences, Financial Services și Legal se află sub Add, Add marketplace, apoi Browse Anthropic sources.
- Directorul de la claude.com/plugins. Listează peste 300 de pluginuri, cu un filtru pentru dacă fiecare funcționează cu Claude, Claude Code sau ambele.
- Repository-ul anthropics/knowledge-work-plugins pe GitHub. Aceasta este sursa Apache-2.0 pentru fiecare plugin de rol construit de Anthropic, și de acolo am citit fișierele citate mai jos.
Există alte două rute de instalare: adaugă orice repository Git ca marketplace prin URL-ul său sau prescurtarea owner/repo (funcționează repo-urile publice GitHub, GitHub Enterprise, GitLab și Bitbucket), sau încarcă direct un fișier de plugin ca o arhivă .zip sau .plugin de până la 200 MB.
Gama de roluri acoperă totul din multe domenii: productivitate, vânzări, suport clienți, product management, marketing, juridic, finanțe, date, căutare enterprise, HR, design, inginerie, operațiuni, bio-research și small business, plus pluginuri construite de parteneri. Acest articol nu este un roundup, așa că alege-l pe cel pentru jobul tău și continuă lectura.
Ce conține un plugin Cowork?
Un plugin Cowork este un folder cu un manifest într-un subfolder ascuns și tot restul la nivelul rădăcină. Iată structura completă, cu componentele, doar unele suprafețe marcate ca atare:
my-plugin/
├── .claude-plugin/
│ └── plugin.json # manifest (required)
├── skills/
│ └── <name>/SKILL.md # skills: auto-triggered knowledge & named actions
├── commands/
│ └── <name>.md # legacy single-file slash commands (still work)
├── agents/
│ └── <name>.md # sub-agents (Cowork and Claude Code only)
├── hooks/
│ └── hooks.json # hooks (Cowork and Claude Code only)
├── .mcp.json # connectors
└── README.md
Păstrează în minte acest arbore, pentru că în Pasul 4 construim jumătatea de sus fișier cu fișier. Figura de mai jos asociază arborele cu locul în care rulează fiecare componentă, din tabelul de suport pe platforme al Anthropic.

Figura 1. Folderul unui plugin în stânga și, pentru fiecare componentă, când se declanșează și dacă chat, Cowork sau Claude Code o încarcă. Imagine de autor.
Manifestul
Manifestul este .claude-plugin/plugin.json, iar name este singurul câmp obligatoriu. Acesta este manifestul real al pluginului Data de la Anthropic, copiat din repository:
{
"name": "data",
"version": "1.1.0",
"description": "Write SQL, explore datasets, and generate insights faster. Build visualizations and dashboards, and turn raw data into clear stories for stakeholders.",
"author": {
"name": "Anthropic"
}
}
Trei lucruri de știut:
-
nameeste identitatea permanentă a pluginului și prefixează fiecare componentă, deci skillulwrite-querydevine/data:write-query. -
Șirul
versioneste numărul de versiune pe care oamenii îl văd pentru plugin, iar ghidul de build al Anthropic spune să-l crești la fiecare release. -
Câmpurile opționale includ
displayName,license,homepageșikeywords.
Skilluri și comenzi
Un skill trăiește la skills/<name>/SKILL.md: un bloc scurt de setări între linii --- sus (YAML frontmatter), instrucțiuni pentru Claude dedesubt. Iată începutul skillului write-query din pluginul Data, pe care îl rulez în Pasul 2:
---
name: write-query
description: Write optimized SQL for your dialect with best practices. Use when translating a natural-language data need into SQL, building a multi-CTE query with joins and aggregations, optimizing a query against a large partitioned table, or getting dialect-specific syntax for Snowflake, BigQuery, Postgres, etc.
argument-hint: "<description of what data you need>"
---
# /write-query - Write Optimized SQL
description este ceea ce citește Claude ca să decidă dacă să încarce skillul, iar argument-hint îți spune ce se așteaptă skillul să tastezi. Două flaguri din frontmatter schimbă modul în care se declanșează un skill:
-
user-invocable: falseîl ascunde din meniul/astfel încât doar Claude îl poate încărca (skillulsql-queriesal pluginului este setat așa) -
disable-model-invocation: trueface invers, determinând ca un skill să ruleze doar când îi tastezi numele.
Comenzile sunt formatul mai vechi: un singur fișier Markdown la commands/<name>.md cu un description în frontmatter. Skillul propriu de authoring al Anthropic îi spune acum lui Claude să „creeze scheletul noilor pluginuri cu skills/*/SKILL.md” și numește folderul commands/ drept legacy, pentru că interfața Cowork le arată pe ambele ca o singură listă Skills. Comenzile încă se încarcă peste tot, deci le vei tot întâlni în pluginurile mai vechi, dar în Pasul 4 folosim skilluri.
Conectori
Fișierul .mcp.json de la rădăcina pluginului listează serviciile externe la care pluginul poate ajunge, fiecare ca un URL de server MCP. Iată primele 3 intrări din fișierul pluginului Data:
{
"mcpServers": {
"snowflake": {
"type": "http",
"url": ""
},
"databricks": {
"type": "http",
"url": ""
},
"bigquery": {
"type": "http",
"url": "https://bigquery.googleapis.com/mcp"
},
URL-urile goale sunt placeholders: Anthropic livrează endpointul BigQuery dar lasă Snowflake și Databricks pentru tine să le completezi cu adresa propriului server. Dacă MCP îți este nou, ghidul nostru Model Context Protocol construiește un server de la zero.
O constrângere nu e evidentă: centrul de asistență al Anthropic afirmă că „în Cowork, conectorii ajung la servicii externe prin cloud-ul Anthropic, nu prin rețeaua ta locală.” Un conector personalizat trebuie, așadar, să indice spre un server „accesibil pe internetul public din intervalele de IP Anthropic.” Un depozit din spatele unui firewall sau VPN nu se va conecta până când echipa de rețea nu include adresele Anthropic pe allowlist.
Serverele MCP locale, de tipul celor care pornesc un program pe mașina ta, sunt excepția: rulează în Claude Code și în sesiunile Cowork care rulează pe computerul tău, iar chat le ignoră.
Din 6 octombrie 2026, noile sarcini Pro și Max rulează doar în cloud-ul Anthropic, așa că sesiunile locale sunt în principal o funcționalitate pentru Team și Enterprise.
Pasul 1: Instalarea primului tău plugin
Instalarea unui plugin Cowork ia 6 pași scurți pe pagina Customize, iar pașii sunt identici pentru orice plugin din catalog, deci cititorii din vânzări sau juridic își pot înlocui propriul. Eu folosesc pluginul Data pentru că pregătește exemplul SQL din Pasul 2.
1. Deschide Customize în bara laterală stângă a aplicației desktop Claude. Dacă aplicația încă afișează un tab Cowork, deschide-l mai întâi.

2. Deschide tabul Plugins.

3. Hai să ne asigurăm că ai marketplace-ul Knowledge Work. Click pe + Add, apoi Add marketplace, apoi Browse Anthropic sources.

4. Selectează și adaugă pluginurile Knowledge Work.

5. Deschide tabul Discover. Marketplace-ul Knowledge Work ar trebui să fie deja acolo. Apasă filtrul Code.

6. Selectează Data, apoi apasă Add. În unele builduri butonul se numește Install.
Pagina pluginului listează apoi ce ai primit: tabul Skills arată 10 skilluri, dintre care 7 le poți rula după nume (analyze, explore-data, write-query, create-viz, build-dashboard, validate-data și data-context-extractor), și 3 care se încarcă în fundal (sql-queries, data-visualization și statistical-analysis). Fișierul de conector din repository listează Snowflake, Databricks, BigQuery, Definite, Hex, Amplitude (cu o intrare separată pentru UE) și Atlassian, și niciunul nu este conectat până nu te autentifici. Pagina din director a pluginului Data arăta 7.655 de instalări pe 28 septembrie 2026.
Dacă te simți confortabil în terminal, același plugin se instalează în Claude Code cu 2 comenzi din README-ul repository-ului:
claude plugin marketplace add anthropics/knowledge-work-plugins
claude plugin install data@knowledge-work-plugins
Contează o diferență: un plugin adăugat din Customize se sincronizează în Claude Code, dar un plugin instalat din linia de comandă rămâne pe acea mașină și nu ajunge niciodată în contul tău. Ghidul nostru pentru construirea pluginurilor Claude Code acoperă pe larg fluxul din terminal, așa că aici rămân pe ruta desktop.
Pe planurile Team și Enterprise, un owner setează fiecare plugin într-una din 4 stări: not available, available to install, installed by default sau required. Administratorii Enterprise pot suprascrie acestea pe grupuri, așa că centrul de asistență avertizează că „pluginurile pe care le vezi în catalog pot fi diferite de cele pe care le văd colegii din alte grupuri.” Dacă Data lipsește din tabul Discover, întreabă un owner înainte să presupui că marketplace-ul e stricat.
Pasul 2: Conectarea unei surse de date și rularea unui Slash Command
Un plugin cu un depozit neconectat îți poate doar scrie SQL de lipit în altă parte, așa că primul pas real este conectarea unei surse de date. Apoi slash command-ul face restul.
Autorizarea unui conector
Adăugarea unui plugin nu te conectează nicăieri. Deschide tabul Connectors al pluginului, unde fiecare intrare arată una din 3 stări: Connected, Not connected (conectorul este pe contul tău, dar nu te-ai conectat), sau Not added. Apasă Add unde e nevoie, apoi Connect și termină autentificarea în browser.

Pe planurile Team și Enterprise, un owner adaugă mai întâi conectorul pentru organizație, iar tu te conectezi apoi cu propriul cont.
Folosește credențiale read-only pentru depozit, deoarece un conector cu drept de scriere îi permite lui Claude să ruleze orice instrucțiune pe care o expun uneltele sale, iar în modul auto al lui Cowork, Claude decide singur dacă le apelează. Asta înseamnă:
-
Pentru Snowflake, un rol cu doar
SELECT -
Pentru BigQuery, un service account cu rolul Data Viewer
-
Pentru Databricks, un token limitat la un SQL warehouse cu drepturi de citire
Dacă ești nou pe oricare platformă, ghidul nostru pentru începători în Snowflake și tutorialul BigQuery te duc la prima interogare într-o după-amiază.
Conexiunea trăiește în contul tău sub Customize apoi Connectors, deci autorizezi fiecare serviciu o singură dată, iar orice alt plugin care listează același URL de server, cum ar fi intrarea BigQuery a pluginului Finance, o reutilizează.
Rularea primei tale comenzi
Comanda write-query transformă o întrebare în limbaj natural în SQL pentru dialectul tău, și este artefactul pe care vreau cel mai mult să îl privești, pentru că secțiunea de verificare se întoarce la el.
Am construit o mică bază de date SQLite, shop.db, cu cele 4 tabele pe care le-ar avea un depozit e-commerce și 1.600 de comenzi din 5 ianuarie până pe 27 septembrie 2026. Tabelul de mai jos definește schema; fiecare interogare din acest articol rulează împotriva ei.
|
Tabel |
Coloane |
Un rând este |
|
|
|
Un client (240 rânduri) |
|
|
|
Un produs din catalog într-una din 5 categorii (40 rânduri) |
|
|
|
O comandă cu status completed, refunded sau canceled (1.600 rânduri) |
|
|
|
O linie de produs într-o comandă, prețată înainte de un discount între 0 și 25% (2.647 rânduri) |
Ca să rulezi comanda, tastează / în căsuța de mesaj și alege write-query din pluginul Data, sau tastează /data:write-query.
Din actualizarea din 24 februarie 2026, tastarea unei comenzi pune textul său de hint în căsuța de mesaj, iar Claude poate pune o întrebare structurată cu opțiuni numerotate înainte să înceapă, așa cum arată captura de ecran a Anthropic de mai jos cu comanda /dashboard.

Formularul structurat care lansează un slash command în Cowork, arătat de Anthropic cu comanda /dashboard: hintul comenzii stă în căsuța de mesaj, iar Claude pune o întrebare cu opțiuni numerotate înainte să înceapă. Sursa imaginii: Anthropic, 24 februarie 2026.
Cererea mea a fost: venit net pe categorie de produs pentru fiecare dintre ultimele 8 săptămâni, contând doar comenzile finalizate și scăzând discounturile pe linie, în SQLite, cu schema lipită dedesubt.
Iată SQL-ul care a venit înapoi, needitat:
-- Net revenue by product category, last 8 complete weeks (Mon–Sun), completed orders only
-- Dialect: SQLite
WITH RECURSIVE
params AS (
SELECT
-- Monday of the current week; 'weekday 0' jumps forward to Sunday, -6 days lands on Monday
date('2026-09-28', 'weekday 0', '-6 days') AS current_week_start, -- 2026-09-28
date('2026-09-28', 'weekday 0', '-6 days', '-56 days') AS range_start -- 2026-08-03
),
-- One row per week, so weeks with no sales still show up
weeks AS (
SELECT range_start AS week_start
FROM params
UNION ALL
SELECT date(w.week_start, '+7 days')
FROM weeks AS w
CROSS JOIN params AS pr
WHERE date(w.week_start, '+7 days') < pr.current_week_start
),
categories AS (
SELECT DISTINCT category
FROM products
),
-- Filter and aggregate at the line-item level before building the grid
weekly_category_revenue AS (
SELECT
date(o.order_date, 'weekday 0', '-6 days') AS week_start,
p.category,
-- discount_pct is stored as 0–25 (a percent), not as a 0–0.25 fraction
SUM(oi.quantity * oi.unit_price * (1 - oi.discount_pct / 100.0)) AS net_revenue
FROM orders AS o
CROSS JOIN params AS pr
INNER JOIN order_items AS oi ON oi.order_id = o.order_id
INNER JOIN products AS p ON p.product_id = oi.product_id
WHERE o.status = 'completed'
-- Plain string comparison, so an index on order_date can be used; works for ISO-8601 dates
AND o.order_date >= pr.range_start
AND o.order_date < pr.current_week_start
GROUP BY 1, 2
)
SELECT
w.week_start,
date(w.week_start, '+6 days') AS week_end,
c.category,
ROUND(COALESCE(r.net_revenue, 0), 2) AS net_revenue
FROM weeks AS w
CROSS JOIN categories AS c
LEFT JOIN weekly_category_revenue AS r
ON r.week_start = w.week_start
AND r.category = c.category
ORDER BY w.week_start, net_revenue DESC, c.category;
Asta este mai lung decât ce aș fi tastat eu de mână, iar lungimea în plus este chiar valoarea. Fiecare bloc al interogării, numit common table expression (CTE), face o treabă:
-
paramsancorează totul la o dată, astfel încât interogarea e ușor de repoziționat. -
weekseste recursiv și garantează un rând pentru o săptămână fără vânzări. -
weekly_category_revenuepăstrează doarstatus = 'completed'și aplică discountul ca1 - discount_pct / 100.0, deoarece schema spune că această coloană conține procente întregi de la 0 la 25. -
Ultimul
SELECTumple golurile cu 0, astfel încât rezultatul e pregătit de graficat.
Skillul listează și ipotezele sub interogare, inclusiv că order_date trebuie să fie text ISO 8601 (YYYY-MM-DD) pentru ca filtrul pe interval să funcționeze, și că comenzile rambursate sunt eliminate complet.
Am rulat interogarea pe shop.db și am obținut 40 de rânduri, câte unul pe săptămână și categorie. Iată-le pivotate astfel încât fiecare categorie e o coloană:
|
Săptămâna începând cu |
Audio |
Fitness |
Home Office |
Bucătărie |
Outdoor |
|
2026-08-03 |
12.714,80 |
9.187,23 |
13.542,08 |
7.925,04 |
7.621,21 |
|
2026-08-10 |
12.017,26 |
6.467,39 |
5.380,54 |
12.444,47 |
6.386,67 |
|
2026-08-17 |
8.808,47 |
4.669,72 |
6.675,32 |
7.513,97 |
4.485,65 |
|
2026-08-24 |
15.634,67 |
8.055,81 |
8.716,85 |
7.730,55 |
7.047,96 |
|
2026-08-31 |
11.402,99 |
11.517,37 |
14.252,59 |
9.954,80 |
7.226,14 |
|
2026-09-07 |
14.853,85 |
5.509,74 |
5.639,71 |
4.926,32 |
4.162,98 |
|
2026-09-14 |
8.780,41 |
4.893,28 |
7.864,22 |
7.344,70 |
6.204,45 |
|
2026-09-21 |
12.937,24 |
4.149,27 |
12.715,72 |
9.618,61 |
7.353,57 |
Audio e cea mai mare categorie în 5 din cele 8 săptămâni și nu scade niciodată sub 8.780. Home Office a oscilat cel mai mult, de la 5.380 în săptămâna 10 august la 14.252 în săptămâna 31 august. Fitness încheie perioada la minimul său de 4.149, ceea ce e genul de mișcare pe care ar trebui să o evidențieze un raport săptămânal, și pe care pluginul pe care l-am construit în Pasul 4 chiar o evidențiază.
Graficul de mai jos reprezintă aceleași 40 de numere, un panou per categorie.

Figura 2. Venit net săptămânal pentru comenzile finalizate pe categorie de produs în cele 8 săptămâni complete care se încheie pe 27 septembrie 2026, din rezultatul write-query. Imagine de autor.
Pasul 3: Personalizarea unui plugin instalat
Instalarea durează 2 minute. Personalizarea este locul unde un plugin începe să-și merite locul, pentru că pluginurile Anthropic sunt scrise pentru o companie generică, iar a ta nu e. Există 2 moduri de a face asta.
Folosind Edit with Claude
Clic pe Edit with Claude deschide o sarcină Cowork în care Claude editează pluginul împreună cu tine.

Centrul de asistență încă numește butonul Customize. În aplicația curentă, deschide meniul pluginului din colțul din dreapta sus și alege Edit with Claude, care „deschide o nouă sarcină Cowork cu un prompt care îi cere lui Claude să personalizeze pluginul ales”, apoi apasă Let's go. În culise, asta rulează skillul cowork-plugin-customizer din Plugin Management plugin al Anthropic.
Skillul caută mai întâi în fișierele pluginului placeholders cu ~~, cum ar fi ~~data warehouse, apoi caută în orice unelte conectate Slack sau de documente numele reale și, în final, te întreabă pentru orice nu a găsit.
O editare concretă de făcut aici este denumirea tabelelor tale: spune-i că tabelele canonice trăiesc în schema analytics, că fct_orders este singurul tabel de comenzi de interogat și că orice prefixat cu stg_ este interzis. Claude scrie aceste reguli în skillul SQL și îți arată pluginul personalizat în conversație, iar tu îl accepți cu butonul de pe acel rezultat.
Editarea directă a fișierelor
Al doilea mod este să deschizi fișierele pluginului și să le editezi tu însuți, ceea ce se potrivește schimbărilor pe care deja știi cum să le scrii. Trei editări aduc cel mai mult:
-
Adaugă contextul companiei într-un skill. Anexează definițiile tale de metrici, tabelele canonice și tabelele care nu trebuie interogate la finalul
skills/sql-queries/SKILL.md. Blocul pe care îl folosesc este cel care devine propriul skill în Pasul 4, și 4 dintre liniile sale arată așa:
- orders: one row per order. status is completed, refunded, or canceled. order_date is ISO 8601 (YYYY-MM-DD).
- order_items: one row per product line. unit_price is the price charged before discount. discount_pct is a whole-number percentage from 0 to 25.
- products: one row per product, with its category.
- Never compute revenue from products.list_price. It is the catalog price, not what the customer paid.
-
Înlocuiește conectorii în
.mcp.json. Șterge intrările pentru serviciile pe care nu le folosești și completează URL-ul gol pentru Snowflake sau Databricks cu adresa propriului server, sau adaugă depozitul tău ca un conector personalizat sub Customize apoi Connectors în schimb. -
Crește versiunea. Schimbă versiunea în plugin.json ori de câte ori editezi, ca să poți deosebi copia ta de original.
Un aspect de notat: Ghidul de pluginuri Cowork al Anthropic spune că Cowork verifică actualizările în marketplace și „dacă ai editat local fișierele unui plugin, Cowork detectează schimbarea și te avertizează înainte ca o actualizare să le suprascrie.” Pluginurile administrate de organizație și pluginurile partajate de un coleg nu pot fi editate deloc, deci copiază-le într-un plugin propriu mai întâi.
O altă atenționare pentru utilizatorii Windows: un raport de bug depus pe 11 septembrie 2026 descrie un plugin încărcat manual blocat la prima sa versiune instalată, cu noi uploaduri, dezinstalări și reinstalări care revin după un restart. Era încă deschis fără workaround pe 6 octombrie 2026, așa că dacă editările tale încetează să se aplice pe Windows, verifică acel fir de discuție în loc să reîncarci în buclă.
Pasul 4: Construirea unui plugin personalizat de la zero
Un plugin personalizat este răspunsul când niciun plugin din marketplace nu-ți cunoaște workflow-ul. Să parcurgem un build exemplu: un raport săptămânal de metrici cu 1 skill de cunoștințe, 1 comandă și 1 conector.
Fiecare fișier apare integral, pentru că folderul este produsul. Figura arată bucla pe care o vei urma.

Figura 3. Construirea unui plugin personalizat: scrie și validează fișierele pe computerul tău, arhivează-le și încarcă-le, apoi rulează comanda într-o sarcină nouă și revino la fișiere pentru schimbări. Imagine de autor.
Scaffold cu Plugin Create
Plugin Create este numele Anthropic pentru ruta ghidată și, în septembrie 2026, trăiește în meniul Add. Mergi la Customize, Plugins, Add, apoi Create with Claude, care deschide o sarcină Cowork cu cererea deja completată.

Descrie jobul în cuvintele pe care le-ai folosi cu un coleg, răspunde la întrebările lui Claude despre ce conectori să includă și apasă Save plugin pe cardul de fișier pe care îl produce. Același meniu oferă și Create a plugin, un formular și un editor pentru oamenii care știu deja ce ar trebui să spună fiecare fișier.
Pentru pluginul din acest articol, brieful pe care l-aș tasta e mai jos. Denumește singura comandă, singurul skill de fundal, singurul conector și regulile, adică informațiile pe care întrebările de descoperire ale skillului ți le-ar fi scos altfel pe rând.
Build me a plugin called Weekly Metrics Report for our online store's data team.
What it does: every Monday, compare the most recent complete week (Monday to Sunday) with the week before it and write a short Markdown report. Keep it to one command, /weekly-report, that runs the whole thing, and one background skill that holds our metric definitions so Claude never guesses them.
The definitions: net revenue is quantity times unit price after the line discount, for completed orders only. Completed orders are counted by distinct order ID. Average order value is net revenue divided by completed orders. Refund rate is refunded orders divided by completed plus refunded orders, as a percentage with one decimal. Cancelled orders never count toward anything.
The data: the canonical tables are orders, order_items, and products in our BigQuery warehouse. Never use products.list_price for revenue; it is the catalog price, not what the customer paid. Bundle the BigQuery connector and nothing else.
The report: a three-sentence summary that names the biggest mover and says whether it went up or down, a table of net revenue by product category (this week, last week, percentage change with one decimal and a sign), a second table with the overall metrics for both weeks, and the SQL at the end so a reader can check it. If either week has fewer than 20 completed orders, say the comparison is noisy.
Do not add agents, hooks, or any other skills.
Ruta ghidată rulează skillul create-cowork-plugin din Plugin Management plugin din marketplace-ul Knowledge Work. Poți instala acel plugin și rula skillul după nume. Te întreabă despre job, componente și conectori, apoi împachetează rezultatul într-un fișier .plugin.
Iată folderul cu care rămâi:
weekly-metrics-report/
├── .claude-plugin/
│ └── plugin.json
├── .mcp.json
├── README.md
└── skills/
├── metric-definitions/
│ └── SKILL.md
└── weekly-report/
└── SKILL.md
Manifestul denumește pluginul și fixează versiunea:
{
"name": "weekly-metrics-report",
"displayName": "Weekly Metrics Report",
"version": "0.1.0",
"description": "Builds the store's weekly metrics report from the warehouse, using the team's own metric definitions.",
"author": { "name": "Tim Lu" },
"license": "MIT"
}
Fișierul de conector listează un singur server, același endpoint BigQuery folosit de pluginul Data, astfel încât un cititor care a conectat BigQuery în Pasul 2 nu are nimic nou de autorizat:
{
"mcpServers": {
"bigquery": {
"type": "http",
"url": "https://bigquery.googleapis.com/mcp"
}
}
}
README-ul este opțional pentru un plugin privat și obligatoriu dacă îl vei trimite vreodată în director, așa că l-am scris acum:
# Weekly Metrics Report
A small Cowork plugin that turns "how did last week go?" into a consistent report. It holds the store's metric definitions in one skill and the report workflow in another, and it bundles the BigQuery connector so Claude can query the warehouse directly.
## Use it
Run /weekly-metrics-report:weekly-report, or ask for the weekly numbers in plain words. Claude compares the most recent complete week with the week before, writes a Markdown report with per-category and overall tables, and includes the SQL it ran.
## Data
The plugin reads the orders, order_items, and products tables through the connector you sign in to. It stores nothing itself.
Scrierea skillului
Skillul de cunoștințe reține contextul care se lipea în fiecare luni. Iată skills/metric-definitions/SKILL.md integral:
---
name: metric-definitions
description: The store's definitions of net revenue, completed orders, average order value, and refund rate, plus which warehouse tables are canonical. Use whenever a request involves revenue, sales, orders, refunds, discounts, or which table to query, even if it does not name a metric.
user-invocable: false
---
# Metric definitions for the store warehouse
Follow these definitions whenever you compute or report a store metric. If a request conflicts with them, follow the definitions and say so.
## Canonical tables
- orders: one row per order. status is completed, refunded, or cancelled. order_date is ISO 8601 (YYYY-MM-DD).
- order_items: one row per product line. unit_price is the price charged before discount. discount_pct is a whole-number percentage from 0 to 25.
- products: one row per product, with its category.
- Never compute revenue from products.list_price. It is the catalog price, not what the customer paid.
## Metrics
- Net revenue: SUM(quantity * unit_price * (1 - discount_pct / 100.0)) over order_items, for orders with status = 'completed'.
- Completed orders: COUNT(DISTINCT order_id) where status = 'completed'.
- Average order value: net revenue divided by completed orders.
- Refund rate: refunded orders divided by completed plus refunded orders, as a percentage with one decimal.
- Cancelled orders never count toward revenue, order counts, or the refund rate.
## Weeks
- A week runs Monday to Sunday. Label a week by its Monday.
- "Last week" means the most recent complete week, not the last 7 days.
Descrierea este ceea ce face acest skill să se declanșeze fiabil, iar una vagă este motivul obișnuit pentru care un skill nu se declanșează niciodată. Claude citește doar frontmatter până decide să încarce un skill, iar referința de skilluri Claude Code spune să pui cazul cheie de utilizare primul.
Scrie descrierea ca situațiile în care se va afla cititorul („o cerere implică venituri, vânzări, comenzi, rambursări, discounturi”) mai degrabă decât ca un rezumat al fișierului, și include cuvintele pe care le spun oamenii, pentru că Claude îți potrivește descrierea cu mesajul lor.
Încă două alegeri sunt deliberate: user-invocable: false ține acest skill în afara meniului /, deoarece nimeni nu ar trebui să „ruleze” un set de definiții. Corpul este scris ca instrucțiuni pentru Claude la imperativ („Nu calcula niciodată venitul din products.list_price”), acesta fiind stilul cerut de skillul de authoring al Anthropic. Secțiunea de tabele este partea pe care ai înlocui-o cu numele depozitului tău.
Scrierea comenzii
Comanda este și ea un fișier de skill, pentru că așa definesc noile pluginuri acțiunile denumite. Iată skills/weekly-report/SKILL.md integral:
---
name: weekly-report
description: Build the store's weekly metrics report. Use when the user asks for the weekly report, the weekly numbers, week-over-week metrics, or how last week went.
argument-hint: "[a date inside the week to report on]"
---
# Weekly metrics report
Produce a short report comparing the most recent complete week with the week before it, using the definitions in the metric-definitions skill.
## Steps
1. Work out the reporting week. If the user gave a date, use the Monday-to-Sunday week that contains it. Otherwise use the most recent complete week before today.
2. Get the data. If a warehouse connector is connected, query it directly. If not, ask the user for a database file or an export and query that instead. Never estimate a number.
3. For the reporting week and the week before it, compute net revenue, completed orders, average order value, and refund rate, overall and per product category.
4. Write the report to a Markdown file named weekly_report_<week start>.md containing:
- A three-sentence summary that names the biggest mover and says whether it went up or down.
- A table with one row per category: net revenue this week, last week, and the percentage change.
- A second table with the overall metrics for both weeks.
- The SQL you ran, in a code block at the end, so the reader can check it.
5. Show the summary in the conversation and say where the file is.
## Rules
- Follow the metric-definitions skill for every metric. Do not invent new ones.
- Report percentage changes with one decimal place and a sign.
- If either week has fewer than 20 completed orders, say the comparison is noisy.
Acest skill este user-invocable în mod implicit, deci apare în meniul / ca /weekly-metrics-report:weekly-report, iar argument-hint documentează singurul argument pe care îl ia.
Corpul numește skillul metric-definitions de două ori, o dată în linia de deschidere și o dată la reguli, acesta fiind modul în care comanda apelează skillul: Claude încarcă definițiile pentru că sunt numite și pentru că descrierea lor se potrivește cu o cerere despre venituri.
Dacă preferi formatul legacy, același corp funcționează ca commands/weekly-report.md cu doar linia description în frontmatter.
Instalarea și testarea
Înainte de încărcare, validează folderul relativ la directorul părinte cu claude plugin validate ./weekly-metrics-report, ceea ce necesită instalat Claude Code. Pe mașina mea a afișat ✔ Validation passed și numește câmpul de reparat când eșuează.
Apoi, arhivează folderul pluginului. Oricare layout funcționează: folderul ca singura intrare top-level sau conținutul său direct, atâta timp cât arhiva conține un .claude-plugin/plugin.json (al meu a avut 3.067 bytes). Apoi mergi la Customize, Plugins, Add, Upload plugin și selectează arhiva.
Un plugin abia adăugat se încarcă în următoarea ta sarcină Cowork, nu în cea deschisă, așa că pornește o sarcină nouă înainte să-l cauți. Dacă tot nu apare în noua sarcină, închide și redeschide aplicația desktop înainte să începi depanarea fișierelor.
Am testat pluginul prin Claude Code cu claude --plugin-dir ./weekly-metrics-report, indicând către shop.db, și am tastat /weekly-metrics-report:weekly-report. Claude a stabilit că 28 septembrie 2026 e o luni, a raportat săptămâna 21 septembrie și a scris weekly_report_2026-09-21.md. Acesta este rezumatul, mot-à-mot:
Net revenue rose to $46,774.42, up +33.3% from $35,087.07 the week before. Completed orders went from 61 to 78, and average order value rose slightly to $599.67 (+4.3%).
The biggest mover was Home Office: its net revenue went up +61.7% ($7,864.22 → $12,715.72), the largest gain in both dollars and percent.
Fitness was the only category that fell (-15.2%).
The refund rate rose from 10.3% to 12.4%, and Home Office's refund rate reached 27.6% (8 refunded orders), which is worth a closer look.
Iar acesta este tabelul pe categorii din același fișier:
|
Categorie |
Săptămâna aceasta (2026-09-21) |
Săptămâna trecută (2026-09-14) |
Schimbare |
|
Audio |
$12,937.24 |
$8,780.41 |
+47.3% |
|
Fitness |
$4,149.27 |
$4,893.28 |
-15.2% |
|
Home Office |
$12,715.72 |
$7,864.22 |
+61.7% |
|
Bucătărie |
$9,618.61 |
$7,344.70 |
+31.0% |
|
Outdoor |
$7,353.57 |
$6,204.45 |
+18.5% |
|
Total |
$46,774.42 |
$35,087.07 |
+33.3% |
Compară ultimul rând din tabelul pivot din Pasul 2 cu coloana „Săptămâna aceasta” de aici: aceleași 5 numere, din 2 pluginuri diferite, pentru că ambele au urmat aceeași definiție de venit net.
Claude a făcut și 2 lucruri pe care nu i le-am cerut. A semnalat că 4 din cele 5 categorii au avut sub 20 de comenzi finalizate în cel puțin o săptămână, aplicând regula mea de comparație zgomotoasă per categorie. A mai subliniat că regula mea „raportează schimbările ca procente” este ambiguă pentru rata de rambursare, care este deja un procent, așa că a raportat acea schimbare în puncte procentuale.
Ambele sunt editări pe care le-aș face în continuare în skill, ceea ce este chiar bucla din Figura 3: modifică o linie, crește versiunea, încarcă din nou.
Odată ce raportul funcționează, tastează /schedule în orice sarcină Cowork ca să ruleze în fiecare luni dimineață fără tine, deoarece sarcinile programate rulează în cloud-ul Anthropic. Din 1 octombrie 2026, sarcinile programate pe care le creează Claude au implicit „Automatically approve” când organizația ta permite, ceea ce e un alt motiv să păstrezi conectorul acela cu doar citire. Tutorialul nostru Cowork Dispatch arată cealaltă opțiune, declanșarea unei sarcini de pe telefon.
Partajarea unui plugin Cowork cu echipa ta
Folderul pluginului este unitatea de distribuție, așa că partajarea ține de unde îl pui. Împinge-l într-un repository GitHub cu un marketplace.json care îl listează, și oricine căruia îi dai URL-ul poate adăuga repository-ul sub Add apoi Add marketplace.
Pe planurile Team și Enterprise, un owner poate în schimb să sincronizeze un repository privat sau să încarce arhive în marketplace-ul organizației și să seteze fiecare plugin ca available, installed by default sau required, pentru toți sau pentru grupuri specifice. Membrii pot partaja un plugin pe care l-au construit din meniul cu trei puncte sau îl pot trimite cu Publish to org, iar ghidul de pluginuri pentru organizație din centrul de asistență organization plugin guide acoperă restul.
Cum verifici ieșirea unui plugin?
Verifici ieșirea unui plugin citind interogarea înainte să ai încredere în grafic, limitând ce poate atinge pluginul și știind unde să te uiți când un skill nu se declanșează. Nimic din asta nu necesită o echipă de securitate. Necesită 5 minute de obicei.
Citește codul înaintea graficului
O interogare care pare plauzibilă poate răspunde unei întrebări ușor diferite de cea pe care ai pus-o. Iată una pe care am scris-o de mână pentru aceeași întrebare ca în Pasul 2, și rulează fără eroare:
SELECT p.category,
ROUND(SUM(oi.quantity * p.list_price), 2) AS revenue
FROM orders AS o
JOIN order_items AS oi ON oi.order_id = o.order_id
JOIN products AS p ON p.product_id = oi.product_id
WHERE o.order_date >= '2026-08-03' AND o.order_date < '2026-09-28'
GROUP BY p.category
ORDER BY p.category;
Evaluează fiecare linie la list_price din catalog în loc de prețul încasat, ignoră discounturile și numără comenzile rambursate și anulate pentru că nu filtrează niciodată pe status. Rularea ambelor interogări pe shop.db produce totalurile de mai jos, iar ultima coloană arată cât de mult supraestimează scurtătura venitul net.
|
Categorie |
Interogare plugin (net, completed) |
Interogare scurtă (list price, toate comenzile) |
Supraestimare |
|
Audio |
97.149,69 |
128.770,97 |
+32,5% |
|
Fitness |
54.449,81 |
71.237,81 |
+30,8% |
|
Home Office |
74.787,03 |
99.157,55 |
+32,6% |
|
Bucătărie |
67.458,46 |
83.908,32 |
+24,4% |
|
Outdoor |
50.488,63 |
64.366,84 |
+27,5% |
|
Total |
344.333,62 |
447.441,49 |
+29,9% |
Fiecare categorie este supraestimată între 24% și 33%, iar un grafic bară al oricărui rezultat arată la fel de rezonabil. Interogarea pluginului a nimerit corect pentru că skillul i-a spus să filtreze devreme și să citească schema.
Dacă citirea unei interogări de 50 de linii încă merge greu, trackul nostru Associate Data Analyst in SQL este cea mai rapidă rută către fluență. Ghidul de optimizare a interogărilor SQL explică practicile urmate de skillul write-query, cum ar fi filtrarea înaintea îmbinărilor și evitarea SELECT *.
Păstrează conexiunile read-only
Un conector de depozit cu drept de scriere îți pune tabelele în pericol din 2 direcții: Claude poate înțelege greșit o cerere („curăță comenzile de test”) ca instrucțiune de ștergere, și prompt injection, unde textul dintr-un document sau o pagină web pe care o citește Claude poartă instrucțiuni proprii. Pe planurile Team și Enterprise, setarea care le permite membrilor să sară peste aprobarea per-sarcină pentru uneltele conectorilor cu scriere este dezactivată implicit.
Pentru un gardian dur, hooks rulează înaintea fiecărui apel de unealtă în Cowork și Claude Code, așa că un hook care citește SQL-ul unui conector și respinge orice altceva decât SELECT este modelul la care să apelezi. Ghidul nostru pentru hooks în Claude Code arată cum să scrii unul. Nu am construit acel hook pentru acest articol, așa că testează-l cu propriul tău conector înainte să te bazezi pe el.
Când un skill dă rateu sau nu pornește niciodată, verifică întâi descrierea
Claude decide din frontmatter, așa că deschide skillul și întreabă-te dacă descrierea îi denumește situația în care te aflai și cuvintele pe care le-ai folosit. Dacă nu, adaugă-le.
Apoi declanșează skillul manual cu / ca să confirmi că funcționează corpul în sine, verifică faptul că toggle-ul pluginului e pornit și conectorul arată „Connected”, și amintește-ți că un plugin se încarcă în următoarea sarcină, nu în cea curentă. Cel mai frecvent vinovat este o descriere care rezumă fișierul în loc să descrie cererea.
Cunoaște starea produsului
Cowork este disponibil în general din 9 aprilie 2026. Pluginurile au fost lansate ca research preview pe 30 ianuarie 2026 și sunt acum listate ca disponibile pe toate planurile cu plată. Pe 11 august 2026, Anthropic a extins acoperirea Compliance API la sesiunile Cowork pe desktop, web și mobil.
Două goluri rămân în centrul de asistență actual: transcripturile sesiunilor locale desktop nu au încă un endpoint de ștergere, iar monitorizarea OpenTelemetry „nu înlocuiește audit logging-ul în scopuri de conformitate.”
Dacă organizația ta gestionează date de sănătate din SUA pe un plan Enterprise pregătit pentru HIPAA, Cowork este acoperit de Business Associate Agreement doar după ce un admin aplică configurația HIPAA, și odată activată, Cowork nu poate rula în cloud. Dacă datele tale sunt reglementate, obține aprobarea echipei de conformitate înainte ca un plugin să atingă tabele din producție.
Gânduri finale
Acum ai 3 pluginuri: pluginul Data pe care l-ai instalat, copia pe care ai personalizat-o cu propriile denumiri de tabele și raportul săptămânal pe care l-ai construit din 5 fișiere. Al treilea este cel pe care l-aș păstra, pentru că deține cele 40 de rânduri de context care se lipeau în fiecare luni și le deține o singură dată.
Principiul pentru a decide ce merită un plugin este scurt: un plugin merită construit când workflow-ul se repetă, iar contextul rămâne stabil, ceea ce descrie un raport săptămânal, o listă de verificare pentru revizuirea contractelor sau pregătirea pentru apeluri de vânzări. O analiză unică nu are nevoie de așa ceva; lipește contextul și mergi mai departe.
Iar dacă te gândești care workflow-uri repetitive din compania ta ar trebui să primească acest tratament primele, cursul nostru Generative AI for Business este construit exact în jurul acestei întrebări. Pentru a intra mai adânc în modelul din spatele tuturor acestora, cursul Introduction to Claude Models acoperă promptingul și munca multi-turn cu Claude API.
Întrebări frecvente despre pluginurile Claude Cowork
Ce sunt pluginurile Claude Cowork?
Pluginurile Claude Cowork sunt pachete instalabile care grupează skilluri, slash commands, conectori și, în Cowork și Claude Code, sub-agents și hooks, astfel încât Claude să funcționeze ca un specialist pentru un rol. Anthropic le-a adăugat în Cowork pe 30 ianuarie 2026, cu 11 pluginuri open-source, și sunt disponibile pe toate planurile Claude cu plată.
Care este diferența dintre un plugin Claude Cowork și un skill?
Un skill este un fișier SKILL.md care îl învață pe Claude o singură sarcină și se declanșează atunci când Claude îl consideră relevant. Un plugin este setul împachetat de skilluri, comenzi și conectori pentru o întreagă funcție de job și este unitatea pe care o instalezi, o partajezi și o versiunezi.
Cum instalez un plugin Claude Cowork?
Deschide Customize în bara laterală stângă a aplicației desktop Claude, deschide tabul Plugins, deschide Discover, selectează pluginul și apasă Add. Pluginul este salvat în contul tău, deci apare și în chat și se sincronizează în Claude Code când te conectezi cu același cont.
Funcționează pluginurile Cowork în Claude Code și în chat?
Da, pentru skilluri, comenzi și conectori, care se încarcă în chat, Cowork și Claude Code. Sub-agents și hooks rulează doar în Cowork și Claude Code, iar serverele MCP locale rulează doar în Claude Code și în sesiunile Cowork care rulează pe computerul tău.
Pot construi un plugin Claude Cowork fără să codez?
Da. Un plugin este un folder de Markdown și JSON, iar opțiunea Create with Claude din Customize > Plugins > Add te ghidează prin conversație și salvează rezultatul în contul tău. Scrierea fișierelor de mână necesită un editor de text și un instrument de arhivare, iar întregul plugin weekly-report din acest articol înseamnă 5 fișiere scurte.