skills/holded-invoices/SKILL.md
Process invoice PDFs/emails: extract vendor + date, generate normalized filename, optionally archive to Drive, and email the PDF to the right Holded inbox.
npx skillsauth add antoniolg/agent-kit holded-invoicesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Goal: send invoice/receipt PDFs to Holded's inbox email after normalizing their filenames. Prefer direct Gmail delivery via gog; the old n8n webhook is legacy fallback only.
Configure defaults in ~/.config/skills/config.json under holded_invoices:
company_emailfreelancer_emailsender_emaildrive_inbox_folder_id (optional, archives a copy before sending)webhook (legacy fallback)Example:
{
"holded_invoices": {
"company_email": "[email protected]",
"freelancer_email": "[email protected]",
"sender_email": "[email protected]",
"drive_inbox_folder_id": "drive-folder-id"
}
}
Filename convention:
<company>-<YYYY>-<MM>.pdfgoogle).scripts/invoice-extract.js --pdf /path/to/invoice.pdf
{ vendor, vendorSlug, year, month }scripts/holded-send.sh --pdf /path/to/invoice.pdf --email <holdedbox> --nombre google-2026-01.pdf
gog gmail send with the configured sender_email or --from.drive_inbox_folder_id or --drive-folder is set, first uploads the normalized PDF to that Drive folder.--dry-run before changing the workflow or debugging auth.scripts/holded-upload.sh --pdf /path/to/invoice.pdf --email <holdedbox> --nombre google-2026-01.pdf
webhook config or --webhook.Downloads the first PDF attachment, suggests a filename, and (optionally) uploads.
scripts/holded-from-gmail.sh --account <gmail-account> --message-id <id> --type empresa|autonomo
--email-empresa, --email-autonomo, --from, and/or --drive-folder.--webhook forces the legacy n8n path.Flags:
--yes skip confirmation and uploadWhen reviewing an email thread with a PDF invoice:
empresa or autonomo.invoice-extract.js to infer vendor + year/month.holded-send.sh so Drive/Gmail return observable output.If extraction fails, ask for vendor + date and continue.
tools
Use the private LearnWorlds CLI to inspect DevExpert Academy users, find students by email, list their enrolled courses/products, look up products, and perform safe enrollment workflows. Trigger when Antonio asks what courses a student has in LearnWorlds or academia.devexpert.io, whether someone belongs to the current or next AI Expert edition, or to use the LearnWorlds/academy CLI.
tools
Orchestrates Android development tasks including project creation, deployment, SDK management, and environment diagnostics using the `android` command-line tool.
development
Elite website image-to-code skill for Codex. For visually important web tasks, it must first generate the design image(s) itself, deeply analyze them, then implement the website to match them as closely as possible. In Codex, it must prefer large, readable, section-specific images instead of tiny compressed boards, generate fresh standalone images for sections or detail views instead of cropping old ones, avoid lazy under-generation, avoid cards-inside-cards-inside-cards UI, and keep the hero clean, spacious, readable, and visible on a small laptop.
development
Create, repair, validate, preview, and package Codex-compatible animated pet spritesheets from character art, screenshots, generated images, or visual references. Use when a user wants to hatch a Codex pet, create a custom animated pet, or build a built-in pet asset with an 8x9 atlas, transparent unused cells, row-by-row animation prompts, QA contact sheets, preview videos, and pet.json packaging. This skill composes the installed $imagegen system skill for visual generation and uses bundled scripts for deterministic spritesheet assembly.