Development Skills

4league development is supported by a set of specialized Claude Code skills — focused agents that each understand one area of the codebase deeply. Rather than asking a general-purpose assistant to context-switch across the entire stack, each skill brings precise knowledge of its domain: the right files, patterns, conventions, and edge cases. This page catalogs every skill that exists today and every skill that has been proposed for future creation.

ℹ️
What is a Claude Code skill?

A skill (also called an agent) is a Claude Code configuration that loads a targeted system prompt, specific file context, and tool restrictions for a narrow development task. Each skill reduces onboarding time, enforces project conventions, and produces consistent output without requiring the developer to spell out the full project context every time.

Existing Skills

The following skills are already configured and operational in the 4league project.

📱
frontend

React Native Expo mobile app development inside Manager/. Knows the screen structure, Redux state, React Navigation v6 setup, role-based navigator variants, and the i18n system.

🖥
backend

Node.js/Express REST API development inside backend/. Covers controllers, models, routes, middleware, helpers, and MongoDB query patterns.

🌐
translator

Propagates new translation keys from the Romanian source of truth (locale/ro.js) to all 29+ language files. Handles plurals, gender agreements, and formatting placeholders.

🌎
site-maintainer

Updates the static marketing website in publicSite/. Keeps feature descriptions, pricing, screenshots, and landing page copy in sync with the current state of the app.

🤖
build-android-dev / build-android-prod

Runs EAS builds for Android in development or production configuration. Handles environment variable injection, build profile selection, and artifact retrieval.

🍎
build-ios-dev / build-ios-prod

Runs EAS builds for iOS in development or production configuration. Manages provisioning profiles, certificates, and App Store submission preparation.

▶️
run-android / run-ios / run-web

Launches the app locally on an Android emulator, iOS simulator, or web browser via Expo. Handles Metro bundler start, device selection, and common launch errors.

🔬
expo-doctor

Runs npx expo-doctor and interprets the results. Identifies dependency mismatches, SDK version conflicts, and native module incompatibilities.

🔑
login-flow

Reference skill for the authentication and login system. Documents session management via sid/clientid headers, token storage, and the onboarding screen sequence.

Proposed New Skills

The skills below are proposed for future creation. They are organized by the area of the app they would cover. Each description summarizes the scope, the key files involved, and the development scenarios the skill would handle.

Match & Competition Skills

match-scoring

Assists with implementing match scoring flows across the AddScore, AddLiveScore, and EditMatch screens. Knows about match events (goals, cards, substitutions), the live mode protocol, possession tracking, and lineup management.

📅
schedule-generator

Helps with the Berger round-robin algorithm implementation, manual scheduling, group stage configuration, and playoff bracket generation. Understands bye handling and venue assignment logic.

📊
standings-engine

Assists with standings calculation logic, configurable tiebreaker rules, promotion and relegation algorithms, and multi-group standings. Knows how points, goal difference, and head-to-head rules interact.

🔄
season-lifecycle

Handles season start, finish, restart, and archive creation flows. Covers stats reset procedures, season migration logic, and the side-effects that propagate across teams and players when a season closes.

Player & Team Skills

👤
player-profile

Assists with player profile features: the skills and attributes system, the achievements engine, XP and leveling mechanics, registration card generation, and the player matching algorithm used to find similar players.

👥
team-management

Helps with team roster operations, the formation builder, kit customization, team join codes and invitations, and connected team relationships across competitions.

🔄
transfer-engine

Assists with the transfer system end-to-end: transfer requests, multi-step approval chains, transfer window configuration, eligibility validation, and cross-organization transfer rules.

Organization Skills

🏛
org-hierarchy

Helps with organization structure: parent-child relationships between organizations, ownership rules, affiliation conflict resolution, and multi-level approval chains for competitions and transfers.

📋
org-registration

Assists with player and team registration workflows: registration number generation, medical clearance tracking, bulk registration operations, and compliance rule enforcement at the organization level.

Communication & Media Skills

🔔
notifications

Assists with push notification implementation via Expo, email notifications via SendGrid, notification type definitions, and batched sending strategies. Covers the full notification lifecycle from trigger to delivery.

📸
media-manager

Helps with photo gallery management, video attachment handling, poster creation flows, and CDN upload integration with DigitalOcean Spaces. Knows image compression and upload progress patterns.

📰
news-messaging

Assists with news and announcement publishing, the message inbox system, player approval notification messages, and admin broadcast notifications. Covers both the frontend screens and backend endpoints.

Payment & Monetization Skills

💰
payments

Assists with Stripe integration, subscription plan management, the checkout flow, webhook handling, plan upgrade and downgrade logic, and trial management. Knows the Payments controller and client-side package screens.

