AgentSkillsCN

init-project

为QA项目生成CLAUDE.md:扫描代码仓库,分析技术栈,创建入职文档。适用于尚未配备CLAUDE.md的新QA项目,或用于调整AI辅助的工作流。若CLAUDE.md已配置完毕,则请手动编辑。

SKILL.md
--- frontmatter
name: init-project
description: Генерирует CLAUDE.md для QA-проекта: сканирует репозиторий, анализирует tech stack, создаёт онбординг-документ. Используй для нового QA-проекта без CLAUDE.md или настройки AI-assisted workflow. Не используй если CLAUDE.md уже настроен — редактируй вручную.
agent: agents/sdet.md
context: fork

/init-project — Генератор CLAUDE.md

<purpose> Автоматическое создание CLAUDE.md (онбординг AI в проект) на основе анализа репозитория. Фокус: QA-проекты (API тесты, UI тесты, нагрузочное тестирование). </purpose>

Перед началом

Прочитай .claude/qa_agent.md.

Когда использовать

  • Новый QA-проект без CLAUDE.md
  • Миграция существующего проекта на AI-assisted workflow
  • Стандартизация CLAUDE.md по команде

Алгоритм выполнения

Verbosity Protocol

Structured Output Priority: Весь analysis идёт в артефакт (MD/HTML), не в чат.

Chat output (ограничения):

  • Brief Summary: max 5 строк (что нашли, сколько, итог)
  • Findings table: max 15 строк (топ по severity)
  • Полный отчёт: 📊 Полный отчёт: {path} + открыть файл

Iterative steps: Не выводить прогресс по каждому файлу. Checkpoint только при:

  • Phase transition (Фаза N → Фаза N+1)
  • Blocker обнаружен
  • Завершение (SKILL COMPLETE)

Tools first:

  • Grep → table → report, без "Now I will grep..."
  • Read → analyze → report, без "The file shows..."

Post-Check: Inline перед SKILL COMPLETE (5-7 строк checklist), не отдельный файл.

Шаг 1: Сканирование проекта

Найди и проанализируй:

code
1. Build файлы:
   - build.gradle.kts / build.gradle → Kotlin/Java + зависимости
   - pom.xml → Maven + зависимости
   - package.json → Node.js + зависимости
   - requirements.txt / pyproject.toml → Python + зависимости

2. Структуру тестов:
   - src/test/ → стандартная JVM структура
   - tests/ → Python/JS структура
   - __tests__/ → Jest структура

3. Конфигурации:
   - allure.properties → Allure reporting
   - pytest.ini → pytest конфиг
   - jest.config.js → Jest конфиг

4. CI/CD:
   - .github/workflows/ → GitHub Actions
   - .gitlab-ci.yml → GitLab CI
   - Jenkinsfile → Jenkins

Обработка ошибок Шага 1

Build-файлы не найдены → Спроси пользователя:

code
Не удалось определить tech stack автоматически. Уточни вручную:
- Язык/рантайм: (Kotlin / Java / Python / JS / Go / другой)
- HTTP-клиент для тестов:
- Фреймворк тестирования:
- Reporting:

Структура тестов нестандартная (нет src/test/, tests/) → Попроси указать корневую папку тестов.

CI/CD-конфиги отсутствуют → Пропусти секцию CI в CLAUDE.md, отметь как TODO.

Шаг 1.5: Определение типа проекта

На основе Шага 1 определи тип:

ПризнакТипВключить в CLAUDE.md
src/test/ существуетQA-проектQA Skills (если .claude/skills/ есть)
Нет src/test/, есть Helm/Terraform/k8sInfra-проектArchitecture, Key Values
Оба признакаСмешанныйВсе секции

QA Skills секция: включать только если в целевом проекте существует .claude/skills/. Если .claude/skills/ отсутствует — секцию не добавлять.

Architecture секция: включать если проект — infra/backend (нет src/test/). Описать key design decisions из кода: компоненты, зависимости между ними, нетривиальные конфигурации.

CI/CD Flow: включать если найдены CI-конфиги (.github/workflows/, .gitlab-ci.yml, Jenkinsfile). Формат — диаграмма кодовым блоком.

Шаг 2: Определение Tech Stack

На основе зависимостей определи:

КатегорияЧто искатьBANNED альтернативы
HTTP Clientktor-client, requests, axiosretrofit, okhttp, urllib
Serializationjackson, pydantic, zodgson, moshi
Assertionskotest, pytest, jestjunit assertEquals, unittest
Test Frameworkjunit5, pytest, jesttestng, nose
Reportingallure

Шаг 3: Генерация CLAUDE.md

Прочитай и используй шаблон из references/claude-md-template.md.

Заполни все placeholder'ы [xxx] данными из Шагов 1-2. Выбери нужный Tech Stack по языку проекта (секция "Tech Stack по языкам" в шаблоне).

Key Values: если в проекте есть конфигурационные файлы с нетривиальными дефолтами (values.yaml, .env.example, application.yml) — добавь секцию ## Key Values с объяснением критичных настроек (не очевидных из названия).

Architecture (для infra/backend-проектов): опиши key design decisions — компоненты, схему взаимодействия, нетривиальные детали реализации. Используй prose-формат.

Шаг 4: Валидация

Перед сохранением проверь:

  • Tech Stack соответствует реальным зависимостям
  • Commands работают (проверь наличие gradlew/npm/pytest)
  • Structure отражает реальные папки
  • Нет placeholder'ов вида [xxx] или TODO в финальном файле
  • Нет HTML-комментариев <!-- --> из шаблона в финальном файле
  • Заголовок # = имя проекта (не "CLAUDE.md")
  • QA Skills присутствует только если .claude/skills/ существует
  • CI/CD Flow присутствует если найдены CI-конфиги
  • Architecture присутствует для infra/backend-проектов

Вывод

Сохрани результат в CLAUDE.md в корне проекта.

Пример диалога

code
User: /init-project

AI: Сканирую проект...

Найдено:
- build.gradle.kts → Kotlin 1.9
- Зависимости: ktor-client, jackson, kotest, allure
- Структура: src/test/kotlin/
- CI: .github/workflows/test.yml

Генерирую CLAUDE.md...

[Показывает сгенерированный файл]

Сохранить в ./CLAUDE.md? (y/n)

Связанные файлы

  • Шаблон: .claude/skills/init-project/references/claude-md-template.md
  • Полный гайд: docs/ai-files-handbook.md
  • Примеры: существующий CLAUDE.md в проекте (если есть)