Kurs
W każdy poniedziałek ktoś otwiera Claude’a, wkleja te same 40 linijek kontekstu o magazynie danych i prosi o te same tygodniowe liczby. We wtorek ten kontekst znika, a kolejny analityk wkleja jego nieco inną wersję. Wtyczka pomaga utrzymać takie zadania w ryzach — spójne i weryfikowalne.
Po zakończeniu tego tutorialu będziesz mieć zainstalowaną wtyczkę w Claude Cowork, dostosujesz ją do swoich tabel i zbudujesz działającą wtyczkę od zera.
Potrzebujesz 2 rzeczy: płatnego planu Claude (Pro, Max, Team lub Enterprise) oraz aplikacji desktopowej Claude na macOS lub Windows — to właśnie pokazują zrzuty ekranu. Nie potrzebujesz terminala ani Pythona. Wspomnę o ścieżce wiersza poleceń dla chętnych, ale to opcja, nie obowiązek.
Zanim zaczniemy, mała uwaga. 16 września 2026 r. Anthropic zaczął łączyć Chat i Cowork w jednego Claude’a dla kont Pro i Max, więc w polu wiadomości możesz już nie widzieć osobnej opcji Cowork. Strona Customize, gdzie żyją wtyczki, jest taka sama w obu wariantach, a ja podaję dokładne etykiety menu po drodze.
Jeśli wolisz przećwiczyć te kroki w formie zadań z instrukcjami, kurs DataCamp Building Claude Cowork Plugins przeprowadzi cię przez instalację, adaptację i budowę własnej wtyczki — bez pisania kodu.
W skrócie
- Wtyczka Cowork to folder z plikami Markdown i JSON, który uczy Claude’a konkretnej pracy.
- Instalujesz ją ze strony Customize w kilku kliknięciach.
- Wtyczki łatwo dostosujesz, wybierając opcję Edit with Claude.
- Możesz też zbudować wtyczkę Cowork, pisząc 2 krótkie pliki ze skillami, manifest z 6 polami i plik konektora, potem kompresując folder i wgrywając go.
- Aby współdzielić wtyczki z zespołem, wypchnij je do repozytorium GitHub z plikiem marketplace.json i dodaj marketplace, albo użyj Publish to org na kontach Team/Enterprise.
Czym są wtyczki Claude Cowork?
Wtyczka Claude Cowork to instalowalny pakiet, który zawiera wszystko, czego Claude potrzebuje, by działać jak specjalista. W środku są m.in. skille (workflow), komendy ze slashem, właściwe konektory oraz niezbędne sub-agenty i hooki. W poście premierowym Anthropic ujmuje to w jednym zdaniu:
"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."
Wtyczki pojawiły się w Cowork 30 stycznia 2026 r. jako podgląd badawczy dla płatnych użytkowników, wraz z 11 wtyczkami open source zbudowanymi przez zespoły Anthropic. Druga fala 24 lutego 2026 r. dodała wtyczki do HR, designu, inżynierii, operacji i analizy finansowej, 4 wtyczki dla usług finansowych, wtyczki partnerskie od Slack, S&P Global i LSEG oraz ustrukturyzowane formularze dla komend ze slashem. Sam Cowork wyszedł z podglądu i stał się ogólnie dostępny 9 kwietnia 2026 r..
Gdzie działają wtyczki, to częste źródło nieporozumień, więc oto aktualna odpowiedź z artykułu pomocy o wtyczkach od Anthropic. Dodana wtyczka zapisuje się na twoim koncie Claude, nie na komputerze, więc podąża za tobą do czatu w sieci, aplikacji desktopowej, Cowork i Claude Code (wersja 2.1.273 lub nowsza synchronizuje ją automatycznie). Skille i komendy działają wszędzie, natomiast hooki i sub-agenci uruchamiają się tylko w Cowork i Claude Code i są wyszarzone w czacie.
Jeśli jeszcze nie korzystałeś z samego Cowork, nasz tutorial Claude Cowork przeprowadza przez aplikację, a porównanie Claude Cowork vs Claude Code wyjaśnia, czemu ta sama wtyczka potrafi więcej w jednym miejscu niż w drugim. Tutaj nie będę ponownie tłumaczyć Cowork.
Co pakuje wtyczka
Poniższa tabela wymienia 5 komponentów, które wtyczka może zawierać, co każdy robi i kiedy się uruchamia.
|
Komponent |
Co robi |
Kiedy się uruchamia |
|
Skill |
Plik instrukcji i wiedzy domenowej |
Automatycznie, gdy Claude uzna, że zadanie pasuje do opisu skilla. Możesz też uruchomić go z nazwy po |
|
Komenda ze slashem |
Nazwana akcja z własnymi instrukcjami, np. |
Ręcznie, gdy ją wpiszesz. W Cowork Claude może zadać ustrukturyzowane pytanie zanim zacznie. |
|
Konektor (MCP) |
Łącze do zewnętrznej usługi przez Model Context Protocol (MCP): Snowflake, BigQuery, Slack i setki innych |
Gdy Claude wywoła jedno z narzędzi usługi, po tym jak raz ją połączysz. |
|
Sub-agent |
Specjalista, któremu Claude może oddelegować część zadania, z własnym promptem i listą narzędzi |
Gdy Claude zdecyduje się delegować. Tylko Cowork i Claude Code. |
|
Hook |
Skrypt lub prompt uruchamiany przy zdarzeniu sesji, np. tuż przed wywołaniem narzędzia |
Przy tym zdarzeniu, za każdym razem. Tylko Cowork i Claude Code. |
Skille odpalają się, gdy Claude uzna je za istotne, a komendy — gdy wpiszesz /. To rozróżnienie podpowiada, co sprawdzić, gdy wtyczka zdaje się nic nie robić — wrócę do tego w sekcji weryfikacji. Jeśli sub-agenci są dla ciebie nowością, nasz kurs Introduction to AI Agents omawia wzorzec delegowania bez kodu.
Wtyczka vs. skill
Skill uczy Claude’a jednego zadania w pojedynczym pliku SKILL.md. Wtyczka to spakowany zestaw skilli, komend i konektorów dla całej funkcji zawodowej, więc wtyczka Data zawiera 10 skilli. To wtyczkę instalujesz, a skill edytujesz. Nasz przewodnik po Claude Skills szczegółowo omawia format skilla, jeśli chcesz.
Gdzie znaleźć wtyczki Cowork
Wtyczki Cowork pochodzą z 3 miejsc i przez większość artykułu będziesz używać pierwszego:
- Marketplaces wbudowane w Cowork. Marketplace Knowledge Work jest dodawany domyślnie do każdego konta. Marketplaces Anthropic dla Life Sciences, Financial Services i Legal są pod Add, Add marketplace, a potem Browse Anthropic sources.
- Katalog na claude.com/plugins. Wymienia ponad 300 wtyczek z filtrem, czy działa w Claude, Claude Code, czy w obu.
- Repozytorium anthropics/knowledge-work-plugins na GitHubie. To źródła Apache-2.0 dla każdej wtyczki roli zbudowanej przez Anthropic — stąd pochodzą cytowane niżej pliki.
Istnieją też dwie inne ścieżki instalacji: dodanie dowolnego repozytorium Git jako marketplace po adresie URL lub skrótem owner/repo (działa GitHub, GitHub Enterprise oraz publiczne repozytoria GitLab i Bitbucket) albo wgranie wtyczki bezpośrednio jako archiwum .zip lub .plugin do 200 MB.
Zestaw ról obejmuje wiele dziedzin: produktywność, sprzedaż, support, product management, marketing, prawo, finanse, dane, wyszukiwarkę korporacyjną, HR, design, inżynierię, operacje, bio-badania i mały biznes oraz wtyczki partnerskie. To nie jest przegląd wszystkiego — wybierz wtyczkę dla swojej roli i czytaj dalej.
Co kryje wtyczka Cowork?
Wtyczka Cowork to folder z manifestem w ukrytym podfolderze i resztą plików w katalogu głównym. Oto pełny układ z komponentami — tylko część powierzchni ładowania jest tak oznaczona:
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
Zapamiętaj to drzewo — w Kroku 4 zbudujemy jego górną połowę plik po pliku. Poniższa ilustracja łączy drzewo z miejscem uruchamiania każdego komponentu, na podstawie tabeli wsparcia platform Anthropic.