🔒
feature-gates

Helps with the feature flag system keyed to plan tier (Free, Semi-Pro, PRO, Enterprise). Covers capability checks, plan limit enforcement, and the helpers in backend/helpers/features.js.

Testing & Quality Skills

🧮
test-data-generator

Creates realistic test competitions, teams, players, and matches with scores for development and QA. Uses the existing /test/ endpoints in the backend to seed data quickly without manual setup.

🔍
api-tester

Validates API endpoints, checks authentication middleware coverage, verifies role-based access control enforcement, and tests edge cases such as missing fields, wrong types, and cross-tenant access attempts.

Infrastructure Skills

🔗
deep-linking

Assists with URL structure design, deep link configuration in linking.js, profile routing for competition, team, player, and organization contexts, and cross-platform URL handling differences between iOS, Android, and web.

🌐
i18n-audit

Audits all 29+ translation files in Manager/locale/ for missing keys, inconsistent translations, unused keys, and formatting placeholder mismatches. Produces a diff against the Romanian source of truth.

📈
perf-monitor

Assists with performance optimization across the stack: MongoDB query analysis and index recommendations, API response time profiling, React Native render optimization, memory management patterns, and caching strategies.

Wiki & Documentation Skills

📖
wiki-maintainer

Monitors code changes and updates wiki documentation when features are added, modified, or removed. Keeps scenario examples, screen descriptions, and navigation flows up to date with the actual app behavior.

💡
Naming convention

Skill names use lowercase kebab-case and describe the domain, not the technology. A skill named standings-engine is easier to invoke and remember than one named mongodb-aggregation-helper. Keep names short and specific.

Skills Priority Matrix

The table below ranks proposed skills by development priority. High-priority skills address the most frequently touched areas of the codebase or the highest-risk logic. Complexity reflects implementation effort for the skill itself. Dependencies lists other skills or system knowledge the skill relies on.

Skill Name Priority Complexity Dependencies Impact
match-scoring High Medium frontend, backend Covers the most frequently edited screens in the app
schedule-generator High High backend Complex algorithm; errors affect the entire competition
standings-engine High High backend, match-scoring Correctness is critical; visible to all users after every match
wiki-maintainer High Low site-maintainer Keeps documentation accurate with minimal developer effort
notifications High Medium backend, frontend Push and email notifications touch almost every user action
transfer-engine Medium High org-hierarchy, backend Complex approval chains; high value for organization users
org-hierarchy Medium High backend Foundational for multi-organization features
payments Medium Medium backend, feature-gates Revenue-critical; Stripe integration requires careful handling
player-profile Medium Medium frontend, backend Key differentiator for grassroots player engagement
team-management Medium Low frontend, backend Used daily by team managers; roster operations are high-frequency
perf-monitor Low High backend Valuable at scale; not urgent for early-stage development
i18n-audit Low Low translator Improves quality for non-English users; easy to build
test-data-generator Low Low backend Speeds up QA; existing /test/ endpoints reduce build effort
api-tester Low Medium backend Improves reliability; can be partially replaced by manual testing
deep-linking Low Medium frontend Niche; mainly needed when adding new profile types or URL paths

How to Create a New Skill

Follow these steps to add a new Claude Code skill to the 4league project.

1

Create a skill file in the agents/ directory

Each skill lives in its own file inside the project's agents/ directory. Name the file after the skill using lowercase kebab-case, for example agents/match-scoring.md. The file contains the system prompt that defines the skill's scope, knowledge, and behavioral constraints.

2

Define the skill's scope, tools, and context

The system prompt should specify: which directories and files the skill focuses on, which conventions it must follow (coding style, naming patterns, translation key rules), which tools it is allowed to use, and any output format requirements. Be explicit about what is out of scope to prevent the skill from drifting into unrelated areas.

3

Add the skill to the system configuration

Register the skill in the project's Claude Code configuration so it can be invoked by name. Ensure any required environment variables, working directory settings, or model preferences are documented alongside the skill definition.

4

Test with relevant scenarios

Run the skill against two or three realistic development scenarios before marking it as production-ready. Verify that it reads the correct files, follows project conventions, does not produce hallucinated API shapes, and respects the boundaries defined in its scope. Document the tested scenarios in the skill file as examples for future reference.

💡
Keep skills focused

A skill that tries to cover both the frontend and backend for an entire feature area tends to produce inconsistent results. Prefer two narrow, reliable skills over one broad skill. If two skills need to cooperate on a task, the developer can invoke them in sequence — one to prepare the backend changes, the next to implement the frontend.