Namecheap skill#1876
Conversation
🔍 Skill Validator Results✅ All checks passed
Summary
Full validator output```text Found 1 skill(s) [namecheap] 📊 namecheap: 1,512 BPE tokens [chars/4: 1,569] (detailed ✓), 25 sections, 2 code blocks ✅ All checks passed (1 skill(s)) ``` |
There was a problem hiding this comment.
Pull request overview
Adds a new "namecheap" skill that wraps the Namecheap XML API for DNS management, including domain listing, host record CRUD, nameserver and email-forwarding operations, plus a setup flow that detects the public IP and stores credentials in ~/.namecheap-api.
Changes:
- New
skills/namecheap/SKILL.mddescribing the workflow, supported operations, and credential storage. - New
skills/namecheap/namecheap.shBash CLI that issues API requests and performs fetch-modify-write for safe single-record add/remove. - New
skills/namecheap/references/namecheap-api.mdreference and a generated entry indocs/README.skills.md.
Show a summary per file
| File | Description |
|---|---|
| skills/namecheap/SKILL.md | Skill metadata, workflow, behavior rules, and credential-storage guidance. |
| skills/namecheap/namecheap.sh | Bash wrapper implementing all documented API commands and the setup flow. |
| skills/namecheap/references/namecheap-api.md | API reference: parameters, XML response shapes, error codes, record/TTL tables. |
| docs/README.skills.md | Generated skills index entry for the new namecheap skill. |
Copilot's findings
- Files reviewed: 4/4 changed files
- Comments generated: 7
Pull request was converted to draft
Replace the Bash namecheap.sh with a stdlib-only Python CLI (namecheap.py) that resolves all Copilot PR review feedback: - Cache the public IP once per run instead of per request - Build API requests in-process via urllib so the API key never appears in process argv or shell history - Broaden multi-part TLD detection (co.uk, com.au, etc.) and document the limitation - Allow setup to update existing stored credentials - Stop soliciting the API key via chat; use terminal getpass or env vars - Remove non-portable Bash constructs (inline local, grep -oP) Also normalize domain casing, preserve MX priority 0, accept case-insensitive record types, and handle mixed-case email-forwarding attributes. Update SKILL.md and regenerate the skills README. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Addressed all of Copilot's review feedback by rewriting the skill in Python (stdlib-only
Additional hardening: domain-case normalization, MX priority |
Co-authored-by: brunoborges <129743+brunoborges@users.noreply.github.com>
Pull Request Checklist
npm startand verified thatREADME.mdis up to date.stagedbranch for this pull request.Description
Namecheap DNS Management Skill
Type of Contribution
Additional Notes
By submitting this pull request, I confirm that my contribution abides by the Code of Conduct and will be licensed under the MIT License.