travel-accommodation — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited travel-accommodation (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Research and recommend accommodations (hotels, resorts, Airbnbs, villas) for client or personal travel. Produces a ranked overview with ratings, price context, amenities, and booking links.
Ask or extract:
Primary method — DuckDuckGo HTML endpoint (works without API key):
import urllib.request, re
def ddg_search(query):
url = "https://html.duckduckgo.com/html/"
data = urllib.parse.urlencode({"q": query}).encode()
req = urllib.request.Request(url, data=data, headers={"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36"})
html = urllib.request.urlopen(req, timeout=10).read().decode()
results = re.findall(r'uddg=(https?[^&]+)', html)
titles = re.findall(r'class="result__title"[^>]*>(.*?)</', html, re.DOTALL)
return list(zip(titles, results))Search queries that work well:
best family [luxury] hotels [area] [destination] [year]top 10 resorts [area] [destination] kids friendlybest Airbnbs [area] [destination] family private poolluxury villas [area] [destination] private poolFallback when DDG blocks (CAPTCHA):
html.duckduckgo.com/html/ with different User-AgentOnce you have article URLs from search results:
import urllib.request, re
def extract_article_text(url):
html = urllib.request.urlopen(url, timeout=10).read().decode()
html = re.sub(r'<script[^>]*>.*?</script>', '', html, flags=re.DOTALL)
html = re.sub(r'<style[^>]*>.*?</style>', '', html, flags=re.DOTALL)
text = re.sub(r'<[^>]+>', '\n', html)
return re.sub(r'\n+', '\n', text).strip()Then scan for hotel/resort names and details using keyword matching:
Keywords: hotel, resort, villa, kids, family, club, pool, suite, luxury, price, rate, beach, restaurant, spa
Use same DDG search with queries like:
Airbnb [area] [destination] family villabest Airbnb [area] [destination] private poolvacation rentals [area] [destination]Direct Airbnb URL: https://www.airbnb.com/[area]/[region]-[country]/stays
Also check specialized villa rental sites for the destination.
For each option, present:
**[Name]** ⭐[rating]/5
- **Vibe:** [luxury / budget / boutique / family]
- **Price:** ~$XXX-XXX/night
- **Kids:** [kids club? babysitting? nurse?]
- **Location:** [area, quiet/busy, proximity to attractions]
- **Booking:** [Booking.com](link) | [Agoda](link) | [Airbnb](link) | [Direct](link)
- **Note:** [why this fits the traveler profile]Always end with a top pick recommendation and why. If asked for alternatives, suggest 1-2 contrasting options (e.g. one ultra-luxury, one better value).
Include booking sites that work for the region:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.