CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

eas-hosting

Deploy Expo websites and Expo Router API routes to EAS Hosting - export the web bundle, run eas deploy for production and PR preview URLs, manage environment secrets and custom domains, and work within the Cloudflare Workers runtime. Also covers authoring API routes (+api.ts handlers, HTTP methods, request handling, CORS). Use when deploying an Expo web app or API routes, setting up EAS Hosting, or configuring hosting environments and domains. Not for native builds or store releases - use the eas-app-stores skill for those.

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

71%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

Highly actionable content with executable code, exact CLI commands, and a clear deployment sequence, weakened by verbosity from teaching basic web-API concepts and by a monolithic single-file structure that inlines a full API-route authoring reference. Moving the route-authoring material to a references/ file and trimming the generic examples would lift both weak dimensions.

Suggestions

Move the API-route authoring reference (HTTP methods, request handling, CORS, database options, common patterns) into a references/ file (e.g. references/api-routes.md) and keep only a quick-start route example plus a pointer in SKILL.md.

Cut sections that re-teach standard web development Claude already knows — Headers, JSON Body, the generic try/catch Error Handling example, and Rules like 'Use TypeScript for type safety' and 'Handle errors gracefully with try/catch'.

Add a post-deploy validation checkpoint to the deploy workflow, e.g. curl the returned production/preview URL to confirm the deployment is live before reporting success.

DimensionReasoningScore

Conciseness

The deployment and runtime-limitation content is efficient, but several sections re-teach standard web development Claude already knows: 'Headers' and 'JSON Body' examples (URL/searchParams, request.headers.get, await request.json()), a generic try/catch 'Error Handling' example, 'Use fetch instead of node-fetch', and Rules like 'Use proper HTTP status codes' and 'Use TypeScript for type safety'. This matches the level-3 anchor ('mostly efficient but includes some unnecessary explanation or could be tightened') rather than level 4, since multiple sections could be cut entirely.

3 / 5

Actionability

Fully executable throughout: copy-paste-ready TypeScript route handlers, exact commands ('npx expo export -p web', 'npx eas-cli@latest deploy --prod', 'eas env:create --name OPENAI_API_KEY ... --environment production'), curl test commands, and complete EAS Workflow YAML examples covering both production and PR-preview cases. This matches the level-5 'copy-paste ready... covers the common cases' anchor.

5 / 5

Workflow Clarity

The deployment flow is clearly sequenced — prerequisites ('npm install -g eas-cli; eas login'), local testing ('npx expo serve' + curl), export, preview/production deploy, env vars, custom domain, automation — with the local-test step acting as a pre-deploy checkpoint. It falls short of level 5 because there is no post-deploy verification step (e.g., curl the deployed URL or check deploy output), but no destructive/batch-operation cap applies.

4 / 5

Progressive Disclosure

Section headers give the document structure and the cross-reference to the 'eas-workflows' skill is clearly signaled, but the skill ships no bundle files at all: roughly 300 lines of API-route authoring reference (HTTP methods, request handling, CORS, database options, common patterns) are inlined in SKILL.md where they belong in a separate reference file. This matches the level-3 anchor ('content that should be separate is inline') better than level 4's 'most content is appropriately placed'.

3 / 5

Total

15

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: concrete, third-person, comprehensive action coverage with an explicit 'Use when' trigger clause and a clear negative boundary against sibling skills. The only minor gap is a couple of missing natural trigger synonyms.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — 'export the web bundle, run eas deploy for production and PR preview URLs, manage environment secrets and custom domains, and work within the Cloudflare Workers runtime' plus '+api.ts handlers, HTTP methods, request handling, CORS' — with comprehensive coverage across deployment, configuration, and route authoring. It exceeds the level-4 anchor ('minor gaps in coverage') because no significant capability area is missing.

5 / 5

Completeness

Both questions are explicitly answered: a clear 'what' (deploy, manage secrets/domains, author API routes, Cloudflare Workers runtime) and an explicit 'Use when deploying an Expo web app or API routes, setting up EAS Hosting, or configuring hosting environments and domains' trigger clause with concrete phrases. It matches the level-5 anchor exactly; the level-4 anchor's 'when could be more explicit' does not apply.

5 / 5

Trigger Term Quality

Good keyword coverage with natural phrases users would say ('deploying an Expo web app or API routes', 'setting up EAS Hosting', 'configuring hosting environments and domains') plus synonyms ('Expo websites' / 'Expo web app') and the '+api.ts' file pattern. A few natural terms a user might say, such as 'backend' or 'serverless/edge functions', are absent, keeping it just below the comprehensive level-5 anchor.

4 / 5

Distinctiveness Conflict Risk

A clear niche (EAS Hosting / Expo web deployment and API routes) with an explicit disambiguation boundary — 'Not for native builds or store releases - use the eas-app-stores skill for those' — minimizing conflict with related Expo skills. This fits the level-5 'clear niche with distinct triggers' anchor.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

expo/skills

Path

plugins/expo/skills/eas-hosting/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.