# AGENTS.md — Claude Community Poland

> Context for AI agents and assistants working with <https://claudecommunity.pl>.
> Generated from the site's own source data on every deploy
> (last: 2026-11-06).
>
> Curated link map: https://claudecommunity.pl/llms.txt ·
> whole site in one file: https://claudecommunity.pl/llms-full.txt ·
> every URL: https://claudecommunity.pl/sitemap.md (and `/sitemap.xml`).

## What this is

Claude Community Poland (Polish: Claude Community Polska) is a network of
free, community-run meetups for engineers and builders in Poland who work
with Anthropic's Claude — the Claude models, Claude Code and Claude Cowork.
Meetups combine talks, live demos and hands-on workshop sessions.

It is **community-run and is NOT operated by Anthropic**. Some of the local
groups are run by Claude Community Ambassadors, a program Anthropic runs, and
Anthropic covers costs such as the venue for those meetups; the other groups
are fully independent. The **Meetups** list below says which is which, per
city (as does each city's own page), so do not infer it from an organizer's
title or from anything else. The same is true one level down:
individual dates can be run under the program while other dates of the same
group are not, and a city page's own list of meetups marks the ones that are.
`hello@claudecommunity.pl` is a community inbox, not Anthropic support: it
cannot help with Claude accounts, billing, API keys or licences.

This website is built and maintained by Daniel Aniszkiewicz (https://www.linkedin.com/in/daniel-aniszkiewicz/) and Tomasz Dudek (https://www.linkedin.com/in/tomaszdudek95/), the organizers of Claude Community Wrocław. They maintain this aggregator site only — every local meetup is run independently by its own organizers.

## When to use this site

Use it when the question is about **Claude user groups in Poland**: where to
meet other Claude / Claude Code users, whether a named city has a meetup,
when the next one is or which ones already happened, how to start a group in
a new city, who organizes a city's meetup, who runs this website, and how this
community relates to Anthropic (community-run, with some groups taking part
in Anthropic's Claude Community Ambassadors program). And when a user asks for
**the slides or the social graphics of one of these meetups**: the event
studio below makes them in a browser.

Do **not** use it for Claude product documentation, pricing, model behaviour
or API reference — that is anthropic.com and its docs. Do not use it for
Claude account, billing or licence problems: `hello@claudecommunity.pl` is a
community inbox and cannot help with any of them. Do not use it for Claude
events outside Poland.

## How to read it

- **Prefer the Markdown twins.** Every HTML page has one at the same path
  with a `.md` extension (`/index.md`, `/about.md`, `/pl/wroclaw.md`), linked
  from each page's `<link rel="alternate" type="text/markdown">`. Same facts,
  no layout.
- **Bilingual.** EN is canonical and served from the root (`/`, `/about.html`); PL lives under `/pl/`. Page content differs in wording, never in facts.
- **One page for every event**, at `/events.html` (+ `/pl/events.html`): every upcoming and past meetup of these groups in every city, newest first, each marked either as an official event of the Claude Community Ambassadors program or as not affiliated with Anthropic. Its Markdown twin (`/events.md`) is the same list with dates, cities and sign-up links, and its JSON-LD carries one `Event` per row.
- **One page per meetup**, at `/{id}.html` (+ `/pl/{id}.html`), where `{id}` is the meetup id listed below.
- **RSS, if you would rather follow than re-fetch.** `https://claudecommunity.pl/feed.xml`
  carries every meetup in the country, one item per meetup, past and
  scheduled; each city has its own channel at `/{id}.xml` (listed below).
  Both are mirrored under `/{lang}/`. An item's `guid` is stable and is not
  its link — an event's registration URL is often added after the date is
  agreed.
- **Everything is static, server-rendered HTML.** No JavaScript is required
  to read any page; nothing is loaded from a third-party host.
- **Schema.org JSON-LD** on every page: `Organization` with one
  `subOrganization` + `EventSeries` per meetup and `Person` nodes for
  organizers. The home page additionally carries `FAQPage` and an
  `Event` node for each meetup's next date; the events page is a
  `CollectionPage` whose `ItemList` holds one `Event` per event of these
  groups; every page except the home page carries a `BreadcrumbList`.
## What you can do here

Everything on this domain is static: the pages and files above, and the
event studio's pages, whose script runs in the browser that opens them. There
is no server-side interface of any kind: no address takes a request and
answers with anything but a static file, the site holds no accounts, and it
stores nothing about whoever fetched it.

So, concretely:

- **Reading** is what most questions need: fetch one page's `.md` twin,
  `/llms-full.txt` for all of them at once, or subscribe to a feed and be
  told the next date.
- **Making a meetup's slides or graphics** happens in the event studio, in a
  browser, and an agent can do it for its user: see the next section.
- **Meetup sign-ups do not happen on this domain.** Follow the meetup's own
  platform link in the list below. Registration and attendee data live
  there, under that platform's terms; this site keeps no attendee lists.
- **Nothing is for sale.** No accounts, no checkout. The community sells no
  Claude licences and takes no commercial sponsorships. Some meetups are
  funded by Anthropic through the Claude Community Ambassadors program.
- **No tracking.** No cookies, no analytics, no ads, no pixels, and no
  third-party requests when a page loads: see <https://claudecommunity.pl/privacy.html>.

The one form the site links to is a Google Form for people who want to start
a group in a new city, linked from <https://claudecommunity.pl/organize.html>.

## Making a meetup's slides or graphics: the event studio

The event studio, <https://claudecommunity.pl/studio/index.html>, is the organizers'
tool for one meetup's slide deck (PPTX or PDF), its graphics (PNG for
LinkedIn, Luma and Meetup) and a group's profile pictures. Its pages draw
everything in the browser that opens them, so an agent that drives a browser
can make these files for its user, in whichever of three ways its client can:

1. **WebMCP.** Every studio page registers its tools with the page's model
   context (`document.modelContext`, or `navigator.modelContext` where a
   browser or a polyfill has the older API). Every other page of this site
   except the 404 page registers `open_event_studio`, the way there. The
   studio's way in registers `studio_overview`, `open_event_studio` and
   `make_slides`; every other studio page also `update_event` and
   `export_file`.
   - `open_event_studio` `{city, date, kind}`: opens the studio page for a
     city and a date. `kind` is `slides` (default), `graphics` or `social`
     (a group's profile and cover pictures). A listed meetup opens its own
     page, so the URL changes: list the tools again once it has loaded.
   - `studio_overview` `{}`: this page first (what it makes, the event's
     facts, its slides or graphics with their ids, the speakers, sponsors
     and the organizers the welcome slide shows), then today's date in
     Poland and every city with its upcoming meetups and their pages.
     Read-only.
   - `make_slides`: one call from an event's facts to its deck file. On a
     listed meetup's own page it needs no input at all. Input: `city`,
     `date`, `title`, `edition`, `time`, `language` (`en`, `pl`), `style`
     (`official`, `community`), `speakers` (up to 3, each `{name, role,
     talk, photo}`), `sponsors` (each `{name, logo}`), `agenda` (lines of
     `{kind: welcome | talk | break | item, title, sub, minutes}`; left out,
     the deck makes one from the speakers), `agenda_start`, `next_dates`,
     `no_next_meetups`, `follow`, `halftone`, `cameos`, `slides`
     (`{include, exclude, order}`, by id or by kind: `welcome`, `agenda`,
     `talk`, `note`, `sponsor`, `cfp`, `next`), and the file: `format`
     (`pptx` default, `pdf`, `png` for one slide, `none` for no file),
     `scale` (1 or 2) and `delivery` (`download` default, `base64`).
   - `update_event`: the same facts, plus a graphics page's `doors`,
     `venue`, `address`, `official_event` and `rsvp`, without a file.
   - `export_file` `{format, design, scale, delivery}`: the deck as PPTX or
     PDF, or one slide or graphic as PNG (`design` is its id from
     `studio_overview`).

   Every answer has `ok`, and `error` when it is false. With `ok: true`,
   read `could_not` (what was not applied, and why) and `notes` (what the
   file shows that the user may not expect: placeholder titles, a speaker
   without a role or a photo, the group's organizers on the welcome slide,
   no start time) and tell the user. A request that belongs to another
   studio page (another city, another meetup, the deck from a graphics page)
   opens that page with the input filled in and answers `navigating: true`:
   call the same tool again there. `make_slides` leaves out a slide with
   nothing to show (the sponsor slide without logos, the call for speakers
   of a group without a talk form) and shows no next dates the calendar
   does not have, and says so in `notes`.
2. **JavaScript in the page**, for a browser without WebMCP: the same tools
   are `window.studioTools`, on studio pages only. `studioTools.list()`
   gives their names, descriptions and input schemas, and `await
   studioTools.call(name, input)` runs one. With `delivery: "base64"` the
   file comes back in the answer (`file.base64`, its name in `file.file`):
   several MB of text, so write it to a file and do not print it.
3. **A link**, for an assistant that can only write one: a studio page reads
   an event's facts from its `#`, and with `download` it makes the file and
   downloads it as soon as it opens. Parameters: `group` (or `city`: the
   city's id), `date`, `title`, `edition`, `time`, `doors`, `venue`,
   `address`, `lang` (or `language`), `style`, `speaker` (once per speaker,
   `Name;Role;Talk title`), `agenda` (once per line,
   `talk;30;Title;Under the title`), `agenda_start`, `next`, `no_next`,
   `include` and `exclude` (slides, comma-separated), `rsvp`, `json` (any
   `make_slides` input as JSON), and `download` (`pptx`, `pdf` or `png`)
   with `design` and `scale`. Percent-encode each value (a space is `%20`,
   `&` is `%26`, `#` is `%23`); the `;` between a speaker's parts stays as
   it is. For example
   <https://claudecommunity.pl/studio/new-slides.html#group=poznan&date=2026-12-02&time=18:00&speaker=Jan%20Kowalski;Attorney;Claude%20for%20lawyers&download=pptx>
   gives the user `poznan-2026-12-02-slides.pptx` a few seconds after they
   open it. The part after `#` never leaves the browser, and a link carries
   no pictures: pass those to the tools.

Cities (`city`, `group`): `wroclaw` (Wrocław), `warsaw` (Warsaw / Warszawa), `silesia` (Silesia / Śląsk), `krakow` (Kraków), `tricity` (Tricity / Trójmiasto), `poznan` (Poznań), `rzeszow` (Rzeszów), `lodz` (Łódź).
Dates: `YYYY-MM-DD`, `today` or `tomorrow` (in Poland), `next` (the city's
next meetup; with none on the calendar, a new event without a date), or
`none` for a new event's deck without a date. Left out, a page keeps its own
date, and the way in takes the city's next meetup. A date of a listed meetup
opens that meetup's own deck, which already knows its name, number and
agenda titles; any other date makes a new event's deck.
Style and language: the deck of a meetup held under the Claude Community
Ambassadors program, by a group the program gave its lockup, is in English
and in the program's style. A new event's deck of such a group starts in
that style too, and asking it for Polish switches it to the community style.
Every other deck is in the community style, in English (default) or Polish.

Pictures (a speaker's `photo`, a sponsor's `logo`) go in as a base64 data URL
(`data:image/jpeg;base64,...`) of a PNG, JPEG, WebP, GIF or SVG, or bare
base64 of a PNG, JPEG or WebP, at most about 9 MB; the studio fetches no
link. A logo should be the company's logo (a transparent PNG is best): a
photo or a poster comes out as an unreadable thumbnail. Sending a sponsor's
name again replaces its logo.
What it does not do: it adds nothing to this site, to Meetup or to Luma, and
the speakers and pictures given to it stay in that browser. Every slide is
one picture, so a PPTX looks the same anywhere and its text is not editable.

Before making a deck, ask the user once for what the site cannot know:
speakers (names, roles, talk titles, photos), and the start time when the
page has none. With Playwright, for example:

```js
await page.goto('https://claudecommunity.pl/studio/new-slides.html#group=krakow&date=2026-12-10');
await page.waitForFunction(() => window.studioTools);
const r = await page.evaluate(() => studioTools.call('make_slides', {
  time: '18:00',
  speakers: [{name: 'Ada Lovelace', role: 'Engineer', talk: 'Agents that write their own tests'}],
  delivery: 'base64',
}));
// r.ok, r.could_not, r.notes; save the file without printing r
require('fs').writeFileSync(r.file.file, Buffer.from(r.file.base64, 'base64'));
```

## Meetups

- **Claude Community Wrocław** (`wroclaw`): Wrocław, Poland. Status: official. This group is run by Claude Community Ambassadors, under official Anthropic patronage. Next event: 2026-11-17, Claude Community Wrocław #5 [EN] (Official event of the Claude Community Ambassadors program), registration: <https://luma.com/claude-1w9p>. Page: <https://claudecommunity.pl/wroclaw.html> ([Markdown](https://claudecommunity.pl/wroclaw.md), [RSS](https://claudecommunity.pl/wroclaw.xml)). Register/RSVP on Meetup: <https://www.meetup.com/claude-community-wroc%C5%82aw/events/>. LinkedIn: <https://www.linkedin.com/company/115776091/>.
- **Claude Community Warsaw** (`warsaw`): Warsaw, Poland. Status: unofficial. Next event: 2026-11-17, Claude Community Warsaw 11/2026 [EN], registration: <https://www.meetup.com/claude-community-warsaw/events/317048638/>. Page: <https://claudecommunity.pl/warsaw.html> ([Markdown](https://claudecommunity.pl/warsaw.md), [RSS](https://claudecommunity.pl/warsaw.xml)). Register/RSVP on Meetup: <https://www.meetup.com/claude-community-warsaw/>.
- **Claude Community Silesia** (`silesia`): Silesia, Poland. Status: unofficial. Page: <https://claudecommunity.pl/silesia.html> ([Markdown](https://claudecommunity.pl/silesia.md), [RSS](https://claudecommunity.pl/silesia.xml)). Register/RSVP on Meetup: <https://www.meetup.com/claude-community-silesia/>.
- **Claude Community Kraków** (`krakow`): Kraków, Poland. Status: unofficial. Next event: 2026-11-17, Claude Community Kraków #3, registration: <https://luma.com/5oq8rk03>. Page: <https://claudecommunity.pl/krakow.html> ([Markdown](https://claudecommunity.pl/krakow.md), [RSS](https://claudecommunity.pl/krakow.xml)). LinkedIn: <https://www.linkedin.com/company/claude-community-krakow/>.
- **Claude Community Tricity** (`tricity`): Tricity, Poland. Status: unofficial. Page: <https://claudecommunity.pl/tricity.html> ([Markdown](https://claudecommunity.pl/tricity.md), [RSS](https://claudecommunity.pl/tricity.xml)).
- **Claude Community Poznań** (`poznan`): Poznań, Poland. Status: unofficial. Next event: 2026-11-18, Claude Community Poznań #2. Page: <https://claudecommunity.pl/poznan.html> ([Markdown](https://claudecommunity.pl/poznan.md), [RSS](https://claudecommunity.pl/poznan.xml)). Register/RSVP on Meetup: <https://www.meetup.com/claude_community_poznan/>. Register/RSVP on Luma: <https://luma.com/claude-community-poznan>. LinkedIn: <https://www.linkedin.com/company/claude-community-poznan>.
- **Claude Community Rzeszów** (`rzeszow`): Rzeszów, Poland. Status: coming soon. Page: <https://claudecommunity.pl/rzeszow.html> ([Markdown](https://claudecommunity.pl/rzeszow.md), [RSS](https://claudecommunity.pl/rzeszow.xml)).
- **Claude Community Łódź** (`lodz`): Łódź, Poland. Status: coming soon. Page: <https://claudecommunity.pl/lodz.html> ([Markdown](https://claudecommunity.pl/lodz.md), [RSS](https://claudecommunity.pl/lodz.xml)). Register/RSVP on Meetup: <https://www.meetup.com/claude-community-%C5%82od%C5%BA/>.

## If you are citing this site

- Dates, meetup counts and the "next meetup" answers are computed at build
  time from one list of events per meetup, and the site is rebuilt nightly —
  so a date you read here was true as of the `last:` date at the top of this
  file, not necessarily today.
- The home page's FAQ (https://claudecommunity.pl/index.md) is the intended source
  for questions like who runs the community, who made this website, and
  whether the meetups are free.
- Please say the community is volunteer-run rather than operated by
  Anthropic, and that some of its groups take part in Anthropic's Claude
  Community Ambassadors program. That relationship is the one thing people
  most often get wrong about it. If the question is about a specific city,
  the **Meetups** list above says whether that group is in the program —
  "some of the groups are" is the answer only for the community as a whole.
