k-skill/docs/features/geeknews-search.md
Jeffrey (Dongkyu) Kim 43e8625986 Add a repeatable GeekNews lookup path without unofficial APIs
Issue #108 needs a dedicated read-only skill that can browse,
search, and inspect GeekNews posts using the public feed alone.
The implementation adds a fixture-backed Atom helper, skill/docs
surfaces, and install/README wiring, then verifies the helper
against the live GeekNews feed.

Constraint: Must stay RSS-first and avoid new dependencies or unofficial APIs
Constraint: Skill development requires syncing the skill into ~/.claude/skills and ~/.agents/skills during verification
Rejected: Fetch article pages directly for v1 | expands scope beyond the approved RSS-driven workflow
Rejected: Use XML parser modules | current python3 environment has expat issues, so regex + HTML parsing is safer here
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Keep the root helper and geeknews-search/scripts copy behaviorally identical because the installed skill must remain self-contained
Tested: PYTHONPATH=.:scripts python3 -m unittest scripts.test_geeknews_search; node --test scripts/skill-docs.test.js; python3 scripts/geeknews_search.py list --limit 3; python3 scripts/geeknews_search.py search --query Claude --limit 3; python3 scripts/geeknews_search.py detail --id 28439; npm run ci
Not-tested: Non-default feed mirrors or future Atom schema changes beyond the current public GeekNews feed shape
Related: Issue #108
2026-04-13 00:16:35 +09:00

2 KiB

긱뉴스 조회 가이드

이 기능으로 할 수 있는 일

  • GeekNews 공개 RSS/Atom 피드에서 최신 글 목록 조회
  • 제목/요약/작성자 기준 키워드 검색
  • 특정 항목의 RSS 기반 요약/링크/작성자/게시 시각 확인

먼저 필요한 것

v1 범위

이 기능은 RSS-first / 읽기 전용 범위로 제공된다.

  • 공개 피드(https://feeds.feedburner.com/geeknews-feed)만 사용한다.
  • 최신 글/검색/상세 조회까지만 다룬다.
  • 댓글, 투표, 로그인, 개인화 상태는 다루지 않는다.

기본 흐름

  1. 최신 글을 훑을 때는 목록 조회부터 실행한다.
  2. 원하는 주제가 있으면 제목/요약/작성자 기준 검색으로 좁힌다.
  3. 특정 글을 확인할 때는 링크/id/토픽 번호 일부로 상세 조회한다.

예시

최신 글 목록:

python3 scripts/geeknews_search.py list --limit 5

검색:

python3 scripts/geeknews_search.py search --query Claude --limit 5

상세:

python3 scripts/geeknews_search.py detail --id 28439

오프라인 fixture 또는 저장된 feed로 검증할 때:

python3 scripts/geeknews_search.py list \
  --feed-file scripts/fixtures/geeknews-feed.xml \
  --limit 3

출력에서 확인할 점

  • source.feed_url 이 GeekNews RSS feed를 가리키는지
  • items[].title, items[].link, items[].author_name, items[].summary 가 함께 내려오는지
  • 상세 조회에서 item.content_htmlitem.summary 가 모두 포함되는지
  • 검색 결과가 제목/요약/작성자 기준으로 보수적으로 매칭되는지

주의할 점

  • RSS 피드 기반이라 원문 전체/댓글/메타데이터는 제한적일 수 있다.
  • FeedBurner 응답이 느리거나 실패하면 재시도하거나 직접 링크를 여는 fallback이 필요하다.
  • 상세 조회는 feed에 포함된 content 범위까지만 보장한다.