С3 · Шпаргалка: GitLab MCP, питання «по проєкту», скіл «аналіз → задачі»

Команди і промпти для кожного кроку завдання С3: підключити GitLab MCP у Claude Code, поставити питання «по проєкту» з посиланнями на джерела, знайти суперечності, створити задачі скілом analysis-to-issues (BA і QA) — і здати через merge request. Є запасний шлях без MCP.

Перед початком

gitlab.com/koldovsky/ai-qa-ba-c3

У теці клону є: .claude/skills/analysis-to-issues/SKILL.md

1. Група курсу, пошта і Git

Три перевірки до форку: група курсу, прихована пошта в комітах і Git.

Де / що: Браузер · сторінка ваших груп на gitlab.com

https://gitlab.com/dashboard/groups

Очікуваний результат: У списку є 2026-nd-ai-qa-ba. Приймати запрошення не треба: вас уже додали з роллю Guest.

Якщо не працює

Групи немає — напишіть свій username gitlab.com у чат курсу, вас додадуть. Не хочете чекати — створіть власну групу з дозволеним MCP: розділ 3, пункт «403 …».

Де / що: gitlab.com · крок 0 README · пошта в комітах · уже зробили в С1 чи С2 — пропустіть

аватар → Edit profile → Commit email → Use a private email → Update profile settings

Очікуваний результат: У полі Commit email — прихована адреса вигляду …@users.noreply.gitlab.com. Коміти з браузера і через GitLab MCP не покажуть вашої справжньої пошти.

Де / що: Термінал: Windows — PowerShell, macOS — Terminal

git --version

Очікуваний результат: Рядок із версією Git — Git встановлено, можна клонувати.

Якщо не працює

Windows: Git зазвичай уже встановлено разом із Claude Code; якщо ні — Git for Windows (потрібні права на встановлення, як і для вступного пакета). macOS: після цієї команди система сама запропонує встановити Git.

Навіщо група курсу

GitLab.com дає доступ до MCP лише членам групи, у налаштуваннях якої MCP дозволено. Без цього вхід у браузері проходить, а GitLab відповідає 403 «MCP server not enabled for any of your groups». Група курсу порожня: членство нічого не відкриває і не змінює у ваших проєктах — це лише дозвіл на MCP. Форк робите як звичайно — у свій особистий простір.

Що потрібно

Claude Code зі вступного пакета (інший агент із підтримкою MCP теж підійде, але інструкція — лише для Claude Code); акаунт на gitlab.com — той самий, що в С1–С2; Git; членство в групі курсу. Підключення MCP займає ≈10 хвилин.

2. Форк і клон

Спершу форк — задачі ви створюватимете саме у своїй копії. Потім клон: Claude Code бере скіл і .mcp.json з теки, у якій ви його запустили.

Де / що: Браузер · сторінка gitlab.com/koldovsky/ai-qa-ba-c3

Fork → namespace: ваш username → Fork project

Очікуваний результат: Відкрилася ваша копія: gitlab.com/ваш-username/ai-qa-ba-c3.

Якщо не працює

Форк робіть зі сторінки koldovsky/ai-qa-ba-c3, а не з чужої копії — інакше в merge request потраплять чужі файли.

Де / що: Термінал: Windows — PowerShell, macOS — Terminal · замініть ваш-username на свій username gitlab.com

cd ~
git clone https://gitlab.com/ваш-username/ai-qa-ba-c3.git
cd ai-qa-ba-c3

Очікуваний результат: Тека ai-qa-ba-c3 у домашній теці, термінал — у ній. Усередині — README.md, SETUP.md, .mcp.json, kb/ і .claude/skills/analysis-to-issues/SKILL.md.

Якщо не працює

Не вдалося клонувати — найчастіше помилка в username. Скопіюйте адресу зі своєї копії: Code → Clone with HTTPS — і вставте її після git clone.

Задачі у форк не копіюються — так задумано

Історію задач агент читає в koldovsky/ai-qa-ba-c3, а нові задачі створює у вашій копії. Міток у копії теж немає: тоді скіл створює задачу без міток і дописує в кінці опису рядок «Мітки: …». Це очікувано.

Не робіть git commit / git push з клону

