К основному содержанию
скилл CX Codex

backend-development · mindrally — скилл для Claude Code: правила для C++ и Elixir

Задаёт агенту правила бэкенд-разработки на C++ и Elixir/Phoenix: именование, управление памятью, контексты Phoenix, обработка ошибок.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add Mindrally/skills --skill backend-development -a claude-code
Открыть на GitHub

Что делает backend-development

Скилл подключается как набор инструкций и меняет то, как агент пишет серверный код. Для C++ он требует PascalCase для классов, camelCase для переменных и методов, SCREAMING_SNAKE_CASE для констант. Умные указатели вместо сырых, std::unique_ptr для единоличного владения, std::shared_ptr — только когда владение общее. Плюс RAII, std::optional, std::variant, структурные привязки и std::move.

В части Elixir и Phoenix акцент на доменном проектировании: код группируется вокруг бизнес-доменов через контексты Phoenix, у каждого контекста свой публичный API, контроллеры остаются тонкими. Ошибки возвращаются кортежами {:ok, result} и {:error, reason}, цепочки падающих операций собираются через with, валидация идёт через Ecto.Changeset даже вне базы. LiveView назван основной технологией для интерфейса.

Учтите: скилл покрывает два стека сразу. Если у вас только Go или Python, правила про умные указатели и контексты Phoenix просто не сработают, и агент будет тянуть в проект чужие соглашения. Установка идёт через npx skills add, файл скилла кладётся в каталог платформы.

Какие задачи решает

  • договориться с агентом о стиле именования в C++
  • заменить сырые указатели на умные в новом коде
  • разложить монолитный модуль Phoenix по контекстам
  • собрать цепочку падающих вызовов через with
  • проверить данные на границе через Ecto.Changeset

Примеры запросов агенту

  • Перепиши этот модуль на C++ с умными указателями вместо сырых
  • Раздели этот код Phoenix на контексты и оставь контроллер тонким
  • Собери эту цепочку вызовов через with и верни {:ok, result} или {:error, reason}

Как установить backend-development

1Через Skills CLI (Vercel)

npx skills add Mindrally/skills --skill backend-development -a claude-code

2Вручную: положить файлы

~/.claude/skills/backend-development/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/backend-development/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о backend-development

Как установить backend-development в Claude?

Выполните npx skills add Mindrally/skills --skill backend-development -a claude-code. Скилл окажется в ~/.claude/skills/backend-development/SKILL.md.

Что делает backend-development?

Задаёт агенту правила бэкенд-разработки на C++ и Elixir/Phoenix: именование, управление памятью, современные возможности языка, контексты Phoenix, обработка ошибок и валидация.

Для каких платформ подходит скилл?

Claude, Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode. Для каждой платформы своя команда установки и свой путь к файлу скилла.

Исходный текст

SKILL.md · Apache-2.0
---
name: backend-development
description: Guidelines for backend development in C++ and Elixir/Phoenix, covering modern language features, best practices, and production-ready patterns.
metadata:
  maintainer: Mindrally
  source: https://github.com/Mindrally/skills
---

# Backend Development

You are an expert in backend development with C++ and Elixir/Phoenix.

## C++ Development

### Naming Conventions
- Use PascalCase for classes and structs
- Use camelCase for variables and methods
- Use SCREAMING_SNAKE_CASE for constants and macros

### Memory Management
- Prefer smart pointers (`std::unique_ptr`, `std::shared_ptr`) over raw pointers
- Use `std::unique_ptr` for exclusive ownership
- Use `std::shared_ptr` only when shared ownership is required
- Implement RAII for all resource management
- Avoid unnecessary heap allocations

### Modern C++ Features
- Use `auto` for type inference where it improves readability
- Leverage range-based for loops
- Use `std::optional` for values that may not exist
- Use `std::variant` for type-safe unions
- Apply structured bindings for cleaner code
- Use `std::move` for move semantics

### Error Handling
- Use exceptions for error handling
- Define custom exception types for domain-specific errors
- Catch exceptions at appropriate boundaries
- Ensure exception safety in all code

### Best Practices
- Enforce const-correctness throughout
- Avoid C-style casts; use `static_cast`, `dynamic_cast`, etc.
- Write unit tests with Google Test or Catch2
- Document with Doxygen comments

## Elixir and Phoenix Best Practices

### Core Philosophy
- Follow domain-driven design with PragDave philosophy
- Use functional programming with explicit error handling
- Embrace the "let it crash" principle

### Code Organization
- Organize code around business domains using Phoenix contexts
- Keep contexts focused on single domains
- Use bounded contexts to prevent coupling
- Implement clear public APIs for each context

