Claude-skill-registry is-website-safe
Analyzes website safety and trustworthiness by checking domain registration, WHOIS data, DNS records, and Trustpilot reviews. Returns a comprehensive trust score and security report. Use when checking if a website is safe, legitimate, trustworthy, or when analyzing domain reputation.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/is-website-safe" ~/.claude/skills/majiayu000-claude-skill-registry-is-website-safe && rm -rf "$T"
skills/data/is-website-safe/SKILL.mdWebsite Safety Analyzer
This skill performs a comprehensive safety and trustworthiness analysis of any website by examining domain registration details, DNS configuration, online reviews, and security indicators.
When to Use
digraph when_to_use { "User asks about website safety?" [shape=diamond]; "User provides URL or domain?" [shape=diamond]; "is-website-safe" [shape=box style=filled fillcolor=lightgreen]; "Ask for URL/domain" [shape=box]; "Use other skill" [shape=box]; "User asks about website safety?" -> "User provides URL or domain?" [label="yes\n(safe, trustworthy,\nlegitimate, scam)"]; "User asks about website safety?" -> "Use other skill" [label="no"]; "User provides URL or domain?" -> "is-website-safe" [label="yes"]; "User provides URL or domain?" -> "Ask for URL/domain" [label="no"]; }
Use this skill when:
- User asks "Is [website] safe?"
- User wants to check if a site is trustworthy/legitimate
- User asks about domain reputation or age
- User wants to avoid scams or phishing sites
Process Flow
digraph process_flow { rankdir=TB; subgraph cluster_extraction { label="Step 1: Domain Extraction"; style=filled; fillcolor=lightblue; "Extract domain from URL" [shape=box]; "Normalize domain" [shape=box]; } subgraph cluster_parallel { label="Step 2: Parallel Data Collection"; style=filled; fillcolor=lightgreen; "Run WHOIS lookup" [shape=box]; "Run DNS queries (A, MX, NS)" [shape=box]; "Search Trustpilot reviews" [shape=box]; } subgraph cluster_scoring { label="Step 3: Trust Score Calculation"; style=filled; fillcolor=lightyellow; "Calculate domain age score (25pts)" [shape=box]; "Calculate WHOIS info score (20pts)" [shape=box]; "Calculate DNS config score (15pts)" [shape=box]; "Calculate Trustpilot score (30pts)" [shape=box]; "Calculate additional indicators (10pts)" [shape=box]; "Sum total score (0-100%)" [shape=box]; } "Start: Receive URL/domain" [shape=oval style=filled fillcolor=lightgray]; "Lookup failed?" [shape=diamond]; "Note missing data" [shape=box]; "Adjust scoring proportionally" [shape=box]; "Format report" [shape=box]; "End: Return safety report" [shape=oval style=filled fillcolor=lightgray]; "Start: Receive URL/domain" -> "Extract domain from URL"; "Extract domain from URL" -> "Normalize domain"; "Normalize domain" -> "Run WHOIS lookup"; "Normalize domain" -> "Run DNS queries (A, MX, NS)"; "Normalize domain" -> "Search Trustpilot reviews"; "Run WHOIS lookup" -> "Lookup failed?"; "Run DNS queries (A, MX, NS)" -> "Lookup failed?"; "Search Trustpilot reviews" -> "Lookup failed?"; "Lookup failed?" -> "Note missing data" [label="yes"]; "Note missing data" -> "Adjust scoring proportionally"; "Lookup failed?" -> "Calculate domain age score (25pts)" [label="no"]; "Adjust scoring proportionally" -> "Calculate domain age score (25pts)"; "Calculate domain age score (25pts)" -> "Calculate WHOIS info score (20pts)"; "Calculate WHOIS info score (20pts)" -> "Calculate DNS config score (15pts)"; "Calculate DNS config score (15pts)" -> "Calculate Trustpilot score (30pts)"; "Calculate Trustpilot score (30pts)" -> "Calculate additional indicators (10pts)"; "Calculate additional indicators (10pts)" -> "Sum total score (0-100%)"; "Sum total score (0-100%)" -> "Format report"; "Format report" -> "End: Return safety report"; }
Instructions
When the user provides a website URL, follow these steps:
1. Extract and Normalize the Domain
Extract the domain from the provided URL:
- Remove protocol (http://, https://)
- Remove www. prefix if present
- Remove path, query parameters, and fragments
- Handle both bare domains (example.com) and full URLs (https://www.example.com/path)
2. Gather Domain Intelligence
Collect data using these tools in parallel:
WHOIS Lookup:
whois [domain]
Extract: registrar, creation date, expiration date, registrant info (if available), nameservers
DNS Information:
dig [domain] ANY +noall +answer dig [domain] A +short dig [domain] MX +short
Extract: A records (IP addresses), MX records (email servers), nameservers
Trustpilot Reviews: Search for "[domain] trustpilot" using WebSearch and analyze:
- Overall rating (out of 5 stars)
- Number of reviews
- Recent review sentiment
- Common complaints or praise
3. Calculate Trust Score
Calculate a trust score (0-100%) based on these weighted factors:
Domain Age (25 points):
- 10+ years: 25 points
- 5-10 years: 20 points
- 2-5 years: 15 points
- 1-2 years: 10 points
- 6-12 months: 5 points
- Less than 6 months: 0 points
WHOIS Information (20 points):
- Complete registrant info visible: 20 points
- Partial info (privacy protection): 10 points
- No info or suspicious: 0 points
- Deduct 10 if expiring within 30 days
DNS Configuration (15 points):
- Valid A records: 5 points
- MX records present: 5 points
- Multiple nameservers: 5 points
Trustpilot Rating (30 points):
- 4.5-5.0 stars: 30 points
- 4.0-4.4 stars: 25 points
- 3.5-3.9 stars: 20 points
- 3.0-3.4 stars: 15 points
- 2.5-2.9 stars: 10 points
- 2.0-2.4 stars: 5 points
- Below 2.0 stars: 0 points
- No reviews found: 15 points (neutral)
Additional Indicators (10 points):
- HTTPS available: 5 points
- Known brand/established site: 5 points
4. Format the Results
Present the results in a clear, structured format:
# Website Safety Report: [domain] ## Trust Score: [X]% - [RATING] [RATING] categories: - 80-100%: TRUSTED ✓ - 60-79%: LIKELY SAFE (Proceed with Caution) - 40-59%: MODERATE RISK (Exercise Caution) - 20-39%: HIGH RISK (Not Recommended) - 0-19%: DANGEROUS (Avoid) ## Detailed Analysis | Category | Details | |----------|---------| | Domain Age | [X years/months] - Registered on [date] | | Expiration | [date] ([X days remaining]) | | Registrar | [registrar name] | | Registrant | [info or "Hidden (Privacy Protected)"] | | IP Address | [primary IP] | | Location | [country/region if detectable] | | Email Server | [MX records or "None found"] | | Nameservers | [list of NS] | | Trustpilot Rating | [X.X stars] ([Y reviews]) or "No reviews found" | | HTTPS Support | [Yes/No] | ## Security Indicators [List positive and negative indicators found] **Positive:** - [e.g., "Domain registered for 8 years"] - [e.g., "Strong Trustpilot rating (4.7/5)"] **Concerns:** - [e.g., "Registrant information hidden"] - [e.g., "Domain expiring soon"] ## Recommendation [Provide a clear recommendation based on the trust score and analysis]
5. Error Handling
If any lookup fails:
- Note which information is unavailable
- Continue with remaining checks
- Adjust trust score calculation accordingly (use proportional scoring)
- Mention data limitations in the report
6. Important Notes
- Some domains use privacy protection services (normal for personal sites)
- New domains aren't necessarily unsafe (lack of history ≠ malicious)
- Trustpilot absence doesn't mean untrustworthy (many legitimate sites have no reviews)
- Consider context: small business sites may have less data than major brands
- Always mention if the analysis is limited by missing data
Example Usage
User: "Is amazon.com safe?" User: "Check if suspicious-deals-2024.xyz is trustworthy" User: "Analyze the safety of https://www.example-shop.com/products"
Tips
- When Trustpilot data is found via WebSearch, use WebFetch to extract the specific rating and review count
- For well-known domains (google.com, microsoft.com, etc.), you can add bonus points
- If WHOIS returns rate limiting errors, note this and proceed with other checks
- DNS lookups are usually fast - run them in parallel with WHOIS
- Consider domain extension (.com, .org vs. .xyz, .tk) as a minor factor