Skills seo-geo
๐Ÿ“ฆ

seo-geo

Content revision r2 High Risk ๐ŸŒ Network access๐Ÿ“ Filesystem access๐Ÿ”‘ Env variablesโš™๏ธ External commands

Improve SEO and AI Search Visibility

Technical issues, weak metadata, and unclear content reduce website visibility. This skill audits those gaps and produces practical SEO and GEO recommendations.

Supports: Claude Codex Code(CC)
โš ๏ธ 38 Poor

Install with my Agent

Copy this request to your Agent. It includes the canonical Skill page and manifest.

Agent request
Review the Skillstore skill "seo-geo" from https://skillstore.io/skills/resciencelab-seo-geo.md and its manifest at https://skillstore.io/api/skills/resciencelab-seo-geo/manifest. Verify the artifact. Stop and obtain explicit user consent before installing or changing files.

Your Agent should still show its plan and request any confirmation required by the security policy.

Agent-readable resources

Use these links when an AI agent, crawler, or script needs clean context instead of reading the full page.

Test it

Using "seo-geo". Audit https://example.com and prioritize technical fixes.

Expected outcome:

  • Priority 1: Add a concise meta description to the home page.
  • Priority 2: Publish a valid sitemap and reference it from robots.txt.
  • Priority 3: Add verified organization details through structured data.

Using "seo-geo". Research keywords for an accounting platform serving small businesses.

Expected outcome:

The report groups commercial and informational themes, compares demand and difficulty, and recommends a primary topic with supporting article opportunities.

Using "seo-geo". Improve an article for AI answer engines.

Expected outcome:

  • Place a direct, sourced answer below the main heading.
  • Add verified statistics and clear attribution near relevant claims.
  • Organize follow-up questions into concise sections with suitable structured data.

Security Audit

High Risk
v5 โ€ข 7/23/2026 Open versioned report

The audit confirms expected outbound requests to selected websites and the fixed DataForSEO API; most alerts are documentation or lexical false positives. The local audit accepts arbitrary URLs without blocking private, loopback, or link-local destinations, creating a high-confidence SSRF risk. No prompt injection or malicious credential handling was found.

18
Files scanned
3,098
Lines analyzed
32
Review items
0
False positives ignored

Confirmed security concerns (1)

High
Arbitrary URL Fetch Allows SSRF
The audit passes an unrestricted URL to urllib. A caller can target loopback, link-local, private, or redirected internal HTTP services and expose parsed page data.
The command-line URL flows directly into urllib.request.urlopen without scheme, DNS, private-address, redirect, or response-size validation.
Capability review items (32)

These are real local capabilities that may be expected for this skill, so they require review but are not counted as confirmed malicious behavior.

