Verified against Semitexa Ultimate 2026.09.19.1020
Llm attributes
Every attribute declared by Llm, with the signature the code has and a usage quoted from the codebase.
#[AsAiPersona]
Semitexa\Llm\Attribute\AsAiPersona
Applies to: class
| parameter | type | required |
|---|---|---|
context |
string |
yes |
isDefault |
bool |
no |
#[AsAiPersona(context: 'framework', isDefault: true)]
final class FrameworkPersona implements AiPersonaInterface
— vendor/semitexa/llm/src/Application/Service/Persona/FrameworkPersona.php
#[AsAiSkill]
Semitexa\Llm\Attribute\AsAiSkill
Applies to: class
| parameter | type | required |
|---|---|---|
allowed |
string|bool |
no |
summary |
string |
no |
useWhen |
string |
no |
avoidWhen |
string |
no |
riskLevel |
Semitexa\Llm\Domain\Enum\AiRiskLevel|string |
no |
confirmation |
Semitexa\Llm\Domain\Enum\AiConfirmationMode|string |
no |
supportsDryRun |
bool |
no |
argumentPolicy |
Semitexa\Llm\Domain\Enum\AiArgumentPolicy|string |
no |
exposeArguments |
array |
no |
requiredArguments |
array |
no |
executionKind |
Semitexa\Llm\Domain\Enum\AiExecutionKind|string |
no |
channels |
array|string |
no |
name |
string |
no |
icon |
string |
no |
entry |
string |
no |
argumentHints |
array |
no |
#[AsAiSkill(
allowed: 'env::AI_ENABLE_SEED_SKILL::false',
summary: 'Seed local demo data when the project explicitly allows this skill.',
useWhen: 'User wants to seed local demo fixtures in a safe non-production context.',
avoidWhen: 'Production data is involved or the env flag is not enabled.',
riskLevel: AiRiskLevel::High,
confirmation: AiConfirmationMode::Always,
argumentPolicy: 'allowlisted',
exposeArguments: ['tenant', 'force'],
)]
final class SeedDemoDataCommand extends Command
— vendor/semitexa/demo/resources/examples/Llm/EnvControlledSkill.example.php