Initial import from garrytan/gstack@026751e (main snapshot via local relay)
Some checks failed
Workflow Lint / actionlint (push) Has been cancelled
Build CI Image / build (push) Has been cancelled
Skill Docs Freshness / check-freshness (push) Has been cancelled
Periodic Evals / build-image (push) Has been cancelled
Periodic Evals / evals (map[file:test/codex-e2e.test.ts name:e2e-codex]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/gemini-e2e.test.ts name:e2e-gemini]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-design.test.ts name:e2e-design]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-plan.test.ts name:e2e-plan]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-qa-bugs.test.ts name:e2e-qa-bugs]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-qa-workflow.test.ts name:e2e-qa-workflow]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-review.test.ts name:e2e-review]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-workflow.test.ts name:e2e-workflow]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-routing-e2e.test.ts name:e2e-routing]) (push) Has been cancelled
Some checks failed
Workflow Lint / actionlint (push) Has been cancelled
Build CI Image / build (push) Has been cancelled
Skill Docs Freshness / check-freshness (push) Has been cancelled
Periodic Evals / build-image (push) Has been cancelled
Periodic Evals / evals (map[file:test/codex-e2e.test.ts name:e2e-codex]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/gemini-e2e.test.ts name:e2e-gemini]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-design.test.ts name:e2e-design]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-plan.test.ts name:e2e-plan]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-qa-bugs.test.ts name:e2e-qa-bugs]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-qa-workflow.test.ts name:e2e-qa-workflow]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-review.test.ts name:e2e-review]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-workflow.test.ts name:e2e-workflow]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-routing-e2e.test.ts name:e2e-routing]) (push) Has been cancelled
Source: https://github.com/garrytan/gstack/commit/026751e
This commit is contained in:
52
browser-skills/hackernews-frontpage/SKILL.md
Normal file
52
browser-skills/hackernews-frontpage/SKILL.md
Normal file
@@ -0,0 +1,52 @@
|
||||
---
|
||||
name: hackernews-frontpage
|
||||
description: Scrape the Hacker News front page (titles, points, comment counts).
|
||||
host: news.ycombinator.com
|
||||
trusted: true
|
||||
source: human
|
||||
version: 1.0.0
|
||||
args: []
|
||||
triggers:
|
||||
- scrape hacker news frontpage
|
||||
- scrape hn frontpage
|
||||
- get hn top stories
|
||||
- latest hacker news stories
|
||||
---
|
||||
|
||||
# Hacker News front-page scraper
|
||||
|
||||
Scrapes the Hacker News (`news.ycombinator.com`) front page and returns the
|
||||
top 30 stories as JSON. Each story has its rank, title, link URL, point count,
|
||||
and comment count.
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
$ $B skill run hackernews-frontpage
|
||||
{
|
||||
"stories": [
|
||||
{ "rank": 1, "title": "...", "url": "...", "points": 412, "comments": 87 },
|
||||
...
|
||||
],
|
||||
"count": 30
|
||||
}
|
||||
```
|
||||
|
||||
## How it works
|
||||
|
||||
1. Navigates to `https://news.ycombinator.com` via the daemon.
|
||||
2. Reads the page HTML.
|
||||
3. Parses each story row (HN's stable `tr.athing` structure) into a typed
|
||||
`Story` record.
|
||||
4. Emits a single JSON document on stdout.
|
||||
|
||||
## Why this is the reference skill
|
||||
|
||||
`hackernews-frontpage` is the smallest interesting browser-skill: no auth,
|
||||
stable HTML, deterministic output, file-fixture-friendly. Every Phase 1
|
||||
component (SDK, scoped tokens, three-tier lookup, spawn lifecycle) is
|
||||
exercised by `$B skill run hackernews-frontpage` and the bundled
|
||||
`script.test.ts`.
|
||||
|
||||
When the HN HTML rotates and our selectors break, the test fails against the
|
||||
captured fixture before users notice. That's the point.
|
||||
Reference in New Issue
Block a user