Export Report
OVERALL SCORE
Level 3, Bot-Aware
- AI Discoverability 72 out of 100
- Agent Ease of Use 61 out of 100
- Security & Trust 80 out of 100
- GEO, AIO and AEO 64 out of 100
- SEO 100 out of 100
- Performance 71 out of 100
- Accessibility 86 out of 100
What AI sees of your website
Wraps - The Email Platform That Sends Through Your AWS
Write email templates as React components. Define automations as TypeScript. Review in PRs, deploy with your app. Your marketing team edits and sends without code.
Next step
Turn this report into a fix workflow
3 failed checks are ready to move into MCP or CLI remediation. Generate a repair prompt, connect the scanner to your coding agent, or open the integration docs before your next rescan.
| Metric | Score | Status | Passed | Failed | Warning | Evidence |
|---|---|---|---|---|---|---|
| AI Discoverability | 72 | Needs work | 36 | 1 | 0 | View details |
| Discoverability | 100 | Strong | 10 | 0 | 0 | |
| Content Readiness | 63 | Needs work | 23 | 0 | 0 | |
| Bot Access Control | 58 | Needs work | 3 | 1 | 0 | View details |
| Agent Ease of Use | 61 | Needs work | 15 | 3 | 6 | View details |
| API | 79 | Mostly ready | 7 | 0 | 0 | |
| Auth | 54 | Needs work | 3 | 0 | 0 | |
| MCP | 59 | Needs work | 2 | 0 | 0 | |
| Skill Discovery | 50 | Needs work | 3 | 3 | 6 | View details |
| GEO, AIO and AEO | 64 | Needs work | 8 | 0 | 0 | |
| GEO Readiness | Not Applicable | Not Applicable | 3 | 0 | 0 | |
| AIO Readiness | Not Applicable | Not Applicable | 3 | 0 | 0 | |
| AEO Readiness | Not Applicable | Not Applicable | 2 | 0 | 0 | |
| SEO | 100 | Strong | 10 | 0 | 0 | |
| SEO | 100 | Strong | 10 | 0 | 0 | |
| Security & Trust | 80 | Mostly ready | 18 | 0 | 0 | |
| Security & Trust | 80 | Mostly ready | 18 | 0 | 0 | |
| Performance | 71 | Needs work | 14 | 0 | 0 | |
| Performance | 71 | Needs work | 14 | 0 | 0 | |
| Accessibility | 86 | Mostly ready | 5 | 0 | 0 | |
| Accessibility | 86 | Mostly ready | 5 | 0 | 0 |
Prioritized recommendations
Issues ranked by score impact
3 items need attention
AI DiscoverabilityBot Access ControlEstablished
AI bot rules in robots.txt
AI bot rules in robots.txt failed at "Classify AI crawler rules".
69 Fail
AI DiscoverabilityBot Access ControlEstablished
AI bot rules in robots.txt
AI bot rules in robots.txt failed at "Classify AI crawler rules".
Needs attention
AI bot rules in robots.txt
Issue
No explicit User-agent rules were found for major AI crawler tokens.
Why it matters
AI crawler product tokens have different meanings. Explicit robots.txt groups make training, search, and retrieval access policy auditable for compliant crawler operators.
Check name
AI bot rules in robots.txt
Score
31/100
Status
fail
Category
Bot Access Control
Maturity
Established
Goal
Declare deliberate robots.txt rules for major AI training, AI search, user-triggered, and dataset crawlers.
Result
AI bot rules in robots.txt failed at "Classify AI crawler rules".
Validation steps
Classify AI crawler rules
No explicit User-agent rules were found for major AI crawler tokens.
Evidence log1 step · 6 lines
Classify AI crawler rules [fail]! No explicit User-agent rules were found for major AI crawler tokens.INFOClassify AI crawler rulesINFOParsing User-agent groups and Allow/Disallow records for known AI crawler tokens evaluatedPath="/"INFOEvaluating exact User-agent matches before wildcard fallback exactAiPolicyCount=0 totalCrawlerTokens=18FAILNo explicit AI crawler User-agent groups were found examplesExpected=["GPTBot","OAI-SearchBot","ClaudeBot","Google-Extended","CCBot"]FAILCompare explicit AI crawler coverage actual=0 expected="> 0 explicit non-search AI crawler policies" missingTokens=["GPTBot","OAI-SearchBot","ChatGPT-User","ClaudeBot","Claude-SearchBot","Claude-User","Google-Extended","Applebot-Extended","Amazonbot","Amzn-SearchBot","Amzn-User","PerplexityBot"]INFOResolved effective root-path policy for crawler tokens blocked=0 allowed=21 unspecified=0Agent Ease of UseSkill DiscoveryEmerging recommendation
Agent Skills index
Agent Skills index failed at "Validate discovery index schema".
34 Fail
Agent Ease of UseSkill DiscoveryEmerging recommendation
Agent Skills index
Agent Skills index failed at "Validate discovery index schema".
Needs attention
Agent Skills index
Issue
Agent Skills index must use $schema https://schemas.agentskills.io/discovery/0.2.0/schema.json.
Details
Why it matters
An Agent Skills index lets agents discover task-specific instructions through a small trusted index, then verify and load only the skill artifacts they need.
Check name
Agent Skills index
Score
33/100
Status
fail
Category
Skill Discovery
Maturity
Emerging recommendation
Goal
Publish an Agent Skills discovery index that advertises digest-pinned SKILL.md or archive artifacts.
Result
Agent Skills index failed at "Validate discovery index schema".
Validation steps
Discover Agent Skills index
Agent Skills index was found only at the legacy /.well-known/skills/index.json path.
Validate discovery index schema
Agent Skills index must use $schema https://schemas.agentskills.io/discovery/0.2.0/schema.json.
Top-level issues
- $schema must be https://schemas.agentskills.io/discovery/0.2.0/schema.json
Invalid skills
[ { "url": "", "name": "aws-ses-best-practices", "type": "", "index": 0, "valid": false, "digest": "", "invalid": [], "missing": [ "type", "url", "digest" ], "warnings": [], "description": "Email deliverability, warming, compliance, and operational guidelines for AWS Simple Email Service.", "originClass": "same-origin", "resolvedUrl": "https://wraps.dev/.well-known/skills/index.json" }, { "url": "", "name": "email-content-guide", "type": "", "index": 1, "valid": false, "digest": "", "invalid": [], "missing": [ "type", "url", "digest" ], "warnings": [], "description": "Best practices for email content that avoids spam filters. Apply these rules when writing email copy, building templates, or debugging spam placement issues.", "originClass": "same-origin", "resolvedUrl": "https://wraps.dev/.well-known/skills/index.json" }, { "url": "", "name": "ses-troubleshoot", "type": "", "index": 2, "valid": false, "digest": "", "invalid": [], "missing": [ "type", "url", "digest" ], "warnings": [ "description should explain when to use the skill" ], "description": "Interactive SES deliverability troubleshooting. Diagnoses bounces, spam placement, send failures, account health, and complaint issues with targeted AWS CLI commands and ordered remediation steps.", "originClass": "same-origin", "resolvedUrl": "https://wraps.dev/.well-known/skills/index.json" }, { "url": "", "name": "wraps-cli", "type": "", "index": 3, "valid": false, "digest": "", "invalid": [], "missing": [ "type", "url", "digest" ], "warnings": [], "description": "CLI that deploys SES, DynamoDB, Lambda, and IAM resources to your AWS account with automatic DKIM, SPF, DMARC configuration.", "originClass": "same-origin", "resolvedUrl": "https://wraps.dev/.well-known/skills/index.json" }, { "truncated": true, "omittedCount": 4, "originalCount": 8 } ]Validate skill entries
One or more Agent Skills entries have invalid required fields.
Skill entry findings
[ { "url": "", "name": "aws-ses-best-practices", "type": "", "index": 0, "valid": false, "digest": "", "invalid": [], "missing": [ "type", "url", "digest" ], "warnings": [], "description": "Email deliverability, warming, compliance, and operational guidelines for AWS Simple Email Service.", "originClass": "same-origin", "resolvedUrl": "https://wraps.dev/.well-known/skills/index.json" }, { "url": "", "name": "email-content-guide", "type": "", "index": 1, "valid": false, "digest": "", "invalid": [], "missing": [ "type", "url", "digest" ], "warnings": [], "description": "Best practices for email content that avoids spam filters. Apply these rules when writing email copy, building templates, or debugging spam placement issues.", "originClass": "same-origin", "resolvedUrl": "https://wraps.dev/.well-known/skills/index.json" }, { "url": "", "name": "ses-troubleshoot", "type": "", "index": 2, "valid": false, "digest": "", "invalid": [], "missing": [ "type", "url", "digest" ], "warnings": [ "description should explain when to use the skill" ], "description": "Interactive SES deliverability troubleshooting. Diagnoses bounces, spam placement, send failures, account health, and complaint issues with targeted AWS CLI commands and ordered remediation steps.", "originClass": "same-origin", "resolvedUrl": "https://wraps.dev/.well-known/skills/index.json" }, { "url": "", "name": "wraps-cli", "type": "", "index": 3, "valid": false, "digest": "", "invalid": [], "missing": [ "type", "url", "digest" ], "warnings": [], "description": "CLI that deploys SES, DynamoDB, Lambda, and IAM resources to your AWS account with automatic DKIM, SPF, DMARC configuration.", "originClass": "same-origin", "resolvedUrl": "https://wraps.dev/.well-known/skills/index.json" }, { "truncated": true, "omittedCount": 4, "originalCount": 8 } ]Verify advertised artifacts
No valid skill artifacts were available to verify.
Validate skill content
For skill-md artifacts, include valid YAML frontmatter with name and description followed by Markdown. For archives, include a safe root SKILL.md and no unsafe paths.
Review skill artifact security
Do not publish secrets or prompt-injection instructions in skill artifacts. Treat scripts, archives, and cross-origin artifacts as software supply-chain surfaces.
Evidence log6 steps · 31 lines
Discover Agent Skills index [warning]! Agent Skills index was found only at the legacy /.well-known/skills/index.json path.INFODiscover Agent Skills indexINFOTry Agent Skills index paths in priority order paths=["/.well-known/agent-skills/index.json","/.well-known/skills/index.json"]WARNAgent Skills index candidate was not usable path="/.well-known/agent-skills/index.json" url="https://wraps.dev/.well-known/agent-skills/index.json" statusCode=404PASSFetched Agent Skills index candidate path="/.well-known/skills/index.json" url="https://wraps.dev/.well-known/skills/index.json" statusCode=200 contentType="application/json" bytes=1699 selected="selected"WARNAgent Skills index was found only at the legacy /.well-known/skills/index.json path.Validate discovery index schema [fail]! Agent Skills index must use $schema https://schemas.agentskills.io/discovery/0.2.0/schema.json.INFOValidate discovery index schemaINFOParse Agent Skills index JSON validJson=true contentTypeCompatible=trueFAILCompare $schema URI expected="https://schemas.agentskills.io/discovery/0.2.0/schema.json"FAILCompare top-level schema issue count actual=1 expected=0FAILCompare unknown top-level field count actual=0 expected=0FAILAgent Skills index must use $schema https://schemas.agentskills.io/discovery/0.2.0/schema.json.Validate skill entries [fail]! One or more Agent Skills entries have invalid required fields.INFOValidate skill entriesFAILCompare advertised skill count actual=8 expected="> 0"FAILCompare valid skill entry count actual=0 expected="same as advertised skill count"FAILInvalid skill entry skill={"index":0,"valid":false,"name":"aws-ses-best-practices","type":"","description":"Email deliverability, warming, compliance, and operational guidelines for AWS Simple Email Service.","url":"","digest":"","resolvedUrl":"https://wraps.dev/.well-known/skills/index.json","originClass":"same-origin","missing":["type","url","digest"],"invalid":[],"warnings":[]}FAILInvalid skill entry skill={"index":1,"valid":false,"name":"email-content-guide","type":"","description":"Best practices for email content that avoids spam filters. Apply these rules when writing email copy, building templates, or debugging spam placement issues.","url":"","digest":"","resolvedUrl":"https://wraps.dev/.well-known/skills/index.json","originClass":"same-origin","missing":["type","url","digest"],"invalid":[],"warnings":[]}FAILInvalid skill entry skill={"index":2,"valid":false,"name":"ses-troubleshoot","type":"","description":"Interactive SES deliverability troubleshooting. Diagnoses bounces, spam placement, send failures, account health, and complaint issues with targeted AWS CLI commands and ordered remediation steps.","url":"","digest":"","resolvedUrl":"https://wraps.dev/.well-known/skills/index.json","originClass":"same-origin","missing":["type","url","digest"],"invalid":[],"warnings":["description should explain when to use the skill"]}FAILInvalid skill entry skill={"index":3,"valid":false,"name":"wraps-cli","type":"","description":"CLI that deploys SES, DynamoDB, Lambda, and IAM resources to your AWS account with automatic DKIM, SPF, DMARC configuration.","url":"","digest":"","resolvedUrl":"https://wraps.dev/.well-known/skills/index.json","originClass":"same-origin","missing":["type","url","digest"],"invalid":[],"warnings":[]}FAILInvalid skill entry skill={"index":4,"valid":false,"name":"wraps-email","type":"","description":"TypeScript SDK for AWS SES with automatic credential resolution, React.email support, and template management.","url":"","digest":"","resolvedUrl":"https://wraps.dev/.well-known/skills/index.json","originClass":"same-origin","missing":["type","url","digest"],"invalid":[],"warnings":[]}FAILInvalid skill entry skill={"index":5,"valid":false,"name":"wraps-quickstart","type":"","description":"Get started with Wraps email infrastructure. Guides through deploying infrastructure, verifying a domain, installing the SDK, and sending the first email. Adapts to project framework and hosting provider.","url":"","digest":"","resolvedUrl":"https://wraps.dev/.well-known/skills/index.json","originClass":"same-origin","missing":["type","url","digest"],"invalid":[],"warnings":[]}FAILInvalid skill entry skill={"index":6,"valid":false,"name":"wraps-sms","type":"","description":"TypeScript SDK for AWS End User Messaging (Pinpoint SMS) with opt-out management, batch sending, and E.164 validation.","url":"","digest":"","resolvedUrl":"https://wraps.dev/.well-known/skills/index.json","originClass":"same-origin","missing":["type","url","digest"],"invalid":[],"warnings":[]}FAILInvalid skill entry skill={"index":7,"valid":false,"name":"wraps-workflows","type":"","description":"Build email and SMS automation workflows using the @wraps.dev/client TypeScript DSL. Covers triggers, steps, branching, cascades, and the full defineWorkflow API.","url":"","digest":"","resolvedUrl":"https://wraps.dev/.well-known/skills/index.json","originClass":"same-origin","missing":["type","url","digest"],"invalid":[],"warnings":["description should explain when to use the skill"]}FAILOne or more Agent Skills entries have invalid required fields.Verify advertised artifacts [warning]! No valid skill artifacts were available to verify.INFOVerify advertised artifactsWARNCompare artifact fetch count actual=0 expected="> 0"WARNNo valid skill artifacts were available to verify.Validate skill content [warning]INFOValidate skill contentWARNAgent Skills step completed with warningsReview skill artifact security [warning]INFOReview skill artifact securityWARNCompare security finding count actual=0 expected=0WARNAgent Skills step completed with warnings
Agent Ease of UseSkill DiscoveryEmerging recommendation
A2A Agent Card
A2A Agent Card failed at "Probe same-origin A2A endpoint".
18 Fail
Agent Ease of UseSkill DiscoveryEmerging recommendation
A2A Agent Card
A2A Agent Card failed at "Probe same-origin A2A endpoint".
Needs attention
A2A Agent Card
Issue
The same-origin A2A endpoint did not return a valid A2A Message, Task, or authentication challenge.
Why it matters
A2A Agent Cards provide protocol-specific discovery for agent identity, skills, input and output modes, transport bindings, capabilities, and security requirements. Legacy A2A also used /.well-known/agent.json, so scanners must classify the card shape before reporting readiness.
Check name
A2A Agent Card
Score
65/100
Status
fail
Category
Skill Discovery
Maturity
Emerging recommendation
Goal
Publish a version-appropriate A2A Agent Card so A2A-compatible clients can discover agent skills and invoke the declared endpoint safely.
Result
A2A Agent Card failed at "Probe same-origin A2A endpoint".
Validation steps
Discover A2A Agent Card
The A2A Agent Card was found at a legacy or fallback path.
Review public-card safety
The A2A Agent Card security declarations need review.
Probe same-origin A2A endpoint
The same-origin A2A endpoint did not return a valid A2A Message, Task, or authentication challenge.
Evidence log3 steps · 17 lines
Discover A2A Agent Card [warning]! The A2A Agent Card was found at a legacy or fallback path.INFODiscover A2A Agent CardINFOTry A2A discovery paths in priority order paths=["/.well-known/agent-card.json","/.well-known/agent.json","/agent-card.json","/.well-known/a2a/agent-card.json"]WARNA2A candidate path did not return a usable card path="/.well-known/agent-card.json" statusCode=404 contentType="text/html; charset=utf-8"PASSFound an A2A candidate path="/.well-known/agent.json" statusCode=200 contentType="application/json; charset=utf-8" bytes=3108WARNA2A candidate path did not return a usable card path="/agent-card.json" statusCode=404 contentType="text/html; charset=utf-8"WARNA2A candidate path did not return a usable card path="/.well-known/a2a/agent-card.json" statusCode=404 contentType="text/html; charset=utf-8"WARNSelected non-canonical A2A Agent Card path="/.well-known/agent.json" pathClass="legacy-a2a" requestedUrl="https://wraps.dev/.well-known/agent.json"WARNThe A2A Agent Card was found at a legacy or fallback path.Review public-card safety [warning]! The A2A Agent Card security declarations need review.INFOReview public-card safetyWARNCompare public secret findings actual=0 expected=0WARNSecurity declaration needs review warning="security scheme \"bearer\" is declared but not referenced by security requirements"WARNSecurity declaration needs review warning="security scheme \"aws_credentials\" is declared but not referenced by security requirements"WARNThe A2A Agent Card security declarations need review.Probe same-origin A2A endpoint [fail]! The same-origin A2A endpoint did not return a valid A2A Message, Task, or authentication challenge.INFOProbe same-origin A2A endpointINFOProbe same-origin A2A endpoint when scanner policy allows itFAILA2A endpoint probe did not validate url="https://wraps.dev/" statusCode=405FAILThe same-origin A2A endpoint did not return a valid A2A Message, Task, or authentication challenge.
Sign in to see 32 other issues and the full report
Create a free account to unlock every issue, evidence details, exports, and higher free limits.
Fix with MCP or CLI
Use this report as the handoff into remediation. Generate a coding-agent prompt with the failing checks attached, or jump to the MCP and CLI setup docs before your next rescan.
Score history