.cursor/skills/develop-b24-php/SKILL.md
Develop backend applications for Битрикс24 using PHP, Symfony, and Битрикс24 PHP SDK. Use this skill when you need to create API endpoints, work with Битрикс24 data, or manage authentication in PHP.
npx skillsauth add rustams/inbound develop-b24-phpInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The PHP backend is built with Symfony and uses bitrix24/b24phpsdk for Битрикс24 interaction.
backends/php/src/Controller/: API endpoints.backends/php/src/Service/: Business logic.backends/php/src/Bitrix24Core/: Core integration logic (OAuth, Events).Use Symfony attributes for routing and dependency injection.
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Attribute\Route;
use Битрикс24\SDK\Services\ServiceBuilder;
class MyController extends AbstractController
{
#[Route('/api/my-endpoint', name: 'api_my_endpoint', methods: ['GET'])]
public function myEndpoint(Request $request): JsonResponse
{
// JWT payload is available in request attributes
$jwtPayload = $request->attributes->get('jwt_payload');
// Return JSON response
return new JsonResponse(['data' => 'value'], 200);
}
}
Use ServiceBuilder to interact with Битрикс24 API.
The ServiceBuilder is typically available via dependency injection if configured, or you can create it manually for specific contexts (e.g., webhook).
use Битрикс24\SDK\Services\ServiceBuilderFactory;
// From Webhook
$serviceBuilder = ServiceBuilderFactory::createServiceBuilderFromWebhook('webhook_url');
// From OAuth (in a service context, often handled by core logic)
// See Bitrix24ServiceBuilderFactory.php
// CRM Scope
$crm = $serviceBuilder->getCRMScope();
$deals = $crm->deal()->list([], ['ID', 'TITLE']);
// Batch Requests
$batch = $serviceBuilder->getBatchService();
// ... see SDK docs for batch details
/api/install (handled by AppLifecycleController) receives OAuth data./api/getToken issues a JWT for the frontend.Authorization header. JwtAuthenticationListener validates it and sets jwt_payload in request attributes.php bin/console doctrine:migrations:migrate.src/Entity/ (if any custom entities are added).LoggerInterface for logging.try/catch and return JsonResponse with error details.declare(strict_types=1);.tools
This skill should be used when the user asks to "design agent tools", "create tool descriptions", "reduce tool complexity", "implement MCP tools", or mentions tool consolidation, architectural reduction, tool naming conventions, or agent-tool interfaces.
development
This skill should be used when the user asks to "start an LLM project", "design batch pipeline", "evaluate task-model fit", "structure agent project", or mentions pipeline architecture, agent-assisted development, cost estimation, or choosing between LLM and traditional approaches.
development
PM skill for Claude Code, Codex, Cursor, and Windsurf. Diagnoses SaaS metrics, critiques PRDs, plans roadmaps, runs discovery, coaches PM career transitions, and pressure-tests AI product decisions. Six knowledge domains, 12 templates, 30+ frameworks, and an opinionated interaction style that labels assumptions and names tradeoffs.
development
Understand the Битрикс24 Starter Kit project structure. Use this skill to find where specific code (frontend, backend, infrastructure) is located.