Check availability, response times, and status
Uptime Monitor - Website Availability Monitoring

Monitor website uptime - check availability, response times, and status
---
name: uptime-monitor
description: Monitor website uptime - check availability, response times, and status
source: orthogonal
---
# Uptime Monitor - Website Availability Monitoring
## Setup
Read your credentials from ~/.gooseworks/credentials.json:
```bash
export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
```
If ~/.gooseworks/credentials.json does not exist, tell the user to run: `npx gooseworks login`Overview
If ~/.gooseworks/credentials.json does not exist, tell the user to run: npx gooseworks login
Manual install (npx, ZIP)
npx skills add gooseworks-ai/goose-skills --skill uptime-monitor -g -a claude-codemkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/gooseworks-ai/goose-skills/tar.gz/615c685f34f8 \
| tar -xz -C ~/.claude/skills --strip-components=4 goose-skills-615c685f34f8/skills/monitoring/capabilities/uptime-monitorNew-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/0dc21671628ebcf7a5af/uptime-monitor.zip" -OutFile "$env:TEMP\uptime-monitor.zip"; Expand-Archive "$env:TEMP\uptime-monitor.zip" -DestinationPath "$HOME\.claude\skills" -ForceConnects with Agent Alley MCP · agentalley.io/mcp
Files included
SKILL.md5.2 KBskill.meta.json279 B
Read the files here
gooseworks-ai/
Show the full text169 lines
Uptime Monitor - Website Availability Monitoring
Setup
Read your credentials from ~/.gooseworks/credentials.json:
export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
If ~/.gooseworks/credentials.json does not exist, tell the user to run: npx gooseworks login
All endpoints use Bearer auth: -H "Authorization: Bearer $GOOSEWORKS_API_KEY"
Monitor website uptime, check response times, and verify service availability.
Workflow
Step 1: Check Website Status
Verify site is accessible:
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"linkup","path":"/fetch","body":{"url":"https://yoursite.com"}}'
Step 2: Verify Page Content
Ensure page loads correctly:
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"scrapegraph","path":"/v1/smartscraper"}'
"website_url": "https://yoursite.com",
"user_prompt": "Check if page loads and contains expected content. Report any error messages."
}'
Step 3: Test API Health
Check API endpoints:
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"linkup","path":"/fetch","body":{"url":"https://api.yoursite.com/health"}}'
Step 4: Check Multiple Endpoints
Monitor critical paths:
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"olostep","path":"/v1/batches"}'
"urls": [
"https://yoursite.com",
"https://yoursite.com/login",
"https://api.yoursite.com/health",
"https://yoursite.com/dashboard"
]
}'
Step 5: Research Status Page
Check official status:
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"scrapegraph","path":"/v1/smartscraper"}'
"website_url": "https://status.yoursite.com",
"user_prompt": "Extract current service status, any incidents, and affected components"
}'
Step 6: Send Alert (if down)
Use SMS for critical alerts:
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"textbelt","path":"/text"}'
"phone": "+1234567890",
"message": "ALERT: yoursite.com is down! Check immediately."
}'
Monitoring Script
SITES=("https://example.com" "https://api.example.com/health")
for site in "${SITES[@]}"; do
echo "Checking: $site"
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"linkup","path":"/fetch","body":"{\\"}'
done
Example Usage
# Quick status check
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"linkup","path":"/fetch","body":{"url":"https://stripe.com"}}'
# Check status page
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"scrapegraph","path":"/v1/smartscraper"}'
"website_url": "https://status.github.com",
"user_prompt": "What is the current status of GitHub services?"
}'
# Monitor competitor uptime
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"linkup","path":"/fetch","body":{"url":"https://competitor.com"}}'
What to Monitor
- Homepage: Main website accessible
- API Health: Health check endpoints
- Login/Auth: Authentication working
- Critical Features: Core functionality
- Status Page: Official service status
Discover More
List all endpoints, or add a path for parameter details:
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt":"linkup API endpoints"}' api show olostep
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt":"scrapegraph API endpoints"}' api show textbelt
Example: curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/details \ -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"api":"olostep","path":"/v1/scrapes"}' for endpoint parameters.
| 1 | |
| 2 | name uptime-monitor |
| 3 | description Monitor website uptime - check availability, response times, and status |
| 4 | source orthogonal |
| 5 | |
| 6 | |
| 7 | |
| 8 | # Uptime Monitor - Website Availability Monitoring |
| 9 | |
| 10 | ## Setup |
| 11 | |
| 12 | Read your credentials from ~/.gooseworks/credentials.json: |
| 13 | |
| 14 | export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])") |
| 15 | export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))") |
| 16 | |
| 17 | |
| 18 | If ~/.gooseworks/credentials.json does not exist, tell the user to run: `npx gooseworks login` |
| 19 | |
| 20 | All endpoints use Bearer auth: `-H "Authorization: Bearer $GOOSEWORKS_API_KEY"` |
| 21 | |
| 22 | |
| 23 | Monitor website uptime, check response times, and verify service availability. |
| 24 | |
| 25 | ## Workflow |
| 26 | |
| 27 | ### Step 1: Check Website Status |
| 28 | Verify site is accessible: |
| 29 | |
| 30 | |
| 31 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 32 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 33 | -H "Content-Type: application/json" \ |
| 34 | -d '{"api":"linkup","path":"/fetch","body":{"url":"https://yoursite.com"}}' |
| 35 | |
| 36 | |
| 37 | ### Step 2: Verify Page Content |
| 38 | Ensure page loads correctly: |
| 39 | |
| 40 | |
| 41 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 42 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 43 | -H "Content-Type: application/json" \ |
| 44 | -d '{"api":"scrapegraph","path":"/v1/smartscraper"}' |
| 45 | "website_url": "https://yoursite.com", |
| 46 | "user_prompt": "Check if page loads and contains expected content. Report any error messages." |
| 47 | }' |
| 48 | |
| 49 | |
| 50 | ### Step 3: Test API Health |
| 51 | Check API endpoints: |
| 52 | |
| 53 | |
| 54 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 55 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 56 | -H "Content-Type: application/json" \ |
| 57 | -d '{"api":"linkup","path":"/fetch","body":{"url":"https://api.yoursite.com/health"}}' |
| 58 | |
| 59 | |
| 60 | ### Step 4: Check Multiple Endpoints |
| 61 | Monitor critical paths: |
| 62 | |
| 63 | |
| 64 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 65 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 66 | -H "Content-Type: application/json" \ |
| 67 | -d '{"api":"olostep","path":"/v1/batches"}' |
| 68 | "urls": [ |
| 69 | "https://yoursite.com", |
| 70 | "https://yoursite.com/login", |
| 71 | "https://api.yoursite.com/health", |
| 72 | "https://yoursite.com/dashboard" |
| 73 | ] |
| 74 | }' |
| 75 | |
| 76 | |
| 77 | ### Step 5: Research Status Page |
| 78 | Check official status: |
| 79 | |
| 80 | |
| 81 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 82 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 83 | -H "Content-Type: application/json" \ |
| 84 | -d '{"api":"scrapegraph","path":"/v1/smartscraper"}' |
| 85 | "website_url": "https://status.yoursite.com", |
| 86 | "user_prompt": "Extract current service status, any incidents, and affected components" |
| 87 | }' |
| 88 | |
| 89 | |
| 90 | ### Step 6: Send Alert (if down) |
| 91 | Use SMS for critical alerts: |
| 92 | |
| 93 | |
| 94 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 95 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 96 | -H "Content-Type: application/json" \ |
| 97 | -d '{"api":"textbelt","path":"/text"}' |
| 98 | "phone": "+1234567890", |
| 99 | "message": "ALERT: yoursite.com is down! Check immediately." |
| 100 | }' |
| 101 | |
| 102 | |
| 103 | ## Monitoring Script |
| 104 | |
| 105 | |
| 106 | SITES=("https://example.com" "https://api.example.com/health") |
| 107 | |
| 108 | for site in "${SITES[@]}"; do |
| 109 | echo "Checking: $site" |
| 110 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 111 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 112 | -H "Content-Type: application/json" \ |
| 113 | -d '{"api":"linkup","path":"/fetch","body":"{\\"}' |
| 114 | done |
| 115 | |
| 116 | |
| 117 | ## Example Usage |
| 118 | |
| 119 | |
| 120 | # Quick status check |
| 121 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 122 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 123 | -H "Content-Type: application/json" \ |
| 124 | -d '{"api":"linkup","path":"/fetch","body":{"url":"https://stripe.com"}}' |
| 125 | |
| 126 | # Check status page |
| 127 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 128 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 129 | -H "Content-Type: application/json" \ |
| 130 | -d '{"api":"scrapegraph","path":"/v1/smartscraper"}' |
| 131 | "website_url": "https://status.github.com", |
| 132 | "user_prompt": "What is the current status of GitHub services?" |
| 133 | }' |
| 134 | |
| 135 | # Monitor competitor uptime |
| 136 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 137 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 138 | -H "Content-Type: application/json" \ |
| 139 | -d '{"api":"linkup","path":"/fetch","body":{"url":"https://competitor.com"}}' |
| 140 | |
| 141 | |
| 142 | ## What to Monitor |
| 143 | |
| 144 | **Homepage**: Main website accessible |
| 145 | **API Health**: Health check endpoints |
| 146 | **Login/Auth**: Authentication working |
| 147 | **Critical Features**: Core functionality |
| 148 | **Status Page**: Official service status |
| 149 | |
| 150 | ## Discover More |
| 151 | |
| 152 | List all endpoints, or add a path for parameter details: |
| 153 | |
| 154 | |
| 155 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \ |
| 156 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 157 | -H "Content-Type: application/json" \ |
| 158 | -d '{"prompt":"linkup API endpoints"}' api show olostep |
| 159 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \ |
| 160 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 161 | -H "Content-Type: application/json" \ |
| 162 | -d '{"prompt":"scrapegraph API endpoints"}' api show textbelt |
| 163 | |
| 164 | |
| 165 | Example: `curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/details \ |
| 166 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 167 | -H "Content-Type: application/json" \ |
| 168 | -d '{"api":"olostep","path":"/v1/scrapes`"}' for endpoint parameters. |
| 169 |
Details
- Updated
- Sep 21, 2026
- License
- MIT
- Stars on the repo
- ★ 1,220
- Checked
- Source
- gooseworks-ai/goose-skills ↗
- Creator
- gooseworks-ai · 206 listings
Made with uptime-monitor

Similar skills
See all →
SkillDiagnose why a specific ad creative is winning or losingCreative performance analysis
PromptAct as a professional full-stack developer taskedProfessional Full-Stack Developer for Network Mapping & Monitoring Application
SkillEstablishes a project's quality bar as a written contractConstraint driven development
SkillInstruments code so production behavior is visibleObservability and instrumentation
SkillOptimizes application performance across frontend, backendPerformance optimization
SkillDiscovers and invokes agent skillsUsing agent skillsMore from gooseworks-ai
SkillMine the highest-converting ad angles from customer reviewsAd angle miner
SkillAnalyze ad campaign performance data to identify what'sAd campaign analyzer
SkillFor paid lead-gen and participant-recruitment adsAd lead quality analyzer
SkillAnalyze the message match between your ads and landing pagesAd to landing page auditor
SkillCheck and improve your brand's visibility across AI searchAeo
SkillSearch Amazon products - find items, compare pricesAmazon Product Search