Локальний коміт бере пошту з git config user.email — часто робочу, і вона стане публічною у форку. Файли відправляйте через GitLab MCP або в браузері — розділ 10. Якщо все ж через git — спершу задайте git config user.email з адресою з Edit profile → Commit email (вигляду …@users.noreply.gitlab.com).

3. Підключення GitLab MCP

Досить одного способу. Спосіб 1 — сервер із .mcp.json проєкту. Спосіб 2 — команда в терміналі, якщо Claude Code нічого не спитав. Вхід — через браузер (OAuth): жодних токенів копіювати не треба.

Де / що: Спосіб 1 · термінал у теці клону (cd ~/ai-qa-ba-c3)

claude

Очікуваний результат: Claude Code питає, чи довіряти теці, і чи вмикати MCP-сервер GitLab з .mcp.json проєкту — погодьтеся. Далі — вхід через /mcp (остання картка розділу).

Якщо не працює

Claude Code нічого не спитав — спосіб 2, наступна картка.

Де / що: Спосіб 2 · термінал, до запуску claude · одним рядком, з лапками навколо заголовка; для Windows і macOS однаково

claude mcp add -s user --transport http GitLab https://gitlab.com/api/v4/mcp --header "X-Gitlab-Enabled-Mcp-Server-Toolsets: core,work_items,repository"

Очікуваний результат: Сервер GitLab додано для всіх ваших тек (-s user). Перевірка — наступна картка.

Якщо не працює

Не набирайте вручну — копіюйте: одна пропущена лапка, і заголовок не спрацює. «MCP server GitLab already exists» — сервер уже додано, див. пункти нижче.

Де / що: Термінал · перевірка після способу 2

claude mcp list

Очікуваний результат: У списку є GitLab.

Де / що: Вхід · Claude Code у теці клону

/mcp

Очікуваний результат: Оберіть GitLab → Authenticate. У браузері увійдіть на gitlab.com (якщо ще не увійшли) → Authorize; сторінка скаже, що можна повернутися в термінал. Знову /mcp — біля GitLab стоїть connected.

Якщо не працює

Браузер не відкрився — Claude Code показує посилання в терміналі: скопіюйте його в браузер вручну. GitLab — failed або not connected: вийдіть (/exit) і знову запустіть claude; не допомогло — /mcp → GitLab → Reconnect або Authenticate ще раз.

403 «MCP server not enabled for any of your groups»

Вас немає в групі курсу (розділ 1). Напишіть свій username gitlab.com у чат; після додавання — /mcp → GitLab → Authenticate знову. Не хочете чекати — власна група: gitlab.com → New group → Create group → будь-яка назва → у групі Settings → General → Permissions and group features → MCP client access → позначка Allow connection to GitLab → Save changes. Якщо позначка вже стояла — зніміть, збережіть, поставте і збережіть ще раз. Потім /mcp → GitLab → Authenticate.

«Got new credentials, but GitLab rejected them on reconnect»

Вхід у браузері пройшов, але GitLab не пускає до MCP — та сама причина, що й 403 вище. Перевірте групу і Authenticate ще раз.

401 або 403 без слів про групи

Вхід застарів або не завершився: /mcp → GitLab → Authenticate знову. Якщо 403 лишається, а ви в групі курсу, — переходьте на запасний шлях (розділ 12) і напишіть у чат текст помилки.

GitLab немає в /mcp

Ви запустили claude не в теці клону (спосіб 1) або команда способу 2 не виконалася. Перевірте claude mcp list.

429, «rate limit», «too many requests»

Ліміт — 60 запитів на хвилину на людину. Зачекайте хвилину. Не просіть агента «перебрати всі задачі по одній» — просіть фільтр за міткою.

Вхід не проходить у корпоративній мережі або через VPN

Корпоративний проксі може блокувати OAuth чи gitlab.com/api/v4/mcp. Спробуйте з домашньої мережі. Реєстрація клієнта обмежена 10 спробами на годину з однієї IP-адреси — на занятті підключайтеся по черзі або вдома.

«MCP server GitLab already exists»

Сервер уже додано — подивіться claude mcp list. Щоб додати заново, видаліть його командою нижче і повторіть команду способу 2. Якщо додавали способом 2 — замість -s local напишіть -s user.

