بنقرة واحدة
temporal-activity
Scaffold an official Temporal PHP Activity (interface + implementation) using
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Scaffold an official Temporal PHP Activity (interface + implementation) using
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Develop IntelliJ Platform plugins (IDEA / PhpStorm / etc.) following the official JetBrains SDK guidelines. Use when the user asks to add an extension point, service, action, listener, inspection, index, tool window, notification, run configuration, or any other platform-level plugin feature. This is the general platform skill — for this project's specific conventions also consult /kotlin-dev.
Write new Kotlin code for this IntelliJ Platform plugin following the project's common/languages architecture, Extension Point pattern, and performance/naming rules. Use whenever the user asks to "add a Kotlin class", "implement an inspection", "add an action", "create a service", "write a completion provider", or any new plugin-side feature.
Write JUnit 4 + IntelliJ Platform Test Framework tests in Kotlin for this plugin (inspections, indexes, endpoint providers, EP implementations, PSI helpers, run configs). Use when the user asks to "add a test", "write a test", "cover X with tests", or "bootstrap the test suite".
Scaffold invocation of a child Temporal workflow from a parent workflow using ChildWorkflowOptions. Use when the user asks to "call a child workflow", "invoke child workflow", or "start child workflow".
Add a
Scaffold a Temporal Saga compensation pattern inside a PHP workflow using the official \Temporal\Internal\Workflow\ActivityProxy / Saga helper. Use when the user asks for "saga", "compensation", or "rollback pattern".
| name | temporal-activity |
| description | Scaffold an official Temporal PHP Activity (interface + implementation) using |
Generate a Temporal Activity pair following the PHP SDK conventions. The plugin's
PhpActivityClassIndex, PhpActivityMethodIndex, PhpActivityMethodInspection,
and PhpActivityMethodUsageInspection all key off these attributes.
App\Activity\Order)OrderActivity)#[ActivityInterface(prefix: '...')])<Namespace>/<Name>Interface.php<?php
declare(strict_types=1);
namespace {{Namespace}};
use Temporal\Activity\ActivityInterface;
use Temporal\Activity\ActivityMethod;
#[ActivityInterface(prefix: '{{prefix}}')]
interface {{Name}}Interface
{
#[ActivityMethod(name: '{{methodName}}')]
public function {{method}}({{args}}): {{returnType}};
}
<Namespace>/<Name>.php<?php
declare(strict_types=1);
namespace {{Namespace}};
use Temporal\Activity;
final class {{Name}} implements {{Name}}Interface
{
public function {{method}}({{args}}): {{returnType}}
{
// Regular PHP code: blocking I/O, DB calls, HTTP, etc. are fine here.
// Use Activity::heartbeat($progress) for long-running work.
// Throw any exception to signal failure; Temporal retries per RetryOptions.
}
}
#[ActivityInterface] attribute goes on the interface, not the class.#[ActivityMethod]. The plugin's PhpActivityMethodInspection surfaces a
warning + quick-fix (AddActivityMethodAttributeQuickFix) if it is missing.Activity::getInfo()->attempt and deterministic IDs.Activity::heartbeat($details) inside long-running activities to support
cancellation and progress reporting.$worker->registerActivity({{Name}}::class, fn ($ctx) => $container->get({{Name}}::class));Workflow::newActivityStub({{Name}}Interface::class, ActivityOptions::new()->withStartToCloseTimeout(30)).