ワンクリックで
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 職業分類に基づく
| 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)).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".