POWRÓT DO BLOGA
AI Implementation 3 marca 2026

Vibe coding z Claude Code: jak zbudować aplikację od zera z 10 agentami AI - framework S.H.I.P.

30 min Czechu

92% deweloperów w USA korzysta z AI codziennie. W ostatniej kohorcie Y Combinator (W25) aż 21% startupów deklaruje, że ponad 91% ich kodu napisała sztuczna inteligencja. Collins Dictionary ogłosił “vibe coding” Słowem Roku 2025. A Andrej Karpathy - człowiek, który wymyślił to pojęcie - w lutym 2026 stwierdził, że vibe coding to już przeszłość. Nastała era agentic engineering.

Co to znaczy dla Ciebie? Że nie musisz uczyć się programowania, żeby zbudować własne narzędzie. Musisz natomiast nauczyć się współpracować z zespołem agentów AI - definiować cele, nadzorować pracę i weryfikować wyniki.

W tym artykule przejdziesz ze mną od pustego folderu do działającego Campaign Performance Dashboard - aplikacji, która agreguje dane z kampanii reklamowych i wizualizuje CTR, CPC i ROAS w czasie rzeczywistym. Użyjesz do tego 10 agentów AI w Claude Code, mojego autorskiego frameworku S.H.I.P. i gotowych promptów, które możesz skopiować. Jeden weekend. Zero wcześniejszego doświadczenia z kodem. Zaczynamy.


Czym jest vibe coding i dlaczego marketerzy powinni go znać?

W lutym 2025 roku Andrej Karpathy - współzałożyciel OpenAI i były szef AI w Tesli - opublikował post, który zmienił sposób myślenia o programowaniu. Opisał podejście, w którym “po prostu widzisz rzeczy, mówisz rzeczy, uruchamiasz rzeczy i to głównie działa”. Nazwał je vibe coding. Rok później, w lutym 2026, sam Karpathy ogłosił, że to pojęcie jest już passé - bo AI przeszło od asystowania do autonomicznego działania. Nowy termin? Agentic engineering.

Vibe coding to podejście do tworzenia oprogramowania, w którym opisujesz w języku naturalnym, co chcesz zbudować, a AI generuje kod. Nie piszesz - nadzorujesz. Im bardziej zaawansowane narzędzie, tym mniej musisz interweniować.

Collins Dictionary nie bez powodu wybrał “vibe coding” na Słowo Roku 2025. To nie moda - to fundamentalna zmiana w relacji człowiek-komputer. A dla marketerów to coś jeszcze większego: koniec zależności od działu IT.

Jeśli chcesz zobaczyć, jakie narzędzia do vibe codingu istnieją na rynku i które wybrać na swoim poziomie zaawansowania, sprawdź mój przegląd 50 narzędzi AI dla marketerów. A jeśli wahasz się między Claude a innymi modelami, zacznij od porównania ChatGPT vs Claude vs Gemini.

PoziomNazwaCo robiszPrzykład narzędzia
1Vibe codingOpisujesz, AI generuje, Ty akceptujeszBolt.new, Lovable
2Guided vibe codingOpisujesz, AI generuje, Ty recenzujesz i korygujeszCursor, Windsurf
3Agentic engineeringDefiniujesz cel, AI planuje, buduje i testuje autonomicznieClaude Code, Devin

Ten artykuł operuje na poziomie 3 - agentic engineering z Claude Code. Dajesz cel. Agenci robią resztę. Ty nadzorujesz.


Co zbudujemy w tym tutorialu?

Campaign Performance Dashboard - narzędzie, które każdy marketer chciałby mieć, ale zwykle czeka tygodniami na dział IT lub płaci freelancerowi 5-10 tysięcy złotych.

+----------------------------------------------------------+
|  Campaign Performance Dashboard          [Logout] [PDF]  |
|----------------------------------------------------------|
|  Filtry: [Google Ads v] [Ostatnie 30 dni v] [Porównaj]   |
|----------------------------------------------------------|
|  +-- CTR --------+  +-- CPC --------+  +-- ROAS -------+ |
|  | 3,42% (+0,8%) |  | 1,24 PLN      |  | 4,2x          | |
|  |   ▲▲▲▲        |  |   ▼▼          |  |   ▲▲▲         | |
|  +---------------+  +---------------+  +---------------+ |
|                                                          |
|  [====== Wykres CTR w czasie ========================]   |
|  [====== Wykres CPC po kampaniach ===================]   |
|                                                          |
|  Tabela kampanii:                                        |
|  | Kampania     | Budżet  | Kliknięcia | CTR   | ROAS  ||
|  | Spring Sale  | 2500 PLN| 3400       | 3,8%  | 4,5x  ||
|  | Brand Aware  | 1200 PLN| 1800       | 2,1%  | 2,8x  ||
+----------------------------------------------------------+

Funkcjonalności:

  • Logowanie i rejestracja (JWT)
  • Import danych z CSV + mock API Google Ads i Meta Ads
  • Wykresy: CTR, CPC, ROAS w czasie (Recharts)
  • Filtrowanie po platformie, kampanii, zakresie dat
  • Porównywanie okresów (tydzień do tygodnia, miesiąc do miesiąca)
  • Eksport raportów do PDF
  • Responsive design (desktop + mobile)

Stack technologiczny: React 19 + TypeScript + Tailwind + Recharts (frontend), Node.js 20 + Express (backend), PostgreSQL + Prisma (baza danych), Docker + Vercel/Railway (deploy)

Jeśli interesuje Cię głębsza analiza dashboard analitycznych w kontekście marketingowym, zajrzyj do przewodnika po AI analityce marketingowej. A jeśli planujesz wykorzystać dane z takiego dashboardu do hiperpersonalizacji kampanii - tym bardziej warto mieć własne narzędzie zamiast polegać na gotowych raportach.

Kto co robi - 10 agentów mapowanych na framework S.H.I.P.

