← スキル一覧に戻る
Code Convention:

symfony-skerror-code
by Swoking
Claude Code plugin pour projets Symfony StarterKit
⭐ 0🍴 0📅 2026年1月19日
SKILL.md
name: symfony-sk:error-code description: Add error codes with translations to migrations. Use for validation errors and service errors. allowed-tools: Read, Write, Edit, Glob, Grep, Bash
Error Code Skill
⛔ CRITICAL RULES
MANDATORY: Validate with AskUserQuestion BEFORE writing to migration.
Mission
Add return codes to migrations for form validation and service errors.
Code Convention: -XXYZZ
| Part | Meaning |
|---|---|
| XX | Feature (e.g., 28 = Event) |
| Y | Action (1=create, 2=read, 3=update, 4=delete, 5+=partial) |
| ZZ | Error index (00=form empty, 01-99=specific) |
Example: -28105 = Event feature, create action, error #5
Process
- Check cache for feature codes
- Query DB if cache missing/stale (via vm-commands)
- Update cache with results
- Find next available code in action range
- Generate translations
- Validate: Use AskUserQuestion
- Write: Add to migration
- Update cache with new code
Function
$this->addReturnCode(-28105, [
'FR' => 'Titre requis',
'EN' => 'Title required',
]);
Identify Feature Code
Determine the feature code (XX in -XXYZZ) from:
- Current migration - Look for existing
-XXxxxcodes - DTO/Controller name -
EventCreateDto→ search Event codes - User context - "pour engagement" → search engagement codes
- DB query - Find which XX is used for this domain
Cache Mechanism
Cache file: $CLAUDE_PROJECT_DIR/.claude/cache/error-codes.json
{
"updated": "2026-01-18T14:30:00Z",
"codes": {
"-28100": "Event - Form empty",
"-28101": "Event - Title required",
"-30100": "Engagement - Form empty"
}
}
Usage
- Read cache before proposing new code
- Query DB if cache missing or > 1 hour old
- Update cache after DB query
- Add new code to cache after creation
This avoids proposing duplicate codes.
Query Existing Codes
Use the vm-commands agent to run DB queries:
-- All codes for a feature (XX = 28)
SELECT keyname FROM sk_settings
WHERE groupname='returnCode' AND keyname LIKE '-28%'
ORDER BY keyname;
-- All codes (for full cache)
SELECT keyname, textvalue FROM sk_settings
WHERE groupname='returnCode'
ORDER BY keyname;
The VM agent executes via SSH on the project VM.
AskUserQuestion Format
{
"questions": [{
"question": "Code proposé : -28105\n\nTraductions :\n• FR : Titre requis\n• EN : Title required\n\nCorrect ?",
"header": "Code",
"options": [
{"label": "Oui, valider", "description": "Correct"},
{"label": "Modifier", "description": "Changer"}
],
"multiSelect": false
}]
}
Checklist
- Searched existing codes first
- Code follows -XXYZZ convention
- All languages have translations
- AskUserQuestion used before writing
スコア
総合スコア
50/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です