소스 정보
- 저장소
- phoroth/AGENTIC
- 최근 소스 활동
- 2026년 7월 30일 18:53
- 감지된 SKILL.md 언어
- 영어
- 스타
- 3
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/phoroth/AGENTIC --skill hasdata명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Development skill from AGENTIC (https://github.com/phoroth/AGENTIC)
Development skill from AGENTIC (https://github.com/phoroth/AGENTIC)
Generate clean, human-sounding, SEO-optimized WordPress blog posts with optional Yoast metadata, JSON-LD schema markup, and image SEO planning. Supports modular batch output.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | hasdata |
| description | Use HasData APIs for web scraping and structured web data extraction. |
| risk | safe |
| source | official |
| source_type | official |
| source_repo | HasData/hasdata-cli |
| license | MIT |
| license_source | https://github.com/HasData/hasdata-cli/blob/main/LICENSE |
| date_added | 2026-06-04 |
Cloud platform for extracting public web data. One API key, three execution modes. All endpoints sit under https://api.hasdata.com and authenticate with x-api-key.
curl -G 'https://api.hasdata.com/scrape/google/serp' \
--data-urlencode 'q=coffee' \
-H 'x-api-key: <your-api-key>'
401 invalid key, 403 quota exhausted, 429 concurrency cap, 500 server error (retry).
Use this skill when:
| Mode | Latency | When | Endpoint |
|---|---|---|---|
| Web Scraping API | seconds | Arbitrary URL — JS rendering, CSS/AI extraction, screenshots | POST /scrape/web |
| Scraper APIs (sync) | seconds | Pre-parsed JSON for known platforms (Google, Amazon, Zillow, …) | GET /scrape/<vertical>/<resource> |
| Scraper Jobs (async) | minutes–hours | Bulk extraction, recursive crawling, webhook fan-out | POST /scrapers/<slug>/jobs |
Decision rule. Default to a Scraper API when one exists for the platform (pre-parsed JSON, no selector maintenance). Use Web Scraping for arbitrary URLs not covered by an API. Reach for a Scraper Job only when no API equivalent exists — crawler, contacts, sec-edgar, amazon-bestsellers, amazon-product-reviews — or when async fan-out + webhooks save engineering time over a paginated client loop.
{
Treat data as valid only if requestMetadata.status === "ok". HTTP 200 alone isn't enough.
/scrape/google/ai-mode for the answer + references → /scrape/web (markdown) on each reference URL → cited RAG context, no vector DB./scrape/google-maps/search returns business websites and phones; collect contact details only from public, permitted sources and apply opt-out, rate, and privacy-law constraints before any outreach use.crawler Scraper Job with outputFormat: ["markdown"] + includePaths: "/docs/.+" produces an LLM-ready corpus in one submission.knowledgeGraph, localResults, inlineShoppingResults, relatedQuestions carry pre-parsed public facts. Always check them before considering direct page access.x-api-key header on every request. Read from HASDATA_API_KEY env. Never hardcode, never log.429 and 5xx only — exponential backoff, jitter. Never retry 4xx (auth, validation).429s.body.id (integer), not jobId. Persist it immediately. Poll GET /scrapers/jobs/<id> every 10–30 s with backoff; treat webhooks as best-effort and always pair with polling. On finished the status carries data: {csv, json, xlsx} short-lived URLs — download immediately.See references/code-recipes.md for ready-to-paste Python and TypeScript clients with retry, backoff, bounded concurrency, and the full job lifecycle.
jsRendering first, enable only if the page needs it — most static pages parse fine without a headless browser.cookies parameter — cookies go through headers["Cookie"].includePaths regex is case-sensitive. /blog/.+ won't match /Blog/....data is double-wrapped. Each row is body.data[i].data; outer wraps with id, jobId, dataId, createdAt, updatedAt.requestMetadata.status === "ok" is the only success signal. HTTP 200 alone isn't enough.references/web-scraping.md — POST /scrape/web parameters, JS scenarios, AI extraction, cookie auth.references/search.md — Google SERP / Light / AI Mode / News / Shopping / Bing / Trends + pagination.references/ecommerce.md — Amazon (product, search, seller, seller-products) and Shopify.references/real-estate.md — Zillow, Redfin (bracketed filters).references/travel.md — Airbnb, Booking, Google Flights (occupancy rules, token pagination, IATA codes).references/local-business.md — Maps (search/place/reviews/photos/posts), Yelp, YellowPages.references/jobs.md — Indeed and Glassdoor.references/youtube.md — YouTube search / video / channel / transcript.references/scraper-jobs.md — async submit/poll/results, Crawler, Contacts, SEC EDGAR, webhook receiver.references/code-recipes.md — Python / TypeScript clients with retry, backoff, concurrency, polling.