Szczegółowe konfiguracje każdego z 10 agentów opisałem w artykule o autonomicznym zespole deweloperskim AI. Tu skupiamy się na tym, jak ich użyć w praktyce - na konkretnym projekcie.

Faza S.H.I.P.AgentZadanie w projekcie Dashboard
S - ScopePM AgentUser stories, acceptance criteria, podział na epiki
H - HandoffArchitect AgentArchitektura systemu, API contract, diagram komponentów
H - HandoffDB Engineer AgentSchema PostgreSQL, relacje, migracje Prisma
I - ImplementFrontend Dev AgentReact components, wykresy Recharts, Tailwind UI
I - ImplementBackend Dev AgentExpress API, endpointy REST, logika biznesowa
I - ImplementQA Tester AgentTesty jednostkowe, integracyjne, E2E
P - PolishCode Reviewer AgentCode review, refaktoryzacja, jakość kodu
P - PolishSecurity Expert AgentAudyt bezpieczeństwa, OWASP Top 10
P - PolishDevOps AgentDockerfile, CI/CD pipeline, deploy
P - PolishDocumentation AgentREADME, API docs, komentarze w kodzie

Jak skonfigurować Claude Code do vibe codingu?

Zanim zaczniemy budować, musisz przygotować środowisko. Cały setup zajmuje 10-15 minut.

Wymagania

  • Node.js 20+ (sprawdź: node --version)
  • npm (instaluje się z Node.js)
  • Terminal (VS Code terminal, Windows Terminal, iTerm2)
  • Konto Anthropic z API key lub subskrypcja Claude Max

Instalacja Claude Code

npm install -g @anthropic-ai/claude-code

Po instalacji uruchom claude w terminalu. Przy pierwszym uruchomieniu CLI poprosi Cię o autentykację - API key z console.anthropic.com lub zalogowanie się na konto Claude Max.

Klonowanie repozytorium agentów

Konfiguracje 10 agentów są gotowe do pobrania. Sklonuj repozytorium i skopiuj folder .claude/agents/ do swojego projektu:

git clone https://github.com/pika-pikaa/Full-Stack-Dev-Team_ClaudeCodeCLI.git
mkdir marketing-dashboard && cd marketing-dashboard
cp -r ../Full-Stack-Dev-Team_ClaudeCodeCLI/.claude .

Jeśli nie znasz jeszcze Claude jako narzędzia, zacznij od mojego kompletnego przewodnika po Claude dla marketerów - znajdziesz tam fundamenty, na których buduję ten tutorial.

Claude Max vs API - co wybrać?

KryteriumClaude Max ($100/mies.)Claude API (pay-as-you-go)
KosztStały, przewidywalnyZmienny, zależy od użycia
LimitBrak limitu wiadomości w CLIPłacisz za tokeny
ModeleOpus 4.6, Sonnet 4.6, Haiku 4.5Wszystkie modele, wybór per zapytanie
Dla kogoRegularni użytkownicy, vibe coderzyDeweloperzy, API-heavy projekty
Agent TeamsTak (experimental)Tak
Typowy koszt projektu$100 flat$20-80 za weekend projektu

Moja rekomendacja: Claude Max za $100 miesięcznie. Przy intensywnym vibe codingu API potrafi zjeść tyle w jeden dzień. Max daje spokój głowy i brak limitu.


Jak napisać CLAUDE.md - konstytucję projektu?

CLAUDE.md to najważniejszy plik w Twoim projekcie. To “briefing” dla wszystkich agentów - definiuje standardy, stack technologiczny, konwencje i zasady pracy. Bez niego agenci generują kod w próżni. Z nim - działają jak zsynchronizowany zespół.

3 lokalizacje CLAUDE.md

~/CLAUDE.md              -> Globalne zasady (dla WSZYSTKICH projektów)
./CLAUDE.md              -> Zasady projektu (wersjonowane w Git)
./.claude/local/CLAUDE.md -> Lokalne overrides (nie commitowane)

Claude ładuje wszystkie trzy - od globalnego do lokalnego. Lokalne nadpisują projektowe, projektowe nadpisują globalne.

Gotowy szablon CLAUDE.md dla Marketing Dashboard

# Campaign Performance Dashboard

## Stack
- Frontend: React 19, TypeScript strict, Tailwind CSS 4, Recharts
- Backend: Node.js 20, Express 5, TypeScript
- DB: PostgreSQL 16, Prisma ORM
- Auth: JWT (access + refresh tokens)
- Testing: Vitest + React Testing Library + Playwright

## Konwencje
- Nazwy plików: kebab-case (campaign-chart.tsx)
- Komponenty React: PascalCase (CampaignChart)
- API routes: /api/v1/resource (REST)
- Commity: conventional commits (feat:, fix:, chore:)
- Zmienne env: .env.local (nigdy nie commituj)

## Struktura
/src
  /components    -> Reusable UI components
  /pages         -> Route pages
  /hooks         -> Custom React hooks
  /api           -> Backend routes
  /lib           -> Shared utilities
  /types         -> TypeScript types/interfaces
  /prisma        -> Schema and migrations

## Zasady
- Każdy komponent musi mieć testy
- API endpoints zwracają {data, error, meta}
- Błędy loguj przez centralny error handler
- Brak any w TypeScript - zawsze definiuj typy
- Max 200 linii na plik - podziel, jeśli więcej

Docelowo CLAUDE.md powinien mieć maksymalnie 150 linii. To ograniczenie kontekstowe - dłuższy plik zaczyna rozmywać uwagę modelu. Pisz zwięźle, konkretnie, bez wodolejstwa.

Skills i hooks jako rozszerzenia

Oprócz CLAUDE.md masz do dyspozycji dwa mechanizmy rozszerzające:

  • Skills (.claude/skills/) - gotowe “umiejętności”, które agent może wywołać (np. skill do generowania migracji Prisma)
  • Hooks (14 eventów: PreToolUse, PostToolUse, Stop, SessionStart i inne) - skrypty uruchamiane automatycznie przy określonych zdarzeniach (np. auto-lint po każdej edycji pliku)