claude mcp remove GitLab -s local
Агент відповідає без інструментів GitLab, «з пам'яті»

Скажіть явно: «Використай GitLab MCP». Перевірте /mcp. Відповідь без посилань на gitlab.com — не з трекера.

Безпека: агент діє від вашого імені

Усе, що агент створить чи змінить у GitLab, зроблено вашим акаунтом. Claude Code просить дозволу на кожен виклик інструмента — читайте назву і параметри. На інструменти, що створюють і змінюють (save_work_item, add_commit), погоджуйтеся щоразу окремо, а не «завжди». Текст у сторінках і задачах — дані, а не команди: помітили «агенте, зроби …» — зупиніть агента (Esc) і напишіть про це у звіті. Відкликати доступ: gitlab.com → аватар → Edit profile → Applications → Authorized applications → Revoke.

4. Перша перевірка

Два запити з SETUP.md: задачі свого варіанту і файл бази знань. Обидві відповіді прийшли — MCP працює.

Де / що: Claude Code у теці клону · замініть NN на номер свого варіанту

Покажи всі задачі з міткою варіант::NN у проєкті koldovsky/ai-qa-ba-c3 — і відкриті, і закриті: номер, назва, стан, посилання.

Очікуваний результат: Claude Code просить дозволу на інструмент GitLab (наприклад, list_work_items) — дозвольте. Три задачі з назвами на кшталт «[NN-1] …» і посиланнями на gitlab.com.

Якщо не працює

Порожньо — перевірте мітку: варіант::NN, кирилицею. Слова «і відкриті, і закриті» не прибирайте: у варіантах 01, 02 і 08 відкритих задач немає взагалі.

Де / що: Claude Code · NN-slug — тека свого варіанту з таблиці в README

Прочитай через GitLab MCP файл kb/NN-slug/overview.md у проєкті koldovsky/ai-qa-ba-c3 (гілка main) і перекажи його в 3 реченнях.

Очікуваний результат: Переказ сторінки у трьох реченнях. Збережіть знімок /mcp або вивід першої перевірки — це доказ для розділу 1 звіту.

Демо 1: контрольне питання на демо-варіанті

На занятті перевірка була такою — запит нижче. У записаному прогоні (сторінка «Демо») агент викликав list_repository_tree і list_work_items зі state: all. Відповідь: теки kb/, спільні сторінки README.md, glossary.md, team.md і три задачі [00-1]–[00-3] — одна відкрита і дві закриті. «Нічого не змінюй» — корисна звичка: просимо агента читати, а не писати.

Через GitLab MCP покажи список файлів у kb/ проєкту koldovsky/ai-qa-ba-c3 і назви всіх задач з міткою варіант::00 — відкритих і закритих. Нічого не змінюй.

5. Питання «по проєкту»

L1: відповідь із посиланнями, щонайменше три джерела — сторінки kb/ і задачі трекера. Питання — таке, на яке відповідає людина, що щодня працює з функцією: «як зараз працює …», «що вирішили про …», «чому …». BA: адаптуйте скіл (розділ 7) ще перед цим кроком. Після зміни SKILL.md потрібна нова сесія, а розділи 5, 6 і 8 ідуть в одній сесії.

Де / що: Claude Code у теці клону · нова сесія · підставте команду, NN, NN-slug і своє питання; QA може написати «QA-інженер» замість «аналітик»

Ти — аналітик команди «<команда вашої функції з kb/team.md>» сервісу «Пакунок». Відповідай лише за джерелами проєкту koldovsky/ai-qa-ba-c3: сторінки kb/NN-slug/ (overview.md, decisions.md, support-faq.md) і задачі з міткою варіант::NN разом із коментарями. Читай через GitLab MCP. Інших варіантів не відкривай. Нічого не змінюй.
Питання: <ваше питання: як зараз працює …? що вирішили про …? чому …?>
Біля кожного твердження — посилання: файл і розділ або задача і коментар із датою. Якщо джерела розходяться — покажи обидва і скажи, яке новіше. Не додавай правил, яких немає в джерелах.

Очікуваний результат: Агент читає три сторінки і задачі з коментарями — Claude Code просить дозволу на get_repository_file, list_work_items, get_work_item. Відповідь: біля кожного твердження — посилання на gitlab.com з розділом або датою коментаря; де джерела розходяться — обидва і яке новіше.

