Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/gmackie-eas-hosting
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: frontend, backend, devops, cloud
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/eas-hosting
What's inside
- Skill name
eas-hosting- Description
- EAS service (paid). 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.
- License
- MIT
- Metadata
- tags: deployment,eas,expo,mobile · groups: expo · source: https://github.com/expo/skills@50f59f837ddb7595d8c6683c693207e265d58c43:plugins/expo/skills/eas-hosting · invocation: model
- Instructions
- 427 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (3)
- SKILL.md
- openai.yaml · agents/
- skill.json
SKILL.md (first lines)
# EAS Hosting
> **EAS service - costs apply.** EAS Hosting is a paid Expo Application Services product with free-tier limits; production deploys use your plan's request and bandwidth allowance. See https://expo.dev/pricing. Authoring API routes and exporting the web bundle are free and open source, and you can self-host the exported server output instead of EAS Hosting.
EAS Hosting deploys your Expo **web app and API routes** to Expo's managed edge (Cloudflare Workers). Export the web bundle with `npx expo export -p web` and ship it with `eas deploy` - the same command deploys any Expo Router API routes bundled alongside it. This skill covers deploying a website, authoring API routes, and the hosting runtime; see the Deployment section below for the deploy workflow.
## When to use API routes
Use API routes when you need:
- **Server-side secrets**, API keys, database credentials, or tokens that must never reach the client
- **Database operations**, Direct database queries that shouldn't be exposed
- **Third-party API proxies**, Hide API keys when calling external services (OpenAI, Stripe, etc.)
- **Server-side validation**, Validate data before database writes
- **Webhook endpoints**, Receive callbacks from services like Stripe or GitHub
- **Rate limiting**, Control access at the server level
- **Heavy computation**, Offload processing that would be slow on mobile
## When NOT to use API routes
Avoid API routes when:
- **Data is already public**, Use direct fetch to public APIs instead
- **No secrets required**, Static data or client-safe operations
- **Real-time updates needed**, Use WebSockets or services like Supabase Realtime
- **Simple CRUD**, Consider Firebase, Supabase, or Convex for managed backends
- **File uploads**, Use direct-to-storage uploads (S3 presigned URLs, Cloudflare R2)
- **Authentication only**, Use Clerk, Auth0, or Firebase Auth instead
## File structure
API routes live in the `app` directory with `+api.ts` suffix:
```
app/
api/
hello+api.ts → GET /api/hello
users+api.ts → /api/users
users/[id]+api.ts → /api/users/:id
(tabs)/
index.tsx
```
## Basic API route
```ts
// app/api/hello+api.ts
export function GET(request: Request) {
return Response.json({ message: "Hello from Expo!" });
}
```
## HTTP methods
Export named functions for each HTTP method:
```ts
// app/api/items+api.ts
export function GET(request: Request) {
return Response.json({ items: [] });
}
export async function POST(request: Request) {
const body = await request.json();
return Response.json({ created: body }, { status: 201 });
}
export async function PUT(request: Request) {
const body = await request.json();
return Response.json({ updated: body });
}
export async function DELETE(request: Request) {
return new Response(null, { status: 204 });
}
```
## Dynamic routes
```ts
// app/api/users/[id]+api.ts
export function GET(request: Request, { id }: { id: string }) {
return Response.json({ userId: id });
}
```
## Request handling
### Query parameters
```ts
export function GET(request: Request) {
const url = new URL(request.url);
const page = url.searchParams.get("page") ?? "1";
const limit = url.searchParams.get("limit") ?? "10";
return Response.json({ page, limit });
}
```
### Headers
```ts
export function GET(request: Request) {
const auth = request.headers.get("Authorization");
if (!auth) {
return Response.json({ error: "Unauthorized" }, { status: 401 });
}
return Response.json({ authenticated: true });
}
```
### JSON body
```ts
export async function POST(request: Request) {
const { email, password } = await request.json();From gmackie/agent-skills, MIT.
More from gmackie/agent-skills
- 0.529score
eas-simulator
gmackie
EAS service (paid).
SkillBFreshness: BClaude Code +9 - 0.529score
eas-update-insights
gmackie
EAS service (paid).
SkillBFreshness: BClaude Code +9 - 0.529score
eas-workflows
gmackie
EAS service (paid).
SkillBFreshness: BClaude Code +9 - 0.529score
eas-observe
gmackie
EAS service (paid).
SkillBFreshness: BClaude Code +9 - 0.524score
cloudflare-d1-development
gmackie
Use when adding, debugging, or hardening Cloudflare D1 usage in a Workers app.
SkillBFreshness: BClaude Code +9 - 0.524score
cloudflare-workers-bindings-local-dev
gmackie
Use when setting up, debugging, or hardening local development for a Cloudflare Workers project that depends on bindings like D1, KV, R2, Queues, Durable…
SkillBFreshness: BClaude Code +9 - 0.524score
agent-skills-catalog-maintenance
gmackie
Use when adding, migrating, or reorganizing skills, tools, or agent definitions in an `agent-skills` style repo and you need to keep the catalog surface…
SkillBFreshness: BClaude Code +9 - 0.524score
brand-domain-naming
gmackie
Use when naming or renaming a product, startup, feature, or app and the work depends on brand identity, design culture, domain research, or TLD tradeoffs.
SkillBFreshness: BClaude Code +9 - 0.504score
diagnosing-bugs
gmackie
Diagnosis loop for hard bugs and performance regressions.
SkillBFreshness: BClaude Code +9 - 0.501score
architect
gmackie
Sketch types, signatures, and module structure before code, then stay in the loop while implementation fills in.
SkillBFreshness: BClaude Code +9 - 0.501score
create-verification-skill
gmackie
Generate a project-local verification skill that drives your app the way a user does, in any language, framework, or platform.
SkillBFreshness: BClaude Code +9 - 0.499score
codebase-design
gmackie
Shared vocabulary for designing deep modules.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 26, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/gmackie/agent-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from gmackie
- 0.529score
eas-simulator
gmackie
EAS service (paid).
SkillBFreshness: BClaude Code +9 - 0.529score
eas-update-insights
gmackie
EAS service (paid).
SkillBFreshness: BClaude Code +9 - 0.529score
eas-workflows
gmackie
EAS service (paid).
SkillBFreshness: BClaude Code +9 - 0.529score
eas-observe
gmackie
EAS service (paid).
SkillBFreshness: BClaude Code +9 - 0.524score
cloudflare-d1-development
gmackie
Use when adding, debugging, or hardening Cloudflare D1 usage in a Workers app.
SkillBFreshness: BClaude Code +9 - 0.524score
brand-domain-naming
gmackie
Use when naming or renaming a product, startup, feature, or app and the work depends on brand identity, design culture, domain research, or TLD tradeoffs.
SkillBFreshness: BClaude Code +9
Cite this page
eas-hosting skill. Agent Mart. https://agentmart.dev/skills/gmackie-eas-hosting (last updated 2026-10-24)