ワンクリックで
action-writer
Create or update an Action in app/Actions following JournalOS conventions (validation, logging, queues, tests).
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Create or update an Action in app/Actions following JournalOS conventions (validation, logging, queues, tests).
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
Create or update a journal entry module (database, model, actions, views, controllers, API, docs, tests). Use when adding a new journal module or changing an existing module such as mood, health, or obligations.
Update the README.md file to list all available journal modules under the Features section with categorized, collapsible sections. Use when adding, removing, or reorganizing modules and keeping documentation in sync.
Update the README.md file to list all available journal modules under the Features section. Use when adding, removing, or reorganizing modules and keeping documentation in sync.
Update and complete JournalOS translation JSON files by running composer journalos:locale and fixing missing or empty translations in lang/*.json. Use when UI copy changes, new keys are added, or locale files are out of sync.
SOC 職業分類に基づく
| name | action-writer |
| description | Create or update an Action in app/Actions following JournalOS conventions (validation, logging, queues, tests). |
This Skill helps you add or update an Action in app/Actions using the project conventions.
Use this Skill when:
execute().tests/Unit/Actions.composer journalos:unit.LogHealth, CreateBook, ResetWorkData).void).php artisan make:class Actions/ActionName --no-interaction
declare(strict_types=1); and the App\Actions namespace.final readonly class with constructor property promotion.$this->book), keep it final but not readonly, and declare a private property for the result.ModelNotFoundException when a user does not own a journal or entry.ValidationException::withMessages([...]) when values are invalid.TextSanitizer::plainText().DB::.low queue:LogUserAction::dispatch(...)->onQueue('low');
UpdateUserLastActivityDate::dispatch($user)->onQueue('low');
CheckPresenceOfContentInJournalEntry::dispatch($entry)->onQueue('low');
$this->entry->load('moduleHealth');
tests/Unit/Actions/ActionNameTest.php.RefreshDatabase and Queue::fake().for() on factories.ValidationException)ModelNotFoundException)low queuephp artisan test tests/Unit/Actions/ActionNameTest.php
composer journalos:unit.vendor/bin/pint --dirty