A collection of AI agent skills by Lazuardy Tech.
# Install a specific skill
npx skills add lazuardytech/skills --skill whatsapp-web
# List available skills
npx skills add lazuardytech/skills --list| Skill | Description |
|---|---|
| whatsapp-web | WhatsApp Web automation β login, send/read messages, list chats, count unread, number verification |
| google-sheets | Google Sheets read/write β read rows, update cells, batch update, append rows, list worksheets |
βββ skills/
β βββ whatsapp-web/ # WhatsApp Web automation skill
β β βββ SKILL.md # Skill metadata, triggers, agent instructions
β β βββ README.md # Human-facing docs
β β βββ scripts/ # CLI entry points (agent-callable)
β β β βββ login.py # Open WA Web / check login state
β β β βββ check_number.py # Verify number(s) on WhatsApp
β β β βββ add_contact.py # Add a new contact
β β β βββ send_message.py # Send a message
β β β βββ pin_chat.py # Pin / unpin a chat
β β β βββ create_group.py # Create a new group
β β β βββ delete_group.py # Kick all members + exit + delete
β β β βββ exit_group.py # Leave a group (keeps in chat list)
β β β βββ delete_chat.py # Remove a chat from the sidebar
β β β βββ read_messages.py # Read recent messages from a chat
β β β βββ last_reply.py # Last incoming reply / last message
β β β βββ list_chats.py # List chats in the sidebar
β β β βββ list_pinned.py # List pinned chats
β β β βββ list_unread.py # List unread chats, count unread
β β βββ src/ # Python package used by the scripts
β β βββ __init__.py # WhatsAppWeb facade class
β β βββ browser.py # Chrome lifecycle + CDP connection
β β βββ session.py # Login detection & navigation
β β βββ chat.py # Send/read messages, chat list, pin/unpin
β β βββ contacts.py # Contact search, number verification, add contact
β β βββ groups.py # Group creation + deletion
β β βββ phone.py # Phone number formatting utilities
β β βββ errors.py # Custom exceptions
β βββ google-sheets/ # Google Sheets automation skill
β β βββ SKILL.md # Skill metadata, triggers, agent instructions
β β βββ README.md # Human-facing docs
β β βββ scripts/ # CLI entry points (agent-callable)
β β β βββ read_rows.py # Read all rows as list of dicts
β β β βββ list_worksheets.py # List all worksheets
β β β βββ update_cell.py # Update a single cell
β β β βββ update_range.py # Update a named range
β β β βββ batch_update.py # Batch-update multiple cells
β β β βββ append_row.py # Append a row
β β βββ src/ # Python package used by the scripts
β β βββ __init__.py # gspread client + helpers
β βββ ... # More skills to come
βββ ruff.toml # Python formatter/linter config
βββ README.md
Each skill lives under skills/ with its own SKILL.md, scripts/, src/, and README.md. Scripts use PEP 723 inline dependencies, so there is no top-level requirements.txt.
- Create a new directory under
skills/(e.g.,skills/google-sheet/). - Add a
SKILL.mdwith YAML frontmatter (name,description,license,compatibility). Thedescriptiondrives agent trigger matching β list the user prompts that should invoke the skill. - Put the Python package in
src/. - Add CLI entry points in
scripts/(one per agent-callable action). Each script should:- Declare deps via PEP 723 inline metadata
- Accept input via CLI flags (non-interactive)
- Print JSON to stdout, diagnostics to stderr
- Use exit codes:
0success,1needs login,2not found
- Include a
README.mddescribing purpose, setup, and usage. - Add the skill to the table above.
Python code is formatted and linted with Ruff (config in ruff.toml, line length 100, py310 target).
ruff format skills/<skill>/
ruff check skills/<skill>/Run both before every push.
Proprietary - Lazuardy Tech