Low
Hardcoded URL
curl -sL "https://example.com" | grep -E "<title>|<meta"
This documented workflow issues an outbound request or opens a named search service for the selected website. The behavior is explicit and expected, but requires authorization.
Low
Hardcoded URL
curl -s "https://example.com/robots.txt"
This documented workflow issues an outbound request or opens a named search service for the selected website. The behavior is explicit and expected, but requires authorization.
Low
Hardcoded URL
curl -s "https://example.com/sitemap.xml" | head -30
This documented workflow issues an outbound request or opens a named search service for the selected website. The behavior is explicit and expected, but requires authorization.
Low
Hardcoded URL
curl "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https://example.com&strategy=mo
This documented workflow issues an outbound request or opens a named search service for the selected website. The behavior is explicit and expected, but requires authorization.
Low
Hardcoded URL
curl -sL "https://example.com" | grep -E "<title>|<meta"
This documented workflow issues an outbound request or opens a named search service for the selected website. The behavior is explicit and expected, but requires authorization.
Low
Hardcoded URL
curl -s "https://example.com/robots.txt"
This documented workflow issues an outbound request or opens a named search service for the selected website. The behavior is explicit and expected, but requires authorization.
Low
Hardcoded URL
curl -s "https://example.com/sitemap.xml"
This documented workflow issues an outbound request or opens a named search service for the selected website. The behavior is explicit and expected, but requires authorization.
Low
Hardcoded URL
curl -I "https://example.com"
This documented workflow issues an outbound request or opens a named search service for the selected website. The behavior is explicit and expected, but requires authorization.
Low
Hardcoded URL
curl -sIL "https://example.com" | grep -E "HTTP|Location"
This documented workflow issues an outbound request or opens a named search service for the selected website. The behavior is explicit and expected, but requires authorization.
Low
Hardcoded URL
curl -sL "https://example.com" | wc -c
This documented workflow issues an outbound request or opens a named search service for the selected website. The behavior is explicit and expected, but requires authorization.
Low
Hardcoded URL
curl -o /dev/null -s -w "Total: %{time_total}s\n" "https://example.com"
This documented workflow issues an outbound request or opens a named search service for the selected website. The behavior is explicit and expected, but requires authorization.
Low
Hardcoded URL
curl "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https://example.com"
This documented workflow issues an outbound request or opens a named search service for the selected website. The behavior is explicit and expected, but requires authorization.
Low
Hardcoded URL
curl "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https://example.com&key=YOUR_AP
This documented workflow issues an outbound request or opens a named search service for the selected website. The behavior is explicit and expected, but requires authorization.
Low
Hardcoded URL
python3 scripts/seo_audit.py "https://example.com"
This documented workflow issues an outbound request or opens a named search service for the selected website. The behavior is explicit and expected, but requires authorization.
Low
Python environment access
login = os.environ.get("DATAFORSEO_LOGIN")
The helper reads a purpose-specific DataForSEO credential from the environment. This is expected authentication behavior, but it is real secret access.
Low
Python environment access
password = os.environ.get("DATAFORSEO_PASSWORD")
The helper reads a purpose-specific DataForSEO credential from the environment. This is expected authentication behavior, but it is real secret access.
Low
Python HTTP libraries
import urllib.request
This code performs authenticated HTTPS requests to the fixed DataForSEO API and sends requested SEO query data. The network behavior is expected but real.
Low
Python HTTP libraries
req = urllib.request.Request(
This code performs authenticated HTTPS requests to the fixed DataForSEO API and sends requested SEO query data. The network behavior is expected but real.
Low
Python HTTP libraries
with urllib.request.urlopen(req, timeout=60) as resp:
This code performs authenticated HTTPS requests to the fixed DataForSEO API and sends requested SEO query data. The network behavior is expected but real.
Low
Hardcoded URL
API_BASE = "https://api.dataforseo.com/v3"
This code performs authenticated HTTPS requests to the fixed DataForSEO API and sends requested SEO query data. The network behavior is expected but real.
Low
Python HTTP libraries
import urllib.request
The audit client fetches a user-supplied URL through urllib. This is intended network behavior, but the destination is not restricted to public addresses.
Low
Python HTTP libraries
req = urllib.request.Request(url, headers={"User-Agent": "SEO-Audit/1.0"})
The audit client fetches a user-supplied URL through urllib. This is intended network behavior, but the destination is not restricted to public addresses.
Low
Python HTTP libraries
with urllib.request.urlopen(req, timeout=timeout) as resp:
The audit client fetches a user-supplied URL through urllib. This is intended network behavior, but the destination is not restricted to public addresses.
Low
Hardcoded URL
url = f"https://{url}"
The audit client fetches a user-supplied URL through urllib. This is intended network behavior, but the destination is not restricted to public addresses.
Low
Hardcoded URL
python3 scripts/seo_audit.py "https://example.com"
This documented workflow issues an outbound request or opens a named search service for the selected website. The behavior is explicit and expected, but requires authorization.
Low
Hardcoded URL
curl -sL "https://example.com" | grep -E "<title>|<meta name=\"description\"|<meta property=\"og:|ap
This documented workflow issues an outbound request or opens a named search service for the selected website. The behavior is explicit and expected, but requires authorization.
Low
Hardcoded URL
curl -s "https://example.com/robots.txt"
This documented workflow issues an outbound request or opens a named search service for the selected website. The behavior is explicit and expected, but requires authorization.
Low
Hardcoded URL
curl -s "https://example.com/sitemap.xml" | head -50
This documented workflow issues an outbound request or opens a named search service for the selected website. The behavior is explicit and expected, but requires authorization.
Low
Hardcoded URL
open "https://search.google.com/test/rich-results?url={encoded_url}"
This documented workflow issues an outbound request or opens a named search service for the selected website. The behavior is explicit and expected, but requires authorization.
Low
Hardcoded URL
open "https://validator.schema.org/?url={encoded_url}"
This documented workflow issues an outbound request or opens a named search service for the selected website. The behavior is explicit and expected, but requires authorization.
Low
Hardcoded URL
open "https://www.google.com/search?q=site:{domain}"
This documented workflow issues an outbound request or opens a named search service for the selected website. The behavior is explicit and expected, but requires authorization.
Low
Hardcoded URL
open "https://www.bing.com/search?q=site:{domain}"
This documented workflow issues an outbound request or opens a named search service for the selected website. The behavior is explicit and expected, but requires authorization.

Risk Factors

๐ŸŒ Network access (50)
examples/opc-skills-case-study.md:89 references/platform-algorithms.md:102 references/schema-templates.md:13 references/schema-templates.md:68 references/schema-templates.md:72 references/schema-templates.md:79 references/schema-templates.md:84 references/schema-templates.md:91 references/schema-templates.md:109 references/schema-templates.md:114 references/schema-templates.md:115 references/schema-templates.md:116 references/schema-templates.md:123 references/schema-templates.md:135 references/schema-templates.md:142 references/schema-templates.md:158 references/schema-templates.md:164 references/schema-templates.md:165 references/schema-templates.md:167 references/schema-templates.md:168 references/schema-templates.md:178 references/schema-templates.md:190 references/schema-templates.md:203 references/schema-templates.md:207 references/schema-templates.md:208 references/schema-templates.md:229 references/schema-templates.md:230 references/schema-templates.md:231 references/schema-templates.md:244 references/schema-templates.md:249 references/schema-templates.md:250 references/schema-templates.md:259 references/schema-templates.md:263 references/schema-templates.md:300 references/schema-templates.md:304 references/schema-templates.md:328 references/schema-templates.md:329 references/schema-templates.md:335 references/schema-templates.md:336 references/schema-templates.md:342 references/schema-templates.md:343 references/schema-templates.md:357 references/schema-templates.md:364 references/schema-templates.md:370 references/schema-templates.md:376 references/schema-templates.md:390 references/schema-templates.md:394 references/schema-templates.md:395 references/schema-templates.md:431 references/schema-templates.md:454
๐Ÿ“ Filesystem access (1)
๐Ÿ”‘ Env variables (3)
โš™๏ธ External commands (22)
Audited by: codex View Audit History โ†’
Share & cite this report

Share the versioned assessment report, neutral badge, embed card, and citations. Skillstore reports evidence without deciding whether this Skill is safe.

Open versioned report
Security Assessment

Copy report link

https://skillstore.io/skills/resciencelab-seo-geo/audits/5?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_report

Markdown badge

[![Skillstore security assessment](https://skillstore.io/badges/skills/resciencelab-seo-geo/security.svg)](https://skillstore.io/skills/resciencelab-seo-geo?utm_source=security_passport_badge)

HTML badge

<a href="https://skillstore.io/skills/resciencelab-seo-geo?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/resciencelab-seo-geo/security.svg" alt="Skillstore security assessment" loading="lazy"></a>

Embed card

<iframe src="https://skillstore.io/embed/skills/resciencelab-seo-geo.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>
Academic citations (APA ยท BibTeX ยท CFF)

APA citation

resciencelab. (2026). seo-geo security audit report (audit version 5) [Author version unspecified]. Skillstore. https://skillstore.io/skills/resciencelab-seo-geo/audits/5

BibTeX citation

@techreport{resciencelab-resciencelab-seo-geo-2026, author = {resciencelab}, title = {seo-geo security audit report (audit version 5)}, institution = {Skillstore}, year = {2026}, number = {5}, url = {https://skillstore.io/skills/resciencelab-seo-geo/audits/5}, note = {Author version unspecified} }

CITATION.cff

cff-version: 1.2.0 message: "If you use this Skill, cite its author and this versioned security audit report." title: "seo-geo security audit report (audit version 5)" version: "unspecified" type: report authors: - name: "resciencelab" date-released: "2026-07-23" url: "https://skillstore.io/skills/resciencelab-seo-geo/audits/5" identifiers: - type: other value: "skillstore:resciencelab-seo-geo:audit:5" description: "Skillstore immutable audit report identifier"

Skillstore Score

Why this score Evidence Confidence: High
68
Architecture
85
Maintainability
87
Content
70
Community
83
Spec Compliance

What You Can Build

Audit a Small Business Website

Find technical, metadata, crawlability, and structured-data gaps, then receive a prioritized list of practical fixes.

Optimize a Content Brief

Turn keyword intent, competitor evidence, citations, and answer-first structure into a focused article brief.

Plan Competitive Growth

Compare domains, keyword gaps, SERP positions, and backlinks to build a measured search growth plan.

Try These Prompts

Run a Basic Website Audit
Audit [URL] for titles, descriptions, headings, structured data, robots.txt, sitemap access, and load time. Rank the five most important fixes.
Optimize One Page
Review [page URL] for [primary keyword]. Recommend improved metadata, headings, internal links, answer-first content, citations, and suitable structured data.
Research a Content Opportunity
Research [topic] for [audience] in [location]. Compare intent, demand, difficulty, related queries, and likely competitors using available data.
Build a Competitive SEO and GEO Plan
Compare [site] with [competitors]. Identify keyword gaps, backlink differences, technical issues, schema opportunities, and platform-specific GEO actions. Produce a phased ninety-day plan.

Best Practices

  • Confirm that every analyzed domain is public and authorized before running network checks.
  • Verify keyword metrics, citations, statistics, and structured data claims before publishing recommendations.
  • Prioritize crawlability and accurate page metadata before expanding content or pursuing platform-specific GEO tactics.

Avoid

  • Do not audit private, local, or internal network addresses.
  • Do not publish placeholder URLs, unsupported statistics, or unverified expert quotations.
  • Do not treat keyword stuffing, excessive schema, or repeated AI-focused phrasing as a visibility strategy.

Frequently Asked Questions

Does the skill change my website?
No. It analyzes supplied information and produces recommendations. You decide which changes to implement.
Do I need DataForSEO credentials?
No for the basic website audit. Keyword, SERP, backlink, domain, and competitor research requires valid credentials.
Can it guarantee rankings or AI citations?
No. It improves observable signals, but search engines and AI platforms control indexing, ranking, and citation decisions.
Which search platforms are covered?
Guidance covers Google, Bing, ChatGPT, Perplexity, Gemini, Copilot, and Claude, with platform-specific recommendations where available.
What information should I provide?
Provide a public URL, business goals, target audience, location, priority topics, and relevant competitors.
What data leaves my environment?
Website checks contact selected domains. Optional research sends keywords and domains to DataForSEO using your account.

Developer Details

License

MIT

Skillstore revision

r2

Version notice

The author did not declare a version.

Ref

ebdfe608f5de2b66ff37ab4af12af8ac4f5e8006

Maintenance freshness

7/25/2026

Usage

18 downloads ยท 201 views

File structure

๐Ÿ“ examples/

๐Ÿ“„ opc-skills-case-study.md

๐Ÿ“ references/

๐Ÿ“„ geo-research.md

๐Ÿ“„ google-docs-summary.md

๐Ÿ“„ platform-algorithms.md

๐Ÿ“„ schema-templates.md

๐Ÿ“„ seo-checklist.md

๐Ÿ“„ tools-and-apis.md

๐Ÿ“ scripts/

๐Ÿ“„ autocomplete_ideas.py

๐Ÿ“„ backlinks.py

๐Ÿ“„ competitor_gap.py

๐Ÿ“„ credential.py

๐Ÿ“„ dataforseo_api.py

๐Ÿ“„ domain_overview.py

๐Ÿ“„ keyword_research.py

๐Ÿ“„ related_keywords.py

๐Ÿ“„ seo_audit.py

๐Ÿ“„ serp_analysis.py

๐Ÿ“„ SKILL.md

View all