Якщо не працює

Агент усе одно відкриває інші варіанти — зупиніть його (Esc) і повторіть запит. Задач не знайдено — перевірте мітку: варіант::NN, кирилицею. У записаному демо 2 агент спершу шукав за міткою «variant::00», нічого не знайшов і сам повторив запит з «варіант::00». Твердження без посилання — викресліть або винесіть у питання. Сесію не закривайте: наступний крок — суперечності в тих самих джерелах.

Перевірка посилань — самі, у браузері

1) Джерело існує: файл, розділ, задача, коментар. 2) Там написано саме це, а не переказ із домислом: «рекомендовано» ≠ «обов'язково». 3) Це найновіше: дата редакції сторінки, дата рішення, стан задачі, пізніші коментарі. 4) Без джерела — не факт. Відкрийте хоча б два посилання з відповіді, а краще три, і запишіть у звіт, що перевірили.

Демо 2: що показав записаний прогін

Питання на демо-варіанті 00: що бачить отримувач, який змінює адресу на поштомат, і куди підуть його наступні посилки. Агент прочитав три сторінки і задачі з коментарями і показав розбіжність: overview.md (редакція 26.05.2026) каже, що нове відділення автоматично стає основним, а власниця продукту в коментарі до [00-2] від 12.08.2026 вирішила — лише за галочкою «Зробити це відділення основним». Новіше — рішення в задачі. Повна відповідь — на сторінці «Демо».

Токени

Кожна прочитана сторінка і задача з коментарями — вхідні токени, а описи інструментів MCP лежать у контексті ще до першого питання. Звужуйте джерела: одна функція, одна мітка, конкретні файли. Цифри для звіту — розділ 11.

6. Суперечності й застарілі сторінки

L1: щонайменше дві. Для кожної — обидва джерела з посиланнями і що правильно зараз і чому: дати, хто і де ухвалив рішення.

Де / що: Claude Code · та сама сесія, одразу після питання «по проєкту»: «ці джерела» — ті, що агент уже прочитав

Знайди в цих джерелах суперечності й застарілі сторінки. Таблиця: що каже джерело А (посилання) | що каже джерело Б (посилання) | що правильно зараз і чому (дати, хто ухвалив) | тип: дві сторінки / сторінка ≠ задача / застаріла сторінка / рішення лише в коментарі. Окремо — відкриті питання без власника.

Очікуваний результат: Таблиця: джерело А і джерело Б з посиланнями, що правильно і чому, тип; окремо — відкриті питання без власника. У записаному демо агент знайшов чотири розбіжності і три відкриті питання. У звіт беріть ті, що перевірили самі.

Якщо не працює

Нова сесія — агент не знає, що таке «ці джерела»: спершу питання «по проєкту» (розділ 5). «Що правильно» обґрунтовано словом «логічніше» — попросіть дати і хто ухвалив рішення.

Чотири типи проблем

Сторінка ↔ сторінка: дві сторінки бази знань кажуть різне про одне правило — наприклад, продуктова сторінка і FAQ контакт-центру. База знань ↔ трекер: у задачі правило змінили, а продуктова сторінка стара. Застаріла сторінка: на ній стоїть дата, а пізніше рішення в журналі рішень чи в закритій задачі її скасувало. Прогалина: рішення є лише в коментарі задачі — або питання відкрите без власника.

Що правильно — за датами і рішеннями

Пізніше рішення власника продукту (у decisions.md чи в задачі) важить більше за старішу редакцію сторінки. Але новіше — не завжди правильне: якщо це лише пропозиція, а не ухвалене рішення, так і запишіть. Хто веде які сторінки і хто ухвалює рішення — у kb/team.md.

Як записати знахідку у звіт

Тип; джерело 1 — файл, розділ, дата редакції і цитата; джерело 2 — ключ задачі, чий коментар і коли, і цитата; що правильно і чому; хто знайшов — ви, агент чи обидва (у таблиці звіту, розділ 3, для цього є колонка «Хто знайшов», а окремої колонки для типу немає); що зробити — це вже вхід для скіла. Так не треба: «у документації є суперечності», «логічніше, що…», «треба уточнити».