Więcej o tym, jak konfigurować środowisko wieloagentowe, znajdziesz w artykule o zespołach agentów AI w marketingu, gdzie opisuję Orchestrator Pattern i architekturę komunikacji między agentami.


Faza S - jak zdefiniować zakres z AI Project Managerem?

S.H.I.P. - Faza Scope: Zanim napiszesz linijkę kodu, zdefiniuj CO budujesz, DLA KOGO i JAKIE są kryteria sukcesu. PM Agent tłumaczy Twoją wizję na język, który rozumieją pozostali agenci.

Prompt do PM Agenta

Używam tu frameworku CRISP, który opisałem szczegółowo w osobnym artykule. CRISP daje strukturę, która eliminuje niejednoznaczność:

claude "Działasz jako PM Agent. Kontekst: buduję Campaign Performance Dashboard
dla marketerów - SPA z React, backend Express, baza PostgreSQL. Użytkownicy:
marketing managerowie w firmach 10-200 osób, którzy ręcznie zbierają dane z
Google Ads i Meta Ads do Excela. Rola: rozłóż ten projekt na epiki, user
stories z acceptance criteria i zaproponuj kolejność implementacji. Wynik:
dokument w Markdown z estymacjami w story pointach. Precyzja: każda user story
musi mieć format 'Jako [rola], chcę [funkcja], żeby [wartość]' z 3-5
acceptance criteria."

Plan Mode - jak Claude Code planuje przed implementacją?

Claude Code ma wbudowany tryb planowania. Cykl wygląda tak:

  1. Explore - agent analizuje istniejący kod i kontekst
  2. Plan - tworzy plan działania (widoczny w terminalu)
  3. Implement - realizuje plan krok po kroku
  4. Commit - commituje zmiany z opisem

Możesz wymusić planowanie wpisując /plan lub naciskając Shift+Tab w trakcie pisania prompta. To kluczowe w fazie Scope - chcesz widzieć plan, zanim agent zacznie działać.

Przykładowy output PM Agenta

# Campaign Performance Dashboard - Project Breakdown

## Epic 1: Autentykacja (8 SP)
### US-1.1: Rejestracja użytkownika
Jako marketer, chcę się zarejestrować emailem i hasłem,
żeby mieć własne konto z prywatnymi danymi.

Acceptance Criteria:
- [ ] Formularz z polami: email, hasło, potwierdzenie hasła
- [ ] Walidacja: email unikatowy, hasło min. 8 znaków
- [ ] Po rejestracji automatyczne logowanie + redirect do /dashboard
- [ ] Hasło hashowane bcrypt, nigdy w plaintekście

### US-1.2: Logowanie
Jako zarejestrowany użytkownik, chcę się zalogować,
żeby uzyskać dostęp do moich dashboardów.

Acceptance Criteria:
- [ ] JWT access token (15 min) + refresh token (7 dni)
- [ ] Obsługa błędnych danych (komunikat bez ujawniania czy email istnieje)
- [ ] Protected routes - redirect do /login bez tokenu

## Epic 2: Import danych (13 SP)
### US-2.1: Import CSV
### US-2.2: Mock API Google Ads
### US-2.3: Mock API Meta Ads

## Epic 3: Dashboard i wizualizacje (21 SP)
### US-3.1: Wykresy CTR/CPC/ROAS
### US-3.2: Filtrowanie i porównywanie okresów
### US-3.3: Tabela kampanii z sortowaniem

## Epic 4: Eksport i UX (8 SP)
### US-4.1: Eksport do PDF
### US-4.2: Responsive design

Kolejność: Epic 1 → Epic 2 → Epic 3 → Epic 4
Łącznie: 50 story pointów, estymacja: 2-3 dni z agentami AI

To jest Twoja mapa drogowa. Każda user story staje się osobnym zadaniem dla odpowiedniego agenta. PM rozbił abstrakcyjną wizję “chcę dashboard” na konkretne, mierzalne deliverables.

Jeśli interesuje Cię, jak zarządzać takimi sprintami w metodyce zwinnej, polecam artykuł o frameworku S.P.R.I.N.T. dla zespołów Scrum.


Faza H - jak zaprojektować architekturę z AI Architektem?

S.H.I.P. - Faza Handoff: Architektura to most między wymaganiami a kodem. Architect Agent projektuje “szkielet” aplikacji, a DB Engineer definiuje strukturę danych. Bez tej fazy agenci implementacyjni budują na piasku.

Prompt do Architect Agenta

claude "Działasz jako Architect Agent. Przeczytaj CLAUDE.md i project breakdown
od PM Agenta. Zaprojektuj architekturę Campaign Performance Dashboard:
1) Diagram komponentów (frontend), 2) Architekturę API (backend),
3) Kontrakt API - listę endpointów z request/response,
4) ADR (Architecture Decision Records) dla kluczowych decyzji.
Stack: React 19, Express 5, PostgreSQL 16, Prisma. Monorepo z Turborepo."

Diagram architektury

+--------------------------------------------------+
|                    FRONTEND                       |
|  React 19 + TypeScript + Tailwind + Recharts      |
|                                                    |
|  [LoginPage] [DashboardPage] [ImportPage]          |
|       |              |              |              |
|  [AuthForm]   [ChartPanel]    [CSVUpload]          |
|               [FilterBar]     [APIConnect]         |
|               [CampaignTable]                      |
|               [DateComparator]                     |
|               [PDFExport]                          |
+---------------------+----------------------------+
                      | HTTP/REST
                      v