Rysunek 1. Folder wtyczki po lewej, a dla każdego komponentu — kiedy się uruchamia i czy ładuje go chat, Cowork czy Claude Code. Ilustracja autora.
Manifest
Manifest to .claude-plugin/plugin.json, a jedynym wymaganym polem jest name. To prawdziwy manifest wtyczki Data od Anthropic, skopiowany z repozytorium:
{
"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"
}
}
Trzy rzeczy, które warto wiedzieć:
-
nameto stała tożsamość wtyczki i prefiks każdego komponentu, więc skillwrite-querystaje się/data:write-query. -
Ciąg
versionto numer wydania widoczny dla użytkowników wtyczki, a poradnik tworzenia Anthropic mówi, by podbijać go przy każdym wydaniu. -
Pola opcjonalne to m.in.
displayName,license,homepageikeywords.
Skille i komendy
Skill znajduje się w skills/<name>/SKILL.md: u góry krótki blok ustawień między liniami --- (frontmatter YAML), poniżej instrukcje dla Claude’a. Oto początek skilla write-query we wtyczce Data, którego użyję w Kroku 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 to to, co czyta Claude, aby zdecydować, czy załadować skill, a argument-hint mówi ci, czego skill oczekuje, że wpiszesz. Dwie flagi frontmatter zmieniają sposób uruchamiania skilla:
-
user-invocable: falseukrywa go z menu/, więc tylko Claude może go ładować (skillsql-querieswtyczki ma tak ustawione) -
disable-model-invocation: truerobi odwrotnie — skill działa tylko wtedy, gdy wpiszesz jego nazwę.
Komendy to starszy format: pojedynczy plik Markdown w commands/<name>.md z description w frontmatter. Skill Anthropic do tworzenia wtyczek dziś instruuje Claude’a, by „szkielet nowych wtyczek tworzyć w skills/*/SKILL.md” i nazywa folder commands/ przestarzałym, bo interfejs Cowork pokazuje oba jako jedną listę Skills. Komendy nadal ładują się wszędzie, więc będziesz je spotykać w starszych wtyczkach, ale w Kroku 4 użyjemy skilli.
Konektory
Plik .mcp.json w katalogu głównym wtyczki listuje zewnętrzne usługi, do których wtyczka może sięgać — każda jako adres serwera MCP. Oto pierwsze 3 wpisy z pliku wtyczki Data:
{
"mcpServers": {
"snowflake": {
"type": "http",
"url": ""
},
"databricks": {
"type": "http",
"url": ""
},
"bigquery": {
"type": "http",
"url": "https://bigquery.googleapis.com/mcp"
},
Puste adresy URL to placeholdery: Anthropic dostarcza endpoint BigQuery, a Snowflake i Databricks zostawia do uzupełnienia twoim adresem serwera. Jeśli MCP to dla ciebie nowość, nasz przewodnik po Model Context Protocol buduje serwer od zera.
Jest jedno nieoczywiste ograniczenie: centrum pomocy Anthropic stwierdza, że „w Cowork konektory łączą się z usługami zewnętrznymi przez chmurę Anthropic, a nie twoją lokalną sieć”. Niestandardowy konektor musi więc wskazywać serwer „osiągalny publicznie z zakresów IP Anthropic”. Magazyn danych za firewallem lub VPN-em nie połączy się, dopóki zespół sieciowy nie doda adresów Anthropic do listy dozwolonych.
Lokalne serwery MCP — takie, które uruchamiają program na twoim komputerze — to wyjątek: działają w Claude Code oraz w sesjach Cowork uruchamianych na twoim komputerze, a chat je ignoruje.
Od 6 października 2026 r. nowe zadania Pro i Max działają tylko w chmurze Anthropic, więc sesje lokalne to głównie funkcja planów Team i Enterprise.
Krok 1: Instalacja pierwszej wtyczki
Instalacja wtyczki Cowork to 6 krótkich kroków na stronie Customize i są one identyczne dla każdej wtyczki z katalogu, więc czytelnikom ze sprzedaży lub działu prawnego wystarczy podmienić swoją. Używam wtyczki Data, bo przygotowuje przykład SQL w Kroku 2.
1. Otwórz Customize w lewym pasku bocznym aplikacji desktopowej Claude. Jeśli w twojej aplikacji wciąż jest karta Cowork, otwórz ją najpierw.

2. Otwórz kartę Plugins.

3. Upewnijmy się, że masz marketplace Knowledge Work. Kliknij + Add, potem Add marketplace, następnie Browse Anthropic sources.

4. Wybierz i dodaj wtyczki Knowledge Work.

5. Otwórz kartę Discover. Marketplace Knowledge Work powinien już tam być. Kliknij filtr Code.

6. Wybierz Data, a potem kliknij Add. W niektórych wersjach przycisk ma etykietę Install.
Strona wtyczki wypisze, co dostałeś: zakładka Skills pokazuje 10 skilli, z których 7 uruchomisz z nazwy (analyze, explore-data, write-query, create-viz, build-dashboard, validate-data i data-context-extractor), a 3 ładują się w tle (sql-queries, data-visualization i statistical-analysis). Plik konektora w repozytorium wymienia Snowflake, Databricks, BigQuery, Definite, Hex, Amplitude (z osobnym wpisem EU) oraz Atlassian — żaden nie jest połączony, dopóki się nie zalogujesz. Strona katalogowa wtyczki Data pokazywała 7 655 instalacji 28 września 2026 r.
Jeśli dobrze czujesz się w terminalu, tę samą wtyczkę zainstalujesz do Claude Code dwoma poleceniami z README repozytorium:
claude plugin marketplace add anthropics/knowledge-work-plugins
claude plugin install data@knowledge-work-plugins
Jest jedna istotna różnica: wtyczka dodana z Customize synchronizuje się do Claude Code, ale wtyczka zainstalowana z linii poleceń zostaje na tej maszynie i nigdy nie trafi na twoje konto. Nasz przewodnik budowania wtyczek Claude Code szczegółowo omawia pracę w terminalu, więc tutaj trzymam się ścieżki desktopowej.
W planach Team i Enterprise właściciel ustawia każdą wtyczkę w jednym z 4 stanów: niedostępna, dostępna do instalacji, zainstalowana domyślnie lub wymagana. Administratorzy Enterprise mogą to nadpisywać per grupa, więc centrum pomocy ostrzega, że „wtyczki widoczne w katalogu mogą się różnić między grupami”. Jeśli brakuje Data w twojej zakładce Discover, zapytaj właściciela, zanim założysz, że marketplace jest zepsuty.
Krok 2: Połączenie źródła danych i uruchomienie komendy ze slashem
Wtyczka z niepołączonym magazynem danych potrafi tylko pisać SQL do wklejenia gdzie indziej, więc pierwszy realny krok to podłączenie źródła danych. Potem resztę zrobi komenda ze slashem.
Autoryzacja konektora
Dodanie wtyczki nie loguje cię do żadnej usługi. Otwórz zakładkę Connectors wtyczki, gdzie każdy wpis ma jeden z 3 stanów: Connected, Not connected (konektor jest na twoim koncie, ale nie zalogowałeś się), lub Not added. Kliknij Add tam, gdzie trzeba, potem Connect i dokończ logowanie do usługi w przeglądarce.

W planach Team i Enterprise właściciel najpierw dodaje konektor dla organizacji, a ty potem łączysz go swoim kontem.
Używaj uprawnień tylko do odczytu w magazynie danych, bo konektor z prawem zapisu pozwala Claude’owi uruchamiać dowolne polecenia udostępnione przez narzędzia, a w automatycznym trybie Cowork Claude sam decyduje, czy je wywołać. To oznacza:
-
Dla Snowflake — rola tylko z
SELECT -
Dla BigQuery — konto usługi z rolą Data Viewer
-
Dla Databricks — token przypisany do magazynu SQL tylko do odczytu
Jeśli któraś z tych platform jest ci obca, nasz przewodnik dla początkujących po Snowflake oraz tutorial BigQuery doprowadzą cię do pierwszego zapytania w jedno popołudnie.
Połączenie żyje na twoim koncie pod Customize, potem Connectors, więc autoryzujesz każdą usługę raz, a każda inna wtyczka z tym samym adresem serwera, np. wpis BigQuery we wtyczce Finance, z niego skorzysta.
Uruchomienie pierwszej komendy
Komenda write-query zamienia pytanie w języku potocznym na SQL w twoim dialekcie i to właśnie ten artefakt chcę, żebyś zobaczył — wrócę do niego w sekcji weryfikacji.
Zbudowałem małą bazę SQLite, shop.db, z 4 tabelami typowymi dla e-commerce i 1600 zamówieniami od 5 stycznia do 27 września 2026 r. Poniższa tabela definiuje schemat — każde zapytanie w tym artykule działa na nim.
|
Tabela |
Kolumny |
Jeden wiersz to |
|
|
|
Klient (240 wierszy) |
|
|
|
Produkt z katalogu w 1 z 5 kategorii (40 wierszy) |
|
|
|
Zamówienie ze statusem completed, refunded lub canceled (1 600 wierszy) |
|
|
|
Pozycja produktowa w zamówieniu, cena przed rabatem 0–25% (2 647 wierszy) |
Aby uruchomić komendę, wpisz / w polu wiadomości i wybierz write-query z wtyczki Data albo wpisz /data:write-query.
Od aktualizacji z 24 lutego 2026 r. wpisanie komendy umieszcza jej podpowiedź w polu wiadomości, a Claude może zadać ustrukturyzowane pytanie z numerowanymi wyborami zanim zacznie — tak jak na zrzucie ekranu Anthropic poniżej dla komendy /dashboard.

Ustrukturyzowany formularz uruchamiający komendę ze slashem w Cowork, pokazany przez Anthropic dla komendy /dashboard: podpowiedź komendy jest w polu wiadomości, a Claude zadaje pytanie z numerowanymi odpowiedziami przed startem. Źródło: Anthropic, 24 lutego 2026.
Mój request: przychód netto wg kategorii produktu dla ostatnich 8 tygodni, licząc tylko zamówienia completed i odejmując rabaty pozycji, w SQLite, ze schematem pod spodem.
Oto zwrócony SQL, bez edycji:
-- 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;
To dłuższe niż to, co napisałbym ręcznie — i w tej długości tkwi wartość. Każdy blok zapytania, zwany CTE (common table expression), robi jedno zadanie:
-
paramskotwiczy wszystko do jednej daty, więc łatwo przepiąć zapytanie. -
weeksjest rekurencyjne i gwarantuje wiersz dla tygodnia bez sprzedaży. -
weekly_category_revenuezostawia tylkostatus = 'completed'i stosuje rabat jako1 - discount_pct / 100.0, bo schemat mówi, że kolumna trzyma całe procenty 0–25. -
Końcowy
SELECTwypełnia luki zerami, więc wynik jest gotowy do wykresu.
Skill wypisał też pod zapytaniem swoje założenia, w tym że order_date musi być tekstem ISO 8601 (YYYY-MM-DD), by filtr zakresu działał, i że zwroty są całkiem pomijane.
Uruchomiłem zapytanie na shop.db i dostałem 40 wierszy, po jednym na tydzień i kategorię. Tutaj jest spivotowane tak, że każda kategoria to kolumna:
|
Tydzień od |
Audio |
Fitness |
Home Office |
Kitchen |
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 to największa kategoria w 5 z 8 tygodni i nigdy nie spada poniżej 8780. Home Office waha się najmocniej — od 5380 w tygodniu 10 sierpnia do 14 252 w tygodniu 31 sierpnia. Fitness kończy okres na swoim minimum 4149 — to ten rodzaj ruchu, który tygodniowy raport powinien wychwycić i który wtyczka z Kroku 4 rzeczywiście wskazuje.
Wykres poniżej to te same 40 liczb, po jednym panelu na kategorię.

Rysunek 2. Tygodniowy przychód netto dla zamówień completed wg kategorii produktu przez 8 pełnych tygodni, kończących się 27 września 2026 r., z wyniku write-query. Ilustracja autora.
Krok 3: Personalizacja zainstalowanej wtyczki
Instalacja trwa 2 minuty. Personalizacja to moment, w którym wtyczka zaczyna zarabiać na swoje miejsce, bo wtyczki Anthropic są pisane dla „firmy ogólnej”, a twoja nią nie jest. Masz 2 sposoby.
Korzystanie z Edit with Claude
Kliknięcie Edit with Claude otwiera zadanie Cowork, w którym Claude edytuje wtyczkę razem z tobą.

Centrum pomocy wciąż nazywa ten przycisk Customize. W aktualnej aplikacji otwórz menu wtyczki w prawym górnym rogu i wybierz Edit with Claude, co „otwiera nowe zadanie Cowork z prośbą do Claude’a o dostosowanie wybranej wtyczki”, a następnie kliknij Let’s go. Pod spodem uruchamia to skill cowork-plugin-customizer z wtyczki Plugin Management Anthropic.
Skill najpierw przeszukuje pliki wtyczki pod kątem placeholderów ~~, np. ~~data warehouse, potem sprawdza w połączonym Slacku lub narzędziach do dokumentów prawdziwe nazwy, a na końcu dopytuje ciebie o to, czego nie znalazł.
Konkretna edycja do zrobienia tutaj to nazewnictwo twoich tabel: powiedz, że tabele kanoniczne są w schemacie analytics, że fct_orders jest jedyną tabelą zamówień do zapytań i że wszystko z prefiksem stg_ jest zakazane. Claude wpisze te reguły do skilla SQL i pokaże spersonalizowaną wtyczkę w rozmowie — akceptujesz ją przyciskiem na tym wyniku.
Ręczna edycja plików
Drugi sposób to otworzyć pliki wtyczki i edytować je samemu — dobre przy zmianach, które już umiesz zapisać. Trzy edycje dają największy zwrot:
-
Dodaj kontekst firmowy do skilla. Na dole
skills/sql-queries/SKILL.mddopisz definicje metryk, tabele kanoniczne i te, których nie wolno zapytywać. Blok, którego używam, staje się własnym skillem w Kroku 4, a 4 jego linie wyglądają tak:
- 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.
-
Podmień konektory w
.mcp.json. Usuń wpisy usług, których nie używasz, i uzupełnij pusty URL dla Snowflake lub Databricks adresem twojego serwera, albo dodaj magazyn jako własny konektor w Customize, potem Connectors. -
Podbij wersję. Zmieniaj wersję w plugin.json przy każdej edycji, żeby odróżnić swoją kopię od oryginału.
Uwaga: Przewodnik po wtyczkach Cowork mówi, że Cowork sprawdza marketplace pod kątem aktualizacji i „jeśli edytowałeś pliki wtyczki lokalnie, Cowork wykryje zmianę i ostrzeże, zanim aktualizacja miałaby ją nadpisać”. Wtyczek zarządzanych przez organizację i wtyczek współdzielonych przez kolegów nie można edytować — najpierw skopiuj je do własnej.
Kolejna uwaga dla użytkowników Windows: zgłoszenie błędu z 11 września 2026 r. opisuje samodzielnie wgraną wtyczkę zamrożoną na pierwszej zainstalowanej wersji — nowe uploady, odinstalowania i reinstalacje wracają do niej po restarcie. Zgłoszenie było wciąż otwarte i bez obejścia 6 października 2026 r., więc jeśli twoje edycje przestaną „trzymać” na Windows, sprawdź ten wątek zamiast wgrywać w kółko.
Krok 4: Budowa własnej wtyczki od zera
Własna wtyczka to rozwiązanie, gdy żadna z marketplace nie zna twojego workflow. Przejdźmy próbę budowy: tygodniowy raport metryk z 1 skillem wiedzy, 1 komendą i 1 konektorem.
Każdy plik pokazuję w całości, bo produktem jest folder. Rysunek pokazuje pętlę, którą będziesz powtarzać.

Rysunek 3. Budowa własnej wtyczki: napisz i zweryfikuj pliki na komputerze, spakuj i wgraj, potem uruchom komendę w nowym zadaniu i wróć do plików po poprawki. Ilustracja autora.
Szkielet z Plugin Create
Plugin Create to nazwa Anthropic dla ścieżki prowadzonej konwersacją i we wrześniu 2026 znajduje się w menu Add. Przejdź do Customize, Plugins, Add, potem Create with Claude — to otwiera zadanie Cowork z już wpisaną prośbą.

Opisz pracę tak, jak opisałbyś ją koledze, odpowiedz na pytania Claude’a o konektory i kliknij Save plugin na karcie pliku, którą otrzymasz. To samo menu oferuje też Create a plugin — formularz i edytor dla osób, które już wiedzą, co powinien zawierać każdy plik.
Dla wtyczki z tego artykułu wpisałbym brief poniżej. Nazywa jedną komendę, jednego skilla w tle, jeden konektor i reguły — to te informacje, które pytania skilla discovery inaczej wyciągałyby z ciebie po kolei.
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.
Ścieżka prowadzona rozmową uruchamia skill create-cowork-plugin z wtyczki Plugin Management w marketplace Knowledge Work. Możesz zainstalować tę wtyczkę i uruchomić skill z nazwy. Zapyta o zadanie, komponenty i konektory, a potem spakuje wynik w plik .plugin.
Oto folder, z którym kończysz:
weekly-metrics-report/
├── .claude-plugin/
│ └── plugin.json
├── .mcp.json
├── README.md
└── skills/
├── metric-definitions/
│ └── SKILL.md
└── weekly-report/
└── SKILL.md
Manifest nazywa wtyczkę i przypina wersję:
{
"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"
}
Plik konektora listuje jeden serwer — ten sam endpoint BigQuery, którego używa wtyczka Data — więc czytelnik, który połączył BigQuery w Kroku 2, nie musi nic nowego autoryzować:
{
"mcpServers": {
"bigquery": {
"type": "http",
"url": "https://bigquery.googleapis.com/mcp"
}
}
}
README jest opcjonalne dla prywatnej wtyczki i wymagane, jeśli kiedyś zgłosisz ją do katalogu, więc napisałem je od razu:
# 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.
Pisanie skilla
Skill z wiedzą przechowuje kontekst wklejany co poniedziałek. Oto pełny skills/metric-definitions/SKILL.md:
---
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.
Opis to to, co sprawia, że ten skill uruchamia się niezawodnie — a mętny opis to zwykły powód, że skill nie strzela. Claude czyta tylko frontmatter, zanim zdecyduje się załadować skilla, a referencja skilli Claude Code mówi, żeby kluczowy use case był na początku.
Pisz opis jako sytuacje, w jakich będzie czytelnik („prośba dotyczy revenue, sales, orders, refunds, discounts”), a nie podsumowanie pliku, i użyj słów, które ludzie wypowiadają, bo Claude dopasowuje opis do ich wiadomości.
Jeszcze dwie celowe decyzje: user-invocable: false trzyma ten skill z dala od menu /, bo nikt nie powinien „uruchamiać” zestawu definicji. Treść jest napisana jako instrukcje do Claude’a w trybie rozkazującym („Nigdy nie licz revenue z products.list_price”), co zaleca skill autorski Anthropic. Sekcję tabel podmienisz na nazwy twojego magazynu.
Pisanie komendy
Komenda to też plik skilla, bo tak nowe wtyczki definiują nazwane akcje. Oto pełny skills/weekly-report/SKILL.md:
---
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.
Ten skill jest domyślnie user-invocable, więc pojawia się w menu / jako /weekly-metrics-report:weekly-report, a argument-hint dokumentuje jedyny argument, jaki przyjmuje.
Treść dwukrotnie nazywa skilla metric-definitions — raz w pierwszym zdaniu i raz w zasadach — tak komenda przywołuje skilla: Claude ładuje definicje, bo są nazwane i bo ich opis pasuje do prośby o revenue.
Jeśli wolisz format legacy, ta sama treść zadziała jako commands/weekly-report.md — z jedyną linią description w frontmatter.
Instalacja i testy
Przed wgraniem zweryfikuj folder względem katalogu nadrzędnego poleceniem claude plugin validate ./weekly-metrics-report — wymaga zainstalowanego Claude Code. U mnie wydrukowało ✔ Validation passed i wskazuje pole do poprawy, gdy walidacja nie przejdzie.
Następnie spakuj folder wtyczki. Oba układy działają: folder jako jedyny wpis najwyższego poziomu lub jego zawartość bezpośrednio — ważne, by archiwum zawierało jeden .claude-plugin/plugin.json (u mnie 3067 bajtów). Potem przejdź do Customize, Plugins, Add, Upload plugin i wybierz zip.
Nowo dodana wtyczka ładuje się do twojego następnego zadania Cowork, nie tego obecnego, więc rozpocznij nowe zadanie, zanim zaczniesz jej szukać. Jeśli nadal nie pojawia się w nowym zadaniu, zamknij i otwórz ponownie aplikację desktopową, zanim zaczniesz debugować pliki.
Przetestowałem wtyczkę przez Claude Code poleceniem claude --plugin-dir ./weekly-metrics-report, wskazałem shop.db i wpisałem /weekly-metrics-report:weekly-report. Claude wyliczył, że 28 września 2026 to poniedziałek, zraportował tydzień 21 września i zapisał weekly_report_2026-09-21.md. Oto jego podsumowanie, dosłownie:
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.
A to tabela kategorii z tego samego pliku:
|
Kategoria |
Ten tydzień (2026-09-21) |
Poprzedni tydzień (2026-09-14) |
Zmiana |
|
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% |
|
Kitchen |
$9,618.61 |
$7,344.70 |
+31.0% |
|
Outdoor |
$7,353.57 |
$6,204.45 |
+18.5% |
|
Razem |
$46,774.42 |
$35,087.07 |
+33.3% |
Porównaj ostatni wiersz pivotu z Kroku 2 z kolumną „Ten tydzień” tutaj: te same 5 liczb z 2 różnych wtyczek, bo obie trzymały się tej samej definicji przychodu netto.
Claude zrobił też 2 rzeczy, o które nie prosiłem. Zaznaczył, że 4 z 5 kategorii miały mniej niż 20 zamówień completed w co najmniej jednym tygodniu, stosując moją regułę „szumnego porównania” per kategoria. Wskazał też, że moja reguła „raportuj zmiany jako procenty” jest niejednoznaczna dla refund rate, który sam jest procentem — więc podał zmianę w punktach procentowych.
Obie to edycje, które wprowadziłbym do skilla jako następne — to właśnie pętla z Rysunku 3: zmień linijkę, podbij wersję, wgraj ponownie.
Gdy raport działa, wpisz /schedule w dowolnym zadaniu Cowork, aby wykonywał się co poniedziałek rano bez twojego udziału — zadania zaplanowane działają w chmurze Anthropic. Od 1 października 2026 r. zadania zaplanowane tworzone przez Claude domyślnie mają „Automatically approve”, jeśli organizacja na to pozwala — kolejny powód, by konektor miał tylko odczyt. Nasz tutorial Cowork Dispatch pokazuje też drugą opcję — start zadania z telefonu.
Współdzielenie wtyczki Cowork z zespołem
Folder wtyczki to jednostka dystrybucji, więc dzielenie się to kwestia miejsca publikacji. Wypchnij go do repozytorium GitHub z marketplace.json, który go listuje, a każdy, komu podasz URL, doda repozytorium pod Add, potem Add marketplace.
Na planach Team i Enterprise właściciel może zamiast tego zsynchronizować prywatne repozytorium lub wgrywać zipy do marketplace organizacji i ustawić dla każdej wtyczki status: dostępna, instalowana domyślnie lub wymagana — dla wszystkich albo dla konkretnych grup. Członkowie mogą udostępnić zbudowaną wtyczkę z jej menu z trzema kropkami albo wysłać ją przez Publish to org, a przewodnik centrum pomocy organization plugin guide omawia resztę.
Jak weryfikować wyniki wtyczki?
Weryfikujesz wynik wtyczki, czytając zapytanie, zanim zaufasz wykresowi, ograniczając zakres tego, co wtyczka może dotknąć, i wiedząc, gdzie zajrzeć, gdy skill nie zaskakuje. Nie potrzeba do tego działu bezpieczeństwa — wystarczy 5 minut nawyku.
Czytaj kod przed wykresem
Zapytanie, które wygląda wiarygodnie, może odpowiadać na nieco inne pytanie niż twoje. Oto jedno, które napisałem ręcznie dla tego samego pytania co w Kroku 2 — i działa bez błędu:
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;
Wyceniam każdą pozycję po katalogowym list_price zamiast po cenie naliczonej, ignoruję rabaty i liczę zwroty oraz anulacje, bo nigdzie nie filtruję po status. Uruchomienie obu zapytań na shop.db daje poniższe sumy — w ostatniej kolumnie widać, o ile krótka ścieżka zawyża przychód netto.
|
Kategoria |
Zapytanie wtyczki (netto, completed) |
Skrót (list price, wszystkie zamówienia) |
Zawyżenie |
|
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% |
|
Kitchen |
67 458,46 |
83 908,32 |
+24,4% |
|
Outdoor |
50 488,63 |
64 366,84 |
+27,5% |
|
Razem |
344 333,62 |
447 441,49 |
+29,9% |
Każda kategoria jest zawyżona o 24–33%, a wykres słupkowy obu wyników wygląda równie sensownie. Zapytanie wtyczki zrobiło to dobrze, bo skill kazał filtrować wcześnie i czytać schemat.
Jeśli czytanie 50-liniowego zapytania wciąż idzie ciężko, nasz Associate Data Analyst in SQL to najszybsza droga do biegłości. Przewodnik optymalizacji zapytań SQL wyjaśnia praktyki, którymi kieruje się skill write-query, jak filtrowanie przed łączeniem i unikanie SELECT *.
Trzymaj połączenia tylko do odczytu
Konektor z prawem zapisu naraża twoje tabele na 2 kierunki ryzyka: Claude może źle odczytać prośbę („wyczyść testowe zamówienia”) jako instrukcję do usunięcia, a także prompt injection — tekst w dokumencie lub na stronie, który niesie własne instrukcje. W planach Team i Enterprise ustawienie pozwalające członkom pomijać zatwierdzanie per zadanie dla narzędzi z zapisem jest domyślnie wyłączone.
Twardą barierą są hooki — uruchamiają się przed każdym wywołaniem narzędzia w Cowork i Claude Code, więc hook czytający SQL konektora i odrzucający wszystko poza SELECT to wzorzec, po który warto sięgnąć. Nasz przewodnik po hookach Claude Code pokazuje, jak taki napisać. Nie zbudowałem tego hooka na potrzeby artykułu — przetestuj go z twoim konektorem, zanim na nim polegniesz.
Gdy skill pudłuje albo nie strzela — najpierw sprawdź opis
Claude decyduje na podstawie frontmatter, więc otwórz skilla i sprawdź, czy jego opis nazywa sytuację, w której byłeś, i słowa, których użyłeś. Jeśli nie, dodaj je.
Potem wyzwól skilla ręcznie przez /, by potwierdzić, że sama treść działa. Sprawdź, czy przełącznik wtyczki jest włączony i konektor pokazuje „Connected”, i pamiętaj, że wtyczka ładuje się do następnego zadania, nie bieżącego. Najczęstszy winowajca to opis streszczający plik zamiast opisywania prośby.
Znaj stan produktu
Cowork jest ogólnie dostępny od 9 kwietnia 2026 r. Wtyczki wystartowały jako podgląd badawczy 30 stycznia 2026 r. i są dziś dostępne we wszystkich płatnych planach. 11 sierpnia 2026 Anthropic rozszerzył zasięg Compliance API na sesje Cowork na desktopie, w sieci i na urządzeniach mobilnych.
Dwie luki w obecnym centrum pomocy: transkrypty lokalnych sesji desktopowych nie mają jeszcze endpointu do usuwania, a monitorowanie OpenTelemetry „nie zastępuje logów audytowych dla celów compliance”.
Jeśli twoja organizacja przetwarza dane zdrowotne USA na planie Enterprise gotowym na HIPAA, Cowork jest objęty twoją BAA dopiero, gdy administrator zastosuje konfigurację HIPAA — a wtedy Cowork nie może działać w chmurze. Jeśli twoje dane są regulowane, uzyskaj akcept compliance, zanim wtyczka dotknie tabel produkcyjnych.
Na koniec
Masz teraz 3 wtyczki: wtyczkę Data, którą zainstalowałeś, kopię dostosowaną do twoich nazw tabel i tygodniowy raport, który zbudowałeś z 5 plików. Trzecią bym zostawił — trzyma 40 linijek kontekstu, które kiedyś były wklejane co poniedziałek, i trzyma je tylko raz.
Zasada, kiedy warto budować wtyczkę, jest krótka: wtyczka ma sens, gdy workflow się powtarza, a kontekst pozostaje stabilny — to opis tygodniowego raportu, checklisty przeglądu kontraktu czy przygotowania do rozmowy sprzedażowej. Jednorazowa analiza jej nie potrzebuje — wklej kontekst i idź dalej.
A jeśli zastanawiasz się, które powtarzalne workflowy w twojej firmie powinny dostać takie traktowanie jako pierwsze, nasz kurs Generative AI for Business jest zbudowany dokładnie wokół tego pytania. Aby wejść głębiej w model stojący za tym wszystkim, kurs Introduction to Claude Models omawia promptowanie i pracę wieloturową z Claude API.
FAQ dotyczące wtyczek Claude Cowork
Czym są wtyczki Claude Cowork?
Wtyczki Claude Cowork to instalowalne pakiety łączące skille, komendy ze slashem, konektory, a w Cowork i Claude Code także sub-agentów i hooki, dzięki czemu Claude działa jak specjalista dla jednej roli. Anthropic dodał je do Cowork 30 stycznia 2026 r. wraz z 11 wtyczkami open source i są dostępne we wszystkich płatnych planach Claude.
Jaka jest różnica między wtyczką Claude Cowork a skillem?
Skill to pojedynczy plik SKILL.md, który uczy Claude’a jednego zadania i uruchamia się, gdy Claude uzna go za istotny. Wtyczka to spakowany zestaw skilli, komend i konektorów dla całej funkcji, i to ona jest jednostką instalacji, współdzielenia i wersjonowania.
Jak zainstalować wtyczkę Claude Cowork?
Otwórz Customize w lewym pasku bocznym aplikacji desktopowej Claude, przejdź do karty Plugins, otwórz Discover, wybierz wtyczkę i kliknij Add. Wtyczka zapisuje się na twoim koncie, więc pojawi się także w czacie i zsynchronizuje do Claude Code po zalogowaniu tym samym kontem.
Czy wtyczki Cowork działają w Claude Code i w czacie?
Tak dla skilli, komend i konektorów — ładują się w czacie, Cowork i Claude Code. Sub-agenci i hooki działają tylko w Cowork i Claude Code, a lokalne serwery MCP tylko w Claude Code i w sesjach Cowork uruchamianych na twoim komputerze.
Czy mogę zbudować wtyczkę Claude Cowork bez kodowania?
Tak. Wtyczka to folder plików Markdown i JSON, a opcja Create with Claude pod Customize > Plugins > Add prowadzi cię przez to w rozmowie i zapisuje wynik na twoim koncie. Ręczne pisanie plików wymaga edytora tekstu i narzędzia do zip — cała wtyczka weekly-report w tym artykule to 5 krótkich plików.