7. Скіл «аналіз → задачі»: адаптувати

Скіл analysis-to-issues лежить у .claude/skills/ клону. Він завжди спершу показує чернетку і створює задачі лише після вашого «так». L1: адаптувати скіл і створити ним задачу у своїй копії; у звіті — що змінили. BA адаптує скіл ще перед розділом 5: після зміни SKILL.md потрібна нова сесія, а BA-крок (розділ 8) іде в тій самій сесії, що й суперечності.

Де / що: Claude Code у теці клону · приклад для QA зі слайда; BA — своя зміна, наприклад поле «Пріоритет» чи «Definition of Done» у шаблоні задачі BA

Прочитай .claude/skills/analysis-to-issues/SKILL.md. Я — QA. Додай до формату тест-кейсу поле «тест-дані». Покажи зміни і чекай мого «так».

Очікуваний результат: Агент показує зміни в SKILL.md і чекає вашого «так». Після зміни — нова сесія: перезапустіть claude у теці копії, щоб агент узяв нову версію скілу. У звіті, розділ 4, — 2–3 рядки: що змінили і навіщо.

Що можна адаптувати

Шаблони — поля, прийняті у вашій команді: пріоритет, компонент, оцінка, Definition of Done; для QA — серйозність, середовище, тест-дані. Мітки — свої замість тип::аналіз / тип::дефект. Цільовий проєкт — впишіть шлях своєї копії в розділ «Цільовий проєкт», щоб агент не питав щоразу. Мова і стиль — довжина назви, формат критеріїв (чек-лист чи Given/When/Then). Для L2 — власний скіл, що створює набір пов'язаних задач.

Скіл не підхопився

Попросіть явно — запит нижче. Причина зазвичай одна: claude запущено не в теці копії.

прочитай .claude/skills/analysis-to-issues/SKILL.md і працюй за ним

8. Скіл · BA: знахідки → задачі

Та сама сесія, що й суперечності: знахідки вже в контексті. Три кроки — чернетка, правка, «так».

Де / що: Claude Code · крок 1 з 3 · та сама сесія, після таблиці суперечностей · підставте номери рядків і свій username

Скористайся скілом analysis-to-issues, режим BA. Знахідки — суперечності з твоєї попередньої таблиці, лише <номери рядків, напр. перші дві>. Цільовий проєкт — моя копія ваш-username/ai-qa-ba-c3.

Очікуваний результат: Агент бере скіл, шукає дублікати у вашій копії і перевіряє мітки. Далі — таблиця чернетки і повний опис кожної задачі з посиланнями на обидва джерела, у кінці — питання «Створити ці задачі в ваш-username/ai-qa-ba-c3?». У трекері ще нічого немає.

Якщо не працює

Цільовим проєктом названо koldovsky/ai-qa-ba-c3 — зупиніть: задачі створюються лише у вашій копії. Сесію вже перезапускали — повторіть розділи 5–6 або вставте свою таблицю суперечностей у запит замість «з твоєї попередньої таблиці».

Де / що: Claude Code · крок 2 з 3 · правка чернетки — будь-яка ваша; це приклад із демо

У першій задачі додай власницю сторінки з kb/team.md.

Очікуваний результат: Оновлена чернетка і знову питання про створення. У трекері досі нічого немає.

Де / що: Claude Code · крок 3 з 3 · лише після того, як прочитали кожну задачу; можна й «Так, лише 1»; якщо задач більше чи менше, ніж дві, — «Так, створюй»

Так, створюй обидві.

Очікуваний результат: Claude Code просить дозволу на save_work_item: у параметрах project_id — ваша копія, а не koldovsky/ai-qa-ba-c3. Відповідь — таблиця з посиланнями вигляду https://gitlab.com/ваш-username/ai-qa-ba-c3/-/work_items/1. Міток у форку немає, тому задачі створено без них, а в кінці опису — рядок «Мітки: …».

Якщо не працює

Погоджуйте кожен виклик окремо, не «завжди». Відкрийте задачі в браузері: автор — ви, посилання на kb/ і на задачі курсу клікабельні.

Демо 3: що створив скіл у записаному прогоні

