mirror of
https://github.com/affaan-m/ECC.git
synced 2026-09-20 08:38:05 +02:00
* fix(skills): move version into metadata and normalize to semver 29 skills declared `version` at the top level of their frontmatter. The schema reads it from `metadata`, so tooling that follows the schema either misses it or has to special-case the top level. Three motion skills also declared `version: 1.0`, which is not a valid semantic version; normalized to `1.0.0`. No behavioral change — frontmatter metadata only. * fix(skills): state activation triggers in skill descriptions 148 skills described what they cover but never named the situation that should trigger them. Since the description is what Claude matches against to decide whether to load a skill, a description without a trigger makes activation guesswork — the skill is either missed or loaded at the wrong time. Added a "Use when ..." clause to each, derived from the skill's own body (most already stated the trigger under "## When to Use" or in the opening line; that intent is now reflected in the frontmatter where it is actually read from). Descriptions were only appended to; no existing wording was removed. * fix(skills): sync activation triggers into the Codex skill mirror 10 of the skills whose descriptions changed are also mirrored under `.agents/skills/`, where the description was previously a verbatim copy. Left alone, the two surfaces would disagree about when the skill applies. Only the description line is synced; the Codex copies keep their reduced frontmatter, since that validator accepts only name, description, metadata, license, and allowed-tools. * fix(skills): correct three activation clauses from review - autonomous-loops: the clause pulled new loop work into a skill that its own body marks as a compatibility shim retained for one release. It now points at the canonical continuous-agent-loop instead. - continuous-learning: the description carried the v1 routing directive twice; collapsed to one. - homelab-pihole-dns: the clause fired on any broken home DNS. Narrowed to tasks that actually involve Pi-hole. * chore: retain current main lockfile --------- Co-authored-by: Çağrı Solakoğlu <cagri.solakoglu@vtcenerji.com> Co-authored-by: haelyra <49814733+haelyra@users.noreply.github.com>
3.9 KiB
3.9 KiB
name, description
| name | description |
|---|---|
| visa-doc-translate | Translate visa application documents (images) to English and create a bilingual PDF with original and translation. Use when visa application document images must be translated to English as a bilingual PDF. |
You are helping translate visa application documents for visa applications.
Instructions
When the user provides an image file path, AUTOMATICALLY execute the following steps WITHOUT asking for confirmation:
-
Image Conversion: If the file is HEIC, convert it to PNG using
sips -s format png <input> --out <output> -
Image Rotation:
- Check EXIF orientation data
- Automatically rotate the image based on EXIF data
- If EXIF orientation is 6, rotate 90 degrees counterclockwise
- Apply additional rotation as needed (test 180 degrees if document appears upside down)
-
OCR Text Extraction:
- Try multiple OCR methods automatically:
- macOS Vision framework (preferred for macOS)
- EasyOCR (cross-platform, no tesseract required)
- Tesseract OCR (if available)
- Extract all text information from the document
- Identify document type (deposit certificate, employment certificate, retirement certificate, etc.)
- Try multiple OCR methods automatically:
-
Translation:
- Translate all text content to English professionally
- Maintain the original document structure and format
- Use professional terminology appropriate for visa applications
- Keep proper names in original language with English in parentheses
- For Chinese names, use pinyin format (e.g., WU Zhengye)
- Preserve all numbers, dates, and amounts accurately
-
PDF Generation:
- Create a Python script using PIL and reportlab libraries
- Page 1: Display the rotated original image, centered and scaled to fit A4 page
- Page 2: Display the English translation with proper formatting:
- Title centered and bold
- Content left-aligned with appropriate spacing
- Professional layout suitable for official documents
- Add a note at the bottom: "This is a certified English translation of the original document"
- Execute the script to generate the PDF
-
Output: Create a PDF file named
<original_filename>_Translated.pdfin the same directory
Supported Documents
- Bank deposit certificates (存款证明)
- Income certificates (收入证明)
- Employment certificates (在职证明)
- Retirement certificates (退休证明)
- Property certificates (房产证明)
- Business licenses (营业执照)
- ID cards and passports
- Other official documents
Technical Implementation
OCR Methods (tried in order)
-
macOS Vision Framework (macOS only):
import Vision from Foundation import NSURL -
EasyOCR (cross-platform):
pip install easyocr -
Tesseract OCR (if available):
brew install tesseract tesseract-lang pip install pytesseract
Required Python Libraries
pip install pillow reportlab
For macOS Vision framework:
pip install pyobjc-framework-Vision pyobjc-framework-Quartz
Important Guidelines
- DO NOT ask for user confirmation at each step
- Automatically determine the best rotation angle
- Try multiple OCR methods if one fails
- Ensure all numbers, dates, and amounts are accurately translated
- Use clean, professional formatting
- Complete the entire process and report the final PDF location
Example Usage
/visa-doc-translate RetirementCertificate.PNG
/visa-doc-translate BankStatement.HEIC
/visa-doc-translate EmploymentLetter.jpg
Output Example
The skill will:
- Extract text using available OCR method
- Translate to professional English
- Generate
<filename>_Translated.pdfwith:- Page 1: Original document image
- Page 2: Professional English translation
Perfect for visa applications to Australia, USA, Canada, UK, and other countries requiring translated documents.