+---------------------+----------------------------+
|                     API                            |
|  Express 5 + TypeScript                            |
|                                                    |
|  /api/v1/auth/*     -> AuthController              |
|  /api/v1/campaigns/* -> CampaignController         |
|  /api/v1/metrics/*   -> MetricsController          |
|  /api/v1/export/*    -> ExportController           |
|                                                    |
|  Middleware: auth, validation, errorHandler         |
+---------------------+----------------------------+
                      | Prisma ORM
                      v
+---------------------+----------------------------+
|               POSTGRESQL 16                        |
|                                                    |
|  users | campaigns | metrics | imports             |
+--------------------------------------------------+

API contract - kluczowe endpointy

MetodaEndpointOpisAuth
POST/api/v1/auth/registerRejestracjaNie
POST/api/v1/auth/loginLogowanie, zwraca JWTNie
POST/api/v1/auth/refreshOdświeżenie tokenuTak
GET/api/v1/campaignsLista kampanii useraTak
POST/api/v1/campaigns/import/csvImport z CSVTak
POST/api/v1/campaigns/import/googleMock Google AdsTak
POST/api/v1/campaigns/import/metaMock Meta AdsTak
GET/api/v1/metrics?from=&to=&platform=Metryki z filtramiTak
GET/api/v1/metrics/compare?period1=&period2=Porównanie okresówTak
GET/api/v1/export/pdf?campaignId=Eksport PDFTak

Prompt do DB Engineer Agenta

claude "Działasz jako DB Engineer Agent. Na podstawie API contractu od Architecta
zaprojektuj schema PostgreSQL z Prisma ORM. Uwzględnij: users (auth),
campaigns (metadane kampanii), metrics (CTR, CPC, ROAS, impressions, clicks,
spend per dzień), imports (historia importów). Relacje: user hasMany campaigns,
campaign hasMany metrics, user hasMany imports. Dodaj indeksy na najczęstsze
zapytania (filtrowanie po dacie i platformie). Wygeneruj plik prisma/schema.prisma."

Schema bazy danych

-- Uproszczony ERD (Prisma wygeneruje migracje)

CREATE TABLE users (
    id          UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    email       VARCHAR(255) UNIQUE NOT NULL,
    password    VARCHAR(255) NOT NULL,
    created_at  TIMESTAMP DEFAULT NOW()
);

CREATE TABLE campaigns (
    id          UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    user_id     UUID REFERENCES users(id) ON DELETE CASCADE,
    name        VARCHAR(255) NOT NULL,
    platform    VARCHAR(50) NOT NULL, -- 'google_ads' | 'meta_ads'
    status      VARCHAR(20) DEFAULT 'active',
    created_at  TIMESTAMP DEFAULT NOW()
);

CREATE TABLE metrics (
    id            UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    campaign_id   UUID REFERENCES campaigns(id) ON DELETE CASCADE,
    date          DATE NOT NULL,
    impressions   INTEGER DEFAULT 0,
    clicks        INTEGER DEFAULT 0,
    spend         DECIMAL(10,2) DEFAULT 0,
    conversions   INTEGER DEFAULT 0,
    revenue       DECIMAL(10,2) DEFAULT 0,
    -- Computed: CTR = clicks/impressions, CPC = spend/clicks, ROAS = revenue/spend
    UNIQUE(campaign_id, date)
);

CREATE TABLE imports (
    id          UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    user_id     UUID REFERENCES users(id) ON DELETE CASCADE,
    source      VARCHAR(50) NOT NULL, -- 'csv' | 'google_api' | 'meta_api'
    file_name   VARCHAR(255),
    rows_count  INTEGER DEFAULT 0,
    status      VARCHAR(20) DEFAULT 'completed',
    created_at  TIMESTAMP DEFAULT NOW()
);

CREATE INDEX idx_metrics_campaign_date ON metrics(campaign_id, date);
CREATE INDEX idx_campaigns_user_platform ON campaigns(user_id, platform);

Architect Agent powinien także wygenerować ADR (Architecture Decision Records) - krótkie dokumenty uzasadniające kluczowe decyzje (dlaczego Prisma zamiast TypeORM, dlaczego JWT zamiast sesji). To przydaje się później, gdy Code Reviewer pyta “dlaczego tak?”.

Po więcej o konfiguracji agenta-architekta i jego pełnym system prompcie odsyłam do autonomicznego zespołu deweloperskiego AI.


Faza I - jak budować aplikację równolegle z 3 agentami?

S.H.I.P. - Faza Implement: Tu dzieje się magia. Trzej agenci pracują równolegle - frontend, backend i QA - każdy w swoim terminalu. Claude Code obsługuje to przez Git Worktrees, które tworzą izolowane kopie repozytorium.

Jak działa równoległość w Claude Code?

Otwierasz trzy terminale. Każdy uruchamia osobną instancję Claude Code. Dzięki Git Worktrees każdy agent pracuje na swojej kopii kodu, bez konfliktów:

# Terminal 1 - Frontend
cd marketing-dashboard
claude "/worktree frontend"

# Terminal 2 - Backend
claude "/worktree backend"

# Terminal 3 - QA
claude "/worktree qa"

Alternatywnie, jeśli masz dostęp do Agent Teams (experimental feature, od Opus 4.6), możesz uruchomić 2-16 agentów z jednego terminala. Ale na potrzeby tego tutoriala - trzy osobne terminale są prostsze i stabilniejsze.

Terminal 1 - Frontend Dev Agent

claude "Działasz jako Frontend Dev Agent. Przeczytaj CLAUDE.md, API contract
i schema DB. Zaimplementuj Epic 3 (Dashboard i wizualizacje) z project breakdown.
Zacznij od: 1) Layout z Tailwind (sidebar + main content), 2) ChartPanel
z Recharts (CTR line chart, CPC bar chart, ROAS area chart), 3) FilterBar
(platform select, date range picker, porównanie okresów), 4) CampaignTable
z sortowaniem. Używaj React 19 z Server Components gdzie to możliwe.
TypeScript strict, żadnych any."

Przykład kodu, jaki generuje Frontend Dev Agent:

// src/components/chart-panel.tsx
import { LineChart, Line, XAxis, YAxis, Tooltip, ResponsiveContainer } from 'recharts';
import type { MetricData } from '@/types/metrics';

interface ChartPanelProps {
  data: MetricData[];
  metric: 'ctr' | 'cpc' | 'roas';
  comparisonData?: MetricData[];
}

export function ChartPanel({ data, metric, comparisonData }: ChartPanelProps) {
  const formatValue = (value: number) => {
    switch (metric) {
      case 'ctr': return `${(value * 100).toFixed(2)}%`;
      case 'cpc': return `${value.toFixed(2)} PLN`;
      case 'roas': return `${value.toFixed(1)}x`;
    }
  };

  return (
    <div className="rounded-xl border border-zinc-200 bg-white p-6 shadow-sm">
      <h3 className="mb-4 text-sm font-medium text-zinc-500 uppercase tracking-wide">
        {metric.toUpperCase()} w czasie
      </h3>
      <ResponsiveContainer width="100%" height={300}>
        <LineChart data={data}>
          <XAxis dataKey="date" tick={{ fontSize: 12 }} />
          <YAxis tickFormatter={formatValue} tick={{ fontSize: 12 }} />
          <Tooltip formatter={(value: number) => formatValue(value)} />
          <Line
            type="monotone"
            dataKey={metric}
            stroke="#6366f1"
            strokeWidth={2}
            dot={false}
          />
          {comparisonData && (
            <Line
              type="monotone"
              data={comparisonData}
              dataKey={metric}
              stroke="#a5b4fc"
              strokeWidth={2}
              strokeDasharray="5 5"
              dot={false}
            />
          )}
        </LineChart>
      </ResponsiveContainer>
    </div>
  );
}

Terminal 2 - Backend Dev Agent

claude "Działasz jako Backend Dev Agent. Przeczytaj CLAUDE.md, API contract
i schema Prisma. Zaimplementuj: 1) Auth endpoints (register, login, refresh)
z bcrypt + JWT, 2) Campaign CRUD, 3) Metrics endpoint z filtrami (platform,
date range) i porównywaniem okresów, 4) CSV import parser, 5) PDF export
z puppeteer. Middleware: authGuard, validateRequest (Zod), errorHandler.
Każdy endpoint zwraca {data, error, meta}."

Przykład kodu, jaki generuje Backend Dev Agent:

// src/api/controllers/metrics.controller.ts
import { Request, Response } from 'express';
import { prisma } from '@/lib/prisma';
import { z } from 'zod';

const metricsQuerySchema = z.object({
  from: z.string().date(),
  to: z.string().date(),
  platform: z.enum(['google_ads', 'meta_ads', 'all']).default('all'),
  campaignId: z.string().uuid().optional(),
});

export async function getMetrics(req: Request, res: Response) {
  const query = metricsQuerySchema.parse(req.query);
  const userId = req.user.id;

  const where = {
    campaign: {
      userId,
      ...(query.platform !== 'all' && { platform: query.platform }),
      ...(query.campaignId && { id: query.campaignId }),
    },
    date: {
      gte: new Date(query.from),
      lte: new Date(query.to),
    },
  };

  const metrics = await prisma.metric.findMany({
    where,
    orderBy: { date: 'asc' },
    include: { campaign: { select: { name: true, platform: true } } },
  });

  const aggregated = metrics.map((m) => ({
    date: m.date,
    campaign: m.campaign.name,
    platform: m.campaign.platform,
    impressions: m.impressions,
    clicks: m.clicks,
    spend: Number(m.spend),
    ctr: m.impressions > 0 ? m.clicks / m.impressions : 0,
    cpc: m.clicks > 0 ? Number(m.spend) / m.clicks : 0,
    roas: Number(m.spend) > 0 ? Number(m.revenue) / Number(m.spend) : 0,
  }));

  res.json({ data: aggregated, error: null, meta: { count: aggregated.length } });
}

Terminal 3 - QA Tester Agent

claude "Działasz jako QA Tester Agent. Przeczytaj CLAUDE.md i cały kod
wygenerowany przez Frontend i Backend agentów. Napisz testy według piramidy
70/20/10: 70% unit (Vitest), 20% integration (Supertest), 10% E2E (Playwright).
Zacznij od: 1) Unit testy dla metrics controller (edge cases: puste dane,
niepoprawne daty, brak uprawnień), 2) Integration testy dla auth flow
(register -> login -> access protected route), 3) E2E test: login -> import CSV
-> widok dashboard -> eksport PDF."

Przykład testu integracyjnego:

// tests/integration/auth.test.ts
import { describe, it, expect, beforeAll, afterAll } from 'vitest';
import request from 'supertest';
import { app } from '@/app';
import { prisma } from '@/lib/prisma';

describe('Auth flow', () => {
  const testUser = {
    email: 'test@example.com',
    password: 'SecurePass123!',
  };

  afterAll(async () => {
    await prisma.user.deleteMany({ where: { email: testUser.email } });
  });

  it('powinien zarejestrować nowego użytkownika', async () => {
    const res = await request(app)
      .post('/api/v1/auth/register')
      .send(testUser);

    expect(res.status).toBe(201);
    expect(res.body.data).toHaveProperty('accessToken');
    expect(res.body.data).toHaveProperty('refreshToken');
  });

  it('powinien zalogować istniejącego użytkownika', async () => {
    const res = await request(app)
      .post('/api/v1/auth/login')
      .send(testUser);

    expect(res.status).toBe(200);
    expect(res.body.data.accessToken).toBeDefined();
  });

  it('powinien odrzucić dostęp bez tokenu', async () => {
    const res = await request(app)
      .get('/api/v1/campaigns');

    expect(res.status).toBe(401);
    expect(res.body.error).toBe('Unauthorized');
  });
});

Wskazówki do fazy implementacji

  • /clear między taskami - czyści kontekst. Po skończeniu jednego epiku wyczyść i załaduj nowy. Agent nie musi pamiętać implementacji auth, gdy buduje wykresy.
  • Jeden prompt = jedno zadanie - nie każ agentowi zbudować “całego backendu”. Dawaj po jednym epiku, maksymalnie po jednej user story.
  • /compact - jeśli kontekst rośnie (dużo plików), użyj /compact do skondensowania dotychczasowej rozmowy.
  • /rewind - jeśli agent poszedł w złą stronę, cofnij do ostatniego dobrego punktu zamiast walczyć z błędami.

Jeśli chcesz pogłębić temat zaawansowanych workflow z AI, polecam artykuł o workflow AI power usera, gdzie opisuję techniki pracy z wieloma modelami jednocześnie.


Faza P - jak dopracować i wdrożyć aplikację?

S.H.I.P. - Faza Polish & Push: Kod działa, ale “działa” to za mało. Faza P to różnica między prototypem a produkcją. Czterech agentów recenzuje, zabezpiecza, pakuje i dokumentuje Twój projekt.

Code Reviewer Agent

claude "Działasz jako Code Reviewer Agent. Przeczytaj cały codebase.
Zrób code review: 1) Znajdź code smells (powtórzenia, zbyt długie funkcje,
brak typów), 2) Sprawdź spójność z CLAUDE.md, 3) Zaproponuj refaktoryzację
z konkretnymi diff-ami. Format: plik -> problem -> sugerowana zmiana."

Przykładowy output Code Reviewera:

## Code Review - Campaign Performance Dashboard

### src/api/controllers/metrics.controller.ts
**Problem:** Logika obliczania CTR/CPC/ROAS powielona w kontrolerze i w testach.
**Sugestia:** Wynieś do src/lib/metrics-calculator.ts
**Priorytet:** Medium

### src/components/chart-panel.tsx
**Problem:** Brak obsługi pustego stanu (data.length === 0).
**Sugestia:** Dodaj EmptyState component z komunikatem "Brak danych dla wybranego okresu"
**Priorytet:** High

### src/api/middleware/auth.guard.ts
**Problem:** Token JWT weryfikowany synchronicznie bez try-catch.
**Sugestia:** Wrap w try-catch, zwróć 401 przy JsonWebTokenError
**Priorytet:** Critical

Security Expert Agent

45% kodu generowanego przez AI zawiera luki bezpieczeństwa (dane IBM). To nie jest powód, żeby nie używać AI do kodowania - to powód, żeby mieć Security Experta w zespole.

claude "Działasz jako Security Expert Agent. Przeprowadź audyt bezpieczeństwa
codebase pod kątem OWASP Top 10. Sprawdź: injection, broken auth, sensitive
data exposure, XSS, CSRF, insecure dependencies. Wygeneruj raport z severity
(Critical/High/Medium/Low) i konkretnymi fixami."
OWASPRyzykoCo sprawdzić w dashboardzieStatus
A01: Broken Access ControlCriticalCzy user widzi tylko SWOJE kampanie?Do weryfikacji
A02: Cryptographic FailuresHighBcrypt rounds >= 12, JWT secret w envDo weryfikacji
A03: InjectionHighPrisma parametrized queries, Zod validationDo weryfikacji
A05: Security MisconfigurationMediumCORS whitelist, Helmet.js headersDo weryfikacji
A07: XSSHighReact auto-escape, DOMPurify dla CSVDo weryfikacji
A09: Logging & MonitoringMediumStructured logging, no secrets in logsDo weryfikacji

Human oversight jest tu kluczowy. Agent znajdzie większość problemów, ale ostateczna odpowiedzialność za bezpieczeństwo spoczywa na Tobie. To zresztą wymóg EU AI Act - człowiek musi nadzorować systemy AI, szczególnie te podejmujące decyzje wpływające na dane użytkowników.

DevOps Agent

claude "Działasz jako DevOps Agent. Przygotuj: 1) Multi-stage Dockerfile
(build + runtime), 2) docker-compose.yml (app + postgres + redis),
3) GitHub Actions CI/CD pipeline (lint -> test -> build -> deploy to Railway).
Optymalizuj obraz Dockera pod rozmiar (Alpine, multi-stage)."
# .github/workflows/deploy.yml
name: CI/CD Pipeline

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  quality:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
          cache: 'npm'
      - run: npm ci
      - run: npm run lint
      - run: npm run type-check
      - run: npm run test:unit
      - run: npm run test:integration
        env:
          DATABASE_URL: ${{ secrets.DATABASE_URL }}

  deploy:
    needs: quality
    if: github.ref == 'refs/heads/main'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Deploy to Railway
        uses: bervProject/railway-deploy@main
        with:
          railway_token: ${{ secrets.RAILWAY_TOKEN }}
          service: marketing-dashboard

Documentation Agent

Documentation Agent generuje README, API docs i komentarze JSDoc. Nie będę tu wklejać pełnego output - wystarczy wiedzieć, że dostajesz gotowe README.md z sekcjami: Quick Start, API Reference, Environment Variables, Architecture Overview.


Jakich błędów unikać przy vibe codingu?

Po kilkudziesięciu projektach z Claude Code zebrałem listę błędów, które popełnia niemal każdy początkujący. Część z nich wynika z nawyków rodem z rozmów z chatbotami - vibe coding to inna dyscyplina.

BłądKonsekwencjaRozwiązanie
Jeden mega-prompt “zbuduj mi całą apkę”Agent gubi kontekst, produkuje niespójny kodDziel na małe zadania, jeden prompt = jedna user story
Brak CLAUDE.mdAgenci generują kod w różnych konwencjachNapisz CLAUDE.md PRZED pierwszym promptem
Ignorowanie code reviewDług techniczny rośnie z każdym promptemPo każdym epiku uruchamiaj Code Reviewera
Akceptowanie kodu bez zrozumieniaNie umiesz debugować, gdy coś się zepsujeProś agenta o wyjaśnienie kluczowych decyzji
Brak testów”Działa na moim komputerze” = nie działa nigdzie indziejQA Agent od pierwszego dnia, piramida 70/20/10
Pominięcie Security Experta45% kodu AI ma luki - Twojego to też dotyczySecurity audit przed każdym deploy
Nie używanie /clear i /compactKontekst rośnie, jakość odpowiedzi spada/clear między taskami, /compact przy długich sesjach

Dwa z tych błędów wynikają z problemów komunikacyjnych z AI - zbyt ogólne prompty i brak struktury. Jeśli chcesz to naprawić systemowo, wróć do frameworku CRISP i technik Chain-of-Thought, które pomagają strukturyzować myślenie AI krok po kroku.


Ile kosztuje vibe coding z Claude Code?

Zanim przeliczymy koszty, kontekst: freelance developer w Polsce wyceni Campaign Performance Dashboard na 3 000-8 000 PLN. Software house? 15 000-40 000 PLN, w zależności od scope i SLA. Czas realizacji: 2-6 tygodni.

Z Claude Code? Jeden weekend i koszty poniżej.

Porównanie narzędzi do vibe codingu

NarzędzieCenaDla kogoLimitMoc
Claude Max$100/mies. (~400 PLN)Regular vibe coderzyBez limitu wiadomościOpus 4.6, Agent Teams
Claude APIPay-as-you-goDeweloperzyBrak, płacisz za tokenyWszystkie modele
Cursor Pro$20/mies. (~80 PLN)Intermediate500 premium requestsGPT-4o, Claude Sonnet
Bolt.new Pro$25/mies. (~100 PLN)Beginnerzy10M tokenów/mies.Wielomodelowy

Porównanie z tradycyjnym developmentem

OpcjaKoszt (dashboard)CzasKontrolaIteracje
Freelancer3 000-8 000 PLN2-4 tyg.ŚredniaPłatne
Software house15 000-40 000 PLN4-8 tyg.NiskaW umowie
Claude Code + Ty400-800 PLN/mies.1-2 dniPełnaNieograniczone

Oczywiście, porównanie nie jest uczciwe w stu procentach. Freelancer i software house dają Ci gwarancję, support i doświadczenie. Claude Code daje Ci szybkość, kontrolę i niezależność - ale odpowiedzialność za jakość spoczywa na Tobie. Wybór zależy od tego, czego potrzebujesz.

Więcej o kosztach i porównaniach narzędzi znajdziesz w przeglądzie 50 narzędzi AI.


Vibe coding vs agentic engineering - co dalej w 2026?

Stoimy na progu zmiany, która przeformułuje całą branżę. Vibe coding był pierwszym krokiem - człowiek opisuje, AI pisze. Agentic engineering to krok drugi - człowiek definiuje cel, AI planuje, buduje, testuje i wdraża.

Agent Teams - przyszłość, która już działa

Od Opus 4.6 Claude Code oferuje experimental feature: Agent Teams. Zamiast ręcznie otwierać trzy terminale, uruchamiasz zespół 2-16 agentów z jednego polecenia. Agenci komunikują się między sobą (przez eventy TeammateIdle i TaskCompleted), dzielą zadania i synchronizują wyniki. To jeszcze wczesna wersja, ale kierunek jest jasny.

MCP - agenci podłączeni do świata

Model Context Protocol (MCP) to standard, który pozwala agentom łączyć się z zewnętrznymi API, bazami danych i narzędziami. Wyobraź sobie agenta, który nie tylko pisze kod do integracji z Google Ads, ale faktycznie połączy się z Twoim kontem Google Ads, pobierze dane i zaimportuje je do dashboardu. MCP to most między “generuję kod” a “wykonuję akcję”.

Rynek - liczby

Rynek agentów AI rośnie z 8,5 mld USD w 2026 do prognozowanych 52,62 mld USD w 2030, z CAGR na poziomie 46,3%. Anthropic podaje, że w Q1 2026 deweloperzy wciąż delegują w pełni autonomicznie tylko 0-20% zadań, nadzorując pozostałe 80-100%. Ale ta proporcja zmienia się z każdym kwartałem.

Jeśli interesuje Cię, jak trend agentowy wpływa na e-commerce i marketing, przeczytaj o agentic commerce i agentach AI w marketingu.


FAQ - najczęstsze pytania o vibe coding z Claude Code

Czy muszę umieć programować, żeby używać vibe codingu?

Nie musisz umieć pisać kodu, ale musisz rozumieć podstawowe koncepcje: co to jest API, baza danych, frontend vs backend. To jak prowadzenie samochodu - nie musisz budować silnika, ale musisz wiedzieć, co robi hamulec. Vibe coding obniża próg wejścia z “umiem pisać kod” do “umiem opisać, co chcę”. Dla narzędzi typu Bolt.new wystarczy zero wiedzy technicznej. Dla Claude Code - przydaje się orientacja w terminalu i strukturze projektu.

Ile czasu zajmuje zbudowanie aplikacji z Claude Code?

Zależy od złożoności. Campaign Performance Dashboard z tego tutoriala - realistycznie 1-2 intensywne dni (8-16 godzin). Prosty landing page - 30 minut. Chatbot FAQ - 2-3 godziny. Pełna aplikacja SaaS - 1-2 tygodnie. Kluczowe: czas spędzony na planowaniu (Faza S i H) skraca czas implementacji (Faza I) o 40-60%. Nie pomijaj CLAUDE.md i project breakdown.

Czy kod generowany przez AI jest bezpieczny?

Nie domyślnie. IBM raportuje, że 45% kodu generowanego przez AI zawiera luki bezpieczeństwa. Dlatego framework S.H.I.P. ma fazę Polish z dedykowanym Security Expert Agentem. Traktuj AI-generated code jak kod od juniora - działa, ale wymaga review. Nigdy nie wdrażaj na produkcję bez audytu bezpieczeństwa.

Claude Code vs Cursor - co wybrać?

Cursor to AI-native IDE - edytujesz pliki w edytorze, AI podpowiada i generuje. Claude Code to autonomiczny agent w terminalu - dajesz cel, agent realizuje. Cursor jest lepszy dla programistów, którzy chcą zachować pełną kontrolę. Claude Code jest lepszy, gdy chcesz delegować większe zadania. Moja rekomendacja: Cursor na codzienne kodowanie, Claude Code na budowanie nowych projektów od zera.

Ile kosztuje Claude Code miesięcznie?

Claude Max (rekomendowany dla vibe codingu) kosztuje $100/mies. (ok. 400 PLN). Opcja $200/mies. daje wyższe limity. API to pay-as-you-go - projekt typu dashboard to $20-80 w tokenach. Cursor Pro za $20/mies. jest tańszy, ale mniej autonomiczny. Szczegółowe porównanie znajdziesz w sekcji “Ile kosztuje vibe coding” powyżej.

Czy mogę używać Claude Code na Windows?

Tak. Claude Code działa na Windows, macOS i Linux. Na Windows potrzebujesz WSL2 (Windows Subsystem for Linux) lub Windows Terminal z Git Bash. Instalacja przez npm jest identyczna na wszystkich platformach. Jedyne ograniczenie: niektóre funkcje Docker mogą wymagać dodatkowej konfiguracji na Windows.

Jak Claude Code różni się od ChatGPT?

ChatGPT to konwersacyjny interfejs webowy - świetny do pytań, analizy i tworzenia treści. Claude Code to agent terminalowy z dostępem do systemu plików - czyta, pisze i uruchamia kod bezpośrednio w Twoim projekcie. ChatGPT “mówi Ci, co zrobić”. Claude Code “robi to za Ciebie”. To jak różnica między konsultantem a pracownikiem.

Czy vibe coding zastąpi programistów?

Nie w przewidywalnej przyszłości. Zmieni natomiast to, co programiści robią. Zamiast pisać boilerplate, będą projektować architektury, definiować standardy i nadzorować agentów. Dane Anthropic z Q1 2026: deweloperzy delegują w pełni autonomicznie tylko 0-20% zadań. Reszta wymaga ludzkiego nadzoru. Vibe coding nie zastąpi programistów - zastąpi programistów, którzy nie umieją współpracować z AI.

Co to jest CLAUDE.md i dlaczego jest ważny?

CLAUDE.md to plik konfiguracyjny, który definiuje “zasady gry” dla agentów AI w Twoim projekcie. Zawiera stack technologiczny, konwencje nazewnicze, strukturę folderów i zasady jakości. Bez niego każdy agent generuje kod według własnych domysłów. Z nim - wszyscy grają według tych samych reguł. Maksymalnie 150 linii, trzy lokalizacje (globalny, projektowy, lokalny).

Od czego zacząć przygodę z vibe codingiem?

Krok 1: Zainstaluj Claude Code (npm install -g @anthropic-ai/claude-code). Krok 2: Zbuduj coś prostego - landing page, kalkulator, formularz. Krok 3: Przeczytaj ten artykuł od początku i zbuduj dashboard. Krok 4: Dołącz do community vibe coderów. Nie zaczynaj od teorii - zaczynaj od budowania. Najgorsza aplikacja, którą zbudowałeś, jest lepsza od najlepszej, o której tylko myślałeś. Jeśli potrzebujesz więcej kontekstu o widoczności treści w erze AI, polecam artykuł o GEO - Generative Engine Optimization.


Podsumowanie - od pomysłu do deploy w jeden weekend

Przeszliśmy całą drogę. Framework S.H.I.P. dał Ci strukturę: Scope (zdefiniuj zakres z PM Agentem), Handoff (zaprojektuj architekturę z Architectem i DB Engineerem), Implement (zbuduj równolegle z Frontend, Backend i QA Agentami), Polish & Push (dopracuj z Code Reviewerem, Security Expertem, DevOps i Documentation Agentem). 10 agentów, 4 fazy, jeden dashboard.

To nie jest magia. To metodyka. Taki sam skok jakościowy jak przejście od ręcznego wysyłania maili do marketing automation. Różnica: dziś automatyzujesz nie wysyłkę, ale budowanie narzędzi.

Twoje następne kroki:

  1. Zainstaluj Claude Code i sklonuj repozytorium agentów - 15 minut
  2. Napisz CLAUDE.md dla swojego pierwszego projektu - skopiuj szablon z tego artykułu
  3. Zbuduj prosty projekt - zanim weźmiesz się za dashboard, zrób landing page lub kalkulator ROI
  4. Iteruj z S.H.I.P. - po pierwszym projekcie framework wejdzie Ci w krew

Jeśli chcesz zobaczyć, jak S.H.I.P. łączy się z innymi frameworkami (CRISP, JTBD, AIMS, H.E.A.R.T.), przeczytaj o Systemie Operacyjnym Marketera AI - to meta-framework, który spina wszystko w jeden workflow.

A jeśli zbudujesz swój dashboard lub dowolny inny projekt z S.H.I.P. - napisz do mnie. Chcę zobaczyć, co stworzysz.


Ten artykuł jest częścią serii o AI w marketingu na czechu.blog. Jeśli chcesz zacząć od podstaw, zacznij od kompletnego przewodnika po Claude. Jeśli interesuje Cię automatyzacja marketingu, przeczytaj o workflow automatyzacji z AI. A jeśli szukasz gotowego stacka narzędzi, zajrzyj do AI Marketing Stack i przewodnika po content marketingu w erze AI.

#Vibe Coding #Claude Code #AI Agents #Framework SHIP #Claude Opus 4.6 #Marketing Dashboard #Tutorial #Agentic Engineering #Full Stack Development #Prompt Engineering

Chcesz więcej praktycznych frameworków AI?

Dołącz do społeczności Strategic AI Implementation - co tydzień dzielę się metodami, które testowałem na setkach wdrożeń.