У записаному прогоні на сторінці «Демо» (демо-варіант 00) скіл створив дві задачі «Оновити overview.md …» з розділами «Контекст», «Що не так», «Що змінити», «Критерії приймання», «Джерела». Після правки в першій задачі з'явилася власниця сторінок за kb/team.md — бізнес-аналітикиня команди. Зв'язків relates_to агент не додавав: це різні проблеми. Чернетка і створені задачі — на сторінці «Демо». У конспекті описано інший записаний прогін — з однією задачею про support-faq.md.

Посилання у звіт

Повні, на свою копію: https://gitlab.com/ваш-username/ai-qa-ba-c3/-/issues/N або …/-/work_items/N — підходять обидва. Зв'язки між пов'язаними задачами скіл створює через link_work_items з типом relates_to; задачі курсу ваші задачі згадують повним URL в описі.

9. Скіл · QA: тест-кейси і дефект вимоги

Вхід — задача-«сторі» свого варіанту з міткою тип::сторі у koldovsky/ai-qa-ba-c3. Результат — kb/NN-slug/tests.md у вашій копії і задача на дефект вимоги.

Де / що: Claude Code у теці клону · можна в новій сесії · [NN-N] — ключ задачі з міткою тип::сторі: знайдіть її серед задач за посиланням «варіант::NN» з таблиці варіантів у README — воно показує і відкриті, і закриті (у варіантах 01, 02 і 08 сторі закрита); або попросіть агента знайти задачу з міткою тип::сторі — і відкриті, і закриті

Скористайся скілом analysis-to-issues, режим QA. Сторі — задача [NN-N] у koldovsky/ai-qa-ba-c3. Напиши тест-кейси у kb/NN-slug/tests.md і запропонуй дефект вимоги, якщо AC не покривають рішення з коментарів. Цільовий проєкт — ваш-username/ai-qa-ba-c3.

Очікуваний результат: Чернетка: таблиця тест-кейсів TC-01… з AC і типом, повний текст tests.md і чернетка дефектів вимоги. Нічого не збережено й не створено. У записаному демо — 8 тест-кейсів і 2 дефекти.

Якщо не працює

Очікуваний результат у тест-кейсі — лише з AC сторі або з бази знань, з посиланням. Чого немає в джерелах, агент має позначити «не визначено в джерелах», а не вигадати.

Де / що: Claude Code · та сама сесія, після чернетки · номер дефекту — з чернетки

Так: збережи tests.md локально, відправ його в main моєї копії ваш-username/ai-qa-ba-c3 через add_commit і створи дефект <номер з чернетки>. Решту дефектів поки не створюй.

Очікуваний результат: tests.md — у теці клону; посилання на коміт у main вашої копії; посилання на дефект у вашій копії. Дефект — без міток, з рядком «Мітки: …» у кінці опису.

Якщо не працює

«Labels not found …» — у форку немає міток. У записаному прогоні GitLab відхилив задачу з мітками, і агент за правилом скілу створив її без них. Зв'язку link_work_items зі сторі агент не створював: це була б зміна в проєкті курсу, а він лише для читання. Дефект посилається на сторі повним URL в описі.

Формат тест-кейсу і дефекту вимоги

Тест-кейс: «TC-01 · назва»; AC; тип — позитивний, негативний чи межовий; передумови; кроки; очікуваний результат. Дефект: назва «Дефект вимоги: <що суперечить чому>», до 80 символів; розділи «Де» (сторі й AC, тест-кейс у tests.md), «Кроки», «Очікувано (за AC)», «Фактично / що каже інше джерело», «Чому це дефект вимоги», «Що уточнити» — питання і кому (роль із kb/team.md).

10. Файл у свою копію на gitlab.com

QA — kb/NN-slug/tests.md; L3 — змінені сторінки бази знань. Агент створює їх у теці клону, а у звіт піде посилання на файл у вашій копії на gitlab.com. QA, що вже відправив tests.md у розділі 9 (add_commit), цей крок пропускає — лише перевірте, що файл відкривається у вашій копії. Розділ потрібен для сторінок L3 або якщо файл поки лише в теці клону.

Де / що: Claude Code у теці клону · крок 5 README