### Pattern Matching and Control Flow
- Use pattern matching extensively for data extraction
- Apply "railway-oriented programming" with `with` statements
- Chain operations cleanly with the pipe operator
- Handle all pattern match cases explicitly

### Error Handling
- Return tagged tuples (`{:ok, result}` or `{:error, reason}`)
- Use `with` statements to chain fallible operations
- Implement proper supervision trees
- Handle expected errors explicitly

### Phoenix Contexts
- Group related functionality in contexts
- Define clear boundaries between contexts
- Use contexts as the API layer for business logic
- Keep controllers thin, delegate to contexts

### LiveView
- Use LiveView as primary UI technology
- Implement function components for reusable UI
- Handle events in LiveView modules
- Manage state appropriately in assigns

### Data Validation
- Validate at boundaries using `Ecto.Changeset`
- Use changesets even outside database contexts
- Define clear validation rules
- Return helpful error messages

© Mindrally · Apache-2.0 · Mindrally/skills

Похожие скиллы

Всё по теме «Бэкенд и API» →

Сначала — backend-development от других авторов.

backend-development mrgoonie Скилл ведёт агента по проектированию API, схем БД, аутентификации и CI/CD. Пригодится, когда бэкенд пишется с нуля или переезжает в прод. CX Codex +1 2 300установок backend-development MoizIbnYousaf Скилл для проектирования REST API, схем баз данных и микросервисной архитектуры. Пригодится, когда агент пишет бэкенд и нужно, чтобы он держался одних конвенций. CX Codex +1 868установок elixir-expert VoltAgent Community Разбирает архитектуру Elixir-проекта и помогает менять код с опорой на OTP, Phoenix и Ecto. Подойдёт, когда нужно спроектировать процессы, обработать сбои или покрыть функции тестами. 167установок phoenix sanjeed5 Правило для Cursor задаёт, как писать Phoenix-приложения на Elixir: контексты, форматирование, тесты. Пригодится, если агент уже правит ваш код. ★ 3 579звёзд репо phoenix-api-channels Claude MPM Team Скилл для Claude, который ведёт агента по Phoenix: JSON-контроллеры, контексты Ecto, Channels и Presence на BEAM. CX Codex +1 339установок ecto-patterns Claude MPM Team Скилл подсказывает агенту, как писать схемы, changesets, миграции и транзакции в Ecto для Phoenix-приложений на Elixir. CX Codex +1 336установок sentry-elixir-sdk getsentry Скилл проводит по шагам установки Sentry в проект на Elixir: сканирует mix.exs, предлагает набор функций и выдаёт конфиги. CX Codex +1 2 000установок woocommerce-backend-dev woocommerce Скилл помогает писать PHP для WooCommerce, соблюдая проектные соглашения. Используй его перед тем, как создавать новые классы, модифицировать бэкенд или писать unit-тесты. CX Codex +1 2 300установок

Из того же набора168

bitbucket-workflow Скилл задаёт агенту правила работы с Bitbucket: оформление пул-реквестов, конфигурация Pipelines, связка с Jira и ветвление по Gitflow. CX Codex +1 759установок transformers-huggingface Скилл для работы с библиотекой Hugging Face Transformers: загрузка моделей, токенизация, файнтюнинг через Trainer и оптимизация инференса. CX Codex +1 758установок go Скилл задаёт агенту правила идиоматичного Go: слоистая архитектура, работа с net/http, горутины, табличные тесты. Пригодится, когда пишете бэкенд на Go. CX Codex +1 757установок grpc-development Скилл ведёт агента по шагам сборки gRPC-сервиса: контракт в .proto, генерация стабов, сервер, клиент, интерсепторы. CX Codex +1 755установок ethereum Задаёт агенту правила разработки смарт-контрактов Ethereum: паттерны безопасности, интеграция OpenZeppelin, тесты на Hardhat. CX Codex +1 737установок devops Задаёт агенту роль старшего DevOps-инженера: правила для Kubernetes, CI/CD, Bash, Ansible и Python. Пригодится, когда инфраструктуру пишут вместе с моделью. CX Codex +1 739установок anime-js Скилл задаёт агенту правила работы с Anime.js: таймлайны, stagger, SVG-морфинг и производительность. Пригодится, когда анимации в проекте пишет ИИ. CX Codex +1 736установок ruby Задаёт агенту стиль кода, возможности Ruby 3.x и правила тестирования на RSpec. Пригодится, когда пишете или правите Ruby-проект. CX Codex +1 734установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой