k-skill/scripts
Jeffrey (Dongkyu) Kim 4f31dae11f korean-slang-writing (#133): extract summaries via h2 section anchor + og:description fallback
Namu Wiki's current HTML layout uses build-time-obfuscated CSS class
names (e.g. _36R8DWTn, OZVChh+l) and has no <article>/<main>/<section>
tags, so all six MAIN_CONTENT_CLASSES anchors fail to match and
extract_summary() returned empty with a 'Main content region not
detected' warning on every live page.

Replace the single class-based strategy with a three-tier fallback
chain that pins to progressively weaker but more structurally stable
anchors:

  1. First h2 section boundary. Namu Wiki articles consistently open
     with '<h2>1. 개요[편집]</h2>' and mark subsequent sections with
     numbered h2 headings. Extracting text between the first and
     second h2 reliably captures the overview section on every page
     sampled (중꺾마, 갓생, 럭키비키, 어쩔티비).
  2. MAIN_CONTENT_CLASSES / <article> - kept as a legacy fallback
     for older Namu Wiki layouts and for third-party fixtures.
  3. og:description meta tag - final safety net before returning
     empty, gives the agent at least a ~64-char preview when the
     article has unusual structure.

Strip '[편집]' edit-affordance markers and numbered section prefixes
(e.g. '1.2.') from the extracted text so headings don't leak through
as noise.

Live verification (text format):
  slang_lookup.py 중꺾마   -> Title + 286-char summary
  slang_lookup.py 갓생     -> Title + 96-char summary
  slang_lookup.py 럭키비키 -> Title + 59-char summary
  slang_lookup.py 어쩔티비 -> Title + 20-char summary

All previously-empty. Not-found / blocked / upstream-error paths and
exit codes are unchanged.
2026-04-22 13:44:13 +09:00
..
fixtures Merge pull request #122 from NomaDamas/feature/#120 2026-04-16 13:18:28 +09:00
build-region-codes.js Merge dev into main: new skills & proxy enhancements (#72) 2026-04-06 17:44:23 +09:00
check-setup.sh Replace sops+age encryption with plain dotenv and agent-native credential resolution 2026-03-30 22:12:04 +09:00
fine_dust.py Replace sops+age encryption with plain dotenv and agent-native credential resolution 2026-03-30 22:12:04 +09:00
geeknews_search.py Add a repeatable GeekNews lookup path without unofficial APIs 2026-04-13 00:16:35 +09:00
kakaotalk_mac.py Feature/#121 (#127) 2026-04-18 01:08:06 +09:00
korean_character_count.js Standardize Korean text counts for form-limited writing 2026-04-08 22:55:31 +09:00
korean_spell_check.py Merge dev into main: new skills & proxy enhancements (#72) 2026-04-06 17:44:23 +09:00
ktx_booking.py Replace sops+age encryption with plain dotenv and agent-native credential resolution 2026-03-30 22:12:04 +09:00
mfds_drug_safety.py Ship interview-first MFDS safety skills for drugs and food 2026-04-08 22:23:14 +09:00
mfds_food_safety.py Ship interview-first MFDS safety skills for drugs and food 2026-04-08 22:23:14 +09:00
patent_search.py Sync dev → main: 84 commits incl. korea-weather, korean-stock-search, korean-patent-search, bunjang-search (#80) 2026-04-08 21:13:55 +09:00
run-k-skill-proxy.sh Replace sops+age encryption with plain dotenv and agent-native credential resolution 2026-03-30 22:12:04 +09:00
sillok_search.py Merge dev into main: new skills & proxy enhancements (#72) 2026-04-06 17:44:23 +09:00
skill-docs.test.js Drop non-allowlisted coupang-mcp-fallback recommendation from hosted fallback docs 2026-04-21 00:38:50 +09:00
subway_lost_property.py Add an official subway lost-property guidance path 2026-04-10 12:05:50 +09:00
test_coupang_partners_mcp_wrapper.py Drop non-allowlisted coupang-mcp-fallback recommendation from hosted fallback docs 2026-04-21 00:38:50 +09:00
test_fine_dust.py Make the fine-dust proxy easier to consume than the upstream APIs 2026-03-28 17:14:18 +09:00
test_geeknews_search.py Add a repeatable GeekNews lookup path without unofficial APIs 2026-04-13 00:16:35 +09:00
test_kakaotalk_mac.py Feature/#121 (#127) 2026-04-18 01:08:06 +09:00
test_korean_character_count.js Preserve documented Korean count semantics in edge-case inputs 2026-04-08 23:28:42 +09:00
test_korean_slang_writing.py korean-slang-writing (#133): extract summaries via h2 section anchor + og:description fallback 2026-04-22 13:44:13 +09:00
test_korean_spell_check.py Merge dev into main: new skills & proxy enhancements (#72) 2026-04-06 17:44:23 +09:00
test_ktx_booking.py Keep waiting-list reservations aligned with the selected train 2026-03-27 11:26:38 +09:00
test_mfds_drug_safety.py Route MFDS drug-safety and food-safety lookups through k-skill-proxy 2026-04-14 00:07:18 +09:00
test_mfds_food_safety.py Route MFDS drug-safety and food-safety lookups through k-skill-proxy 2026-04-14 00:07:18 +09:00
test_naver_blog_search.py feat: 네이버 블로그 리서치 스킬 추가 (#107) 2026-04-13 00:06:18 +09:00
test_patent_search.py Sync dev → main: 84 commits incl. korea-weather, korean-stock-search, korean-patent-search, bunjang-search (#80) 2026-04-08 21:13:55 +09:00
test_sillok_search.py Merge dev into main: new skills & proxy enhancements (#72) 2026-04-06 17:44:23 +09:00
test_subway_lost_property.py Keep LOST112 curl guidance usable under live latency 2026-04-10 13:01:01 +09:00
test_zipcode_search.py Keep the zipcode helper directly executable 2026-04-10 10:48:00 +09:00
validate-skills.sh Add Korean scholarship search skill and reporting workflow (#116) 2026-04-16 14:58:58 +09:00
zipcode_search.py Keep the zipcode helper directly executable 2026-04-10 10:48:00 +09:00