Відправ файл kb/NN-slug/tests.md у гілку main моєї копії ваш-username/ai-qa-ba-c3 через GitLab MCP

Очікуваний результат: Claude Code просить дозволу на add_commit; у відповіді — посилання на коміт. Файл відкривається у вашій копії: gitlab.com/ваш-username/ai-qa-ba-c3/-/blob/main/kb/NN-slug/tests.md. Коміт піде від вашого акаунта з прихованою поштою, якщо ви зробили крок 0 (розділ 1).

Де / що: Без агента · браузер · своя копія → тека kb/NN-slug/

+ → Upload file → Commit changes

Очікуваний результат: Файл — у гілці main вашої копії. Замість Upload file можна New file і вставити текст.

11. Токен-звіт, звіт і merge request

Як у С2: шаблон templates/c3-report.md → New file у своїй копії → коміт у нову гілку c3 → merge request у koldovsky/ai-qa-ba-c3.

Де / що: Claude Code · наприкінці роботи · токен-звіт, розділ 5

/cost

Очікуваний результат: Дані про використання сесії — перепишіть цифри у звіт і назвіть команду.

Якщо не працює

Цифр немає — /context (наступна картка) або оцінка з поясненням, наприклад «≈ N сторінок і задач × M токенів». Оцінка теж зараховується.

Де / що: Claude Code · що займає контекст

/context

Очікуваний результат: Скільки місця в контексті займають, зокрема, інструменти MCP і повідомлення. Порівняйте сесію з MCP і без нього.

Де / що: Крок 6 · своя копія: templates/c3-report.md → Copy file contents → головна сторінка копії → + → New file → поле назви файлу

submissions/ваш-username/c3.md

Очікуваний результат: Саме submissions, без templates/ на початку і без пробілу в кінці. Вставте шаблон і заповніть: прізвище та ім'я, варіант, роль, далі — розділи звіту.

Де / що: Крок 7 · Commit changes → повідомлення коміту

С3: мій звіт

Очікуваний результат: Далі Commit to a new branch c3 → галочка Create a merge request for this change → Commit changes.

Де / що: Крок 8 · форма merge request → Title

С3 · ваш-username · варіант NN

Очікуваний результат: Праворуч від стрілки — koldovsky/ai-qa-ba-c3 і main. Шаблон опису C3, чек-лист → Create merge request. У Changes — ваш звіт і, якщо є, ваші файли в kb/.

Якщо не працює

У Changes чужі файли — форк зроблено з чужої копії: зробіть новий форк зі сторінки koldovsky/ai-qa-ba-c3.

Шапка звіту

Прізвище та ім'я — як у списку учасників курсу, прізвище першим. У заголовку файлу «С3 · Звіт · ваш-username» — свій username на gitlab.com. Розділи 1–5 і 8 — L1, розділ 6 — L2, розділ 7 — L3.

**Прізвище та ім'я:** Прізвище Ім'я
**Варіант:** NN
**Роль:** QA / BA
**Виконані рівні:** L1 · L2 · L3
Чого уникати

Файл у templates/submissions/…, тека з іменем замість username, «submisions» з помилкою — скрипт такого файлу не знайде. Задачі, створені не у своїй копії. Форк із чужої копії. Посилання «на джерело» без перевірки — відкрийте хоча б два. Чернетку звіту може скласти й агент — але перевірте кожне посилання і кожне число.

Після строку

Строк — вівторок, 13 жовтня, 23:59. 14 жовтня, до заняття, кожен merge request перевіряє AI-рев'юер, частину робіт — ще й тренер. Відгук з'являється в коментарях до вашого merge request; бали в коментарях не публікуються. Не згодні з відгуком — напишіть коментар у своєму merge request. Розбір — на занятті 4.

12. Запасний шлях без MCP

MCP так і не запрацював — завдання все одно виконується: базу знань агент читає з клону, задачі ви відкриваєте в браузері, задачу у своїй копії створюєте вручну. L1 зараховується, бали за «MCP підключено» — 0. У звіті (розділ 1) — що саме не спрацювало, з текстом помилки.

Де / що: Браузер · замініть NN у кінці мітки на номер варіанту — або клікніть «варіант::NN» у таблиці варіантів README

https://gitlab.com/koldovsky/ai-qa-ba-c3/-/issues?label_name%5B%5D=%D0%B2%D0%B0%D1%80%D1%96%D0%B0%D0%BD%D1%82%3A%3ANN&state=all

Очікуваний результат: Задачі варіанту — і відкриті, і закриті. Відкрийте кожну: опис і коментарі з авторами й датами. У закритих часто лежать рішення.

Якщо не працює

Без &state=all видно лише відкриті задачі, а у варіантах 01, 02 і 08 відкритих немає зовсім.

Де / що: Claude Code (або інший агент, що читає файли) у теці клону · вставте між рядками === текст задач із браузера

Ти — аналітик команди «<команда вашої функції з kb/team.md>» сервісу «Пакунок». Відповідай лише за джерелами: локальні файли kb/NN-slug/ (overview.md, decisions.md, support-faq.md) у цій теці і задачі [NN-…] з коментарями — я скопіював їх з браузера нижче, між рядками ===.
Питання: <ваше питання>
Біля кожного твердження — посилання: файл і розділ або задача і коментар із датою. Якщо джерела розходяться — покажи обидва і скажи, яке новіше. Не додавай правил, яких немає в джерелах.

===
<для кожної задачі: ключ і назва, посилання, стан; опис; коментарі з автором і датою>
===

Очікуваний результат: Відповідь із посиланнями на локальні файли kb/ і на вставлені задачі; де джерела розходяться — обидва і яке новіше.

Якщо не працює

Звіряйте відповідь із файлами самі. У записаному прогоні запасного шляху агент прочитав kb/00-demo-change-address/overview.md (демо-варіант 00), але не згадав правило з розділу «Куди можна змінити»: «Поштомат можна обрати, лише якщо отримувач підтвердив номер телефону кодом із SMS». А питання було саме про поштомат.

Де / що: Браузер · своя копія · скіл без MCP видає готовий текст задачі: назва, опис, мітки

Issues → New issue → вставити

Очікуваний результат: Задача — у вашій копії; посилання на неї — у звіт. Міток у копії немає: залиште мітки рядком «Мітки: …» у кінці опису.

13. Jira і Confluence — за бажанням

Той самий патерн: трекер + база знань + агент через MCP + скіл «аналіз → задачі». У звіт С3 не входить і балів не додає. Деталі — JIRA-CONFLUENCE.md у репозиторії.

Де / що: Термінал · один раз

claude mcp add --transport http atlassian https://mcp.atlassian.com/v1/mcp/authv2

Очікуваний результат: Далі — claude → /mcp → atlassian → Authenticate → у браузері увійдіть в Atlassian, оберіть сайт (ваш-сайт.atlassian.net) і підтвердіть доступ. /mcp показує connected.

Де / що: Claude Code · перевірка · КЛЮЧ — ключ вашого навчального проєкту Jira

Покажи 3 останні задачі в проєкті КЛЮЧ

Очікуваний результат: Задачі з посиланнями.

Де пробувати

Найкраще — власний безкоштовний сайт Atlassian (Jira + Confluence Free) з навчальними даними: перенесіть туди кілька сторінок і задач «Пакунку». Корпоративний сайт — лише з дозволу адміністратора: Rovo MCP у компанії вмикає адміністратор організації Atlassian, він же вирішує, яким застосункам і користувачам можна підключатися. Починайте з читання; не давайте агенту дозволів «завжди» на інструменти, що створюють чи змінюють задачі й сторінки.

Нічого корпоративного у звіт

Курсові репозиторії публічні: ні назв проєктів і просторів, ні ключів задач, ні посилань, ні знімків екрана з корпоративної Jira чи Confluence. Можна написати загально: «повторив патерн у власному навчальному просторі».

Скіл під Jira

Скопіюйте .claude/skills/analysis-to-issues/ у теку свого навчального проєкту (або в ~/.claude/skills/) і змініть у SKILL.md: цільовий проєкт — ключ проєкту Jira і сайт; інструменти — Atlassian MCP (назви подивіться в /mcp → atlassian); мітки — поля Labels, Component, Fix version; тип — Story, Task, Bug. Правила скілу не змінюються: чернетка → підтвердження → створення, кожна задача з посиланнями на джерела, спершу пошук дублікатів.