
Daishin Report Search
Query Daishin Securities equity-research HTML mirrors and return agent-friendly JSON for summaries—not trading advice.
Overview
Daishin Report Search is an agent skill for the Idea phase that lists and fetches Daishin Securities HTML research reports from a public GitHub mirror and returns structured JSON for agent summaries.
Install
npx skills add https://github.com/nomadamas/k-skill --skill daishin-report-searchWhat is this skill?
- Lists latest reports via GitHub recursive tree API on jay-jo-0/github_pages_repo
- Fetches raw HTML and optional YYYYMMDDHHMMSS_explain.html companion pages
- Returns reusable JSON with title, headings, Rating/Target tables, and source URLs
- Read-only lookup—no investment advice, auto-trading, or recommendations
- Primary list path plus GitHub contents API fallback for exact file fetches
- Timestamped report filenames match YYYYMMDDHHMMSS.html with optional _explain.html companions
- Primary discovery uses GitHub recursive tree API on repo main branch
- Requires Node.js 18+ per skill prerequisites
Adoption & trust: 601 installs on skills.sh; 5.4k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need Daishin equity research from a scattered GitHub Pages mirror without brittle scraping or manual copy-paste from HTML pages.
Who is it for?
Solo builders or analysts wiring Claude Code or Cursor to pull Korean broker research from the known public mirror for read-only research workflows.
Skip if: Automated trading, personalized investment recommendations, or environments blocked from GitHub API and raw HTML fetches.
When should I use this skill?
User asks for Daishin Securities latest reports, sector keyword search, a specific report ID with explain page, or JSON-friendly report lists for an agent.
What do I get? / Deliverables
You get a searchable report index plus parsed metadata and text in JSON you can feed into summarization or diligence notes in the same session.
- JSON report index from the public mirror
- Per-report JSON with title, headings, rating/target table fields, raw text, and canonical URLs
Recommended Skills
Journey fit
Canonical shelf is Idea because the skill’s job is discovering and reading published research reports before product or investment decisions. Research subphase fits market and sector report lookup, keyword search, and pulling raw text from timestamped HTML artifacts.
How it compares
Use instead of ad-hoc browser scraping of GitHub Pages listings when you want a stable tree-API plus raw-HTML pipeline packaged as a skill.
Common Questions / FAQ
Who is daishin-report-search for?
Indie builders and researchers who use AI coding agents to collect Daishin Securities public HTML reports into structured data for summaries and notes, not for executing trades.
When should I use daishin-report-search?
During Idea-phase market research when you want latest report lists, keyword search (e.g. semiconductors), or a specific timestamped report with explain-page context as JSON.
Is daishin-report-search safe to install?
It only reads public GitHub-hosted HTML and does not move funds or hold secrets by design; review the Security Audits panel on this page and restrict network use in sensitive environments.
SKILL.md
READMESKILL.md - Daishin Report Search
# Daishin Report Search ## What this skill does 대신증권 리포트 HTML 미러(`jay-jo-0/github_pages_repo`)에서 최신 리포트 목록을 찾고, 특정 리포트의 원문 텍스트·제목·헤딩·Rating/Target 표·원문 링크를 에이전트가 재사용하기 쉬운 JSON으로 반환한다. 이 스킬은 투자 조언, 매매 자동화, 추천을 하지 않는다. 공개 HTML 리포트를 읽어 요약 가능한 자료로 정리하는 조회 전용 스킬이다. ## When to use - "대신증권 최신 리포트 보여줘" - "대신증권 반도체 리포트 찾아줘" - "20260511082352 리포트 원문과 설명 페이지를 읽어줘" - "대신증권 리포트 목록을 에이전트가 쓰기 좋은 JSON으로 줘" ## Prerequisites - 인터넷 연결 - Node.js 18+ - 이 저장소의 `daishin-report-search` npm package 또는 동일 로직 ## Public access path discovered ### Primary source: GitHub recursive tree API - list endpoint: `https://api.github.com/repos/jay-jo-0/github_pages_repo/git/trees/main?recursive=1` - selected paths: repository-root files matching `YYYYMMDDHHMMSS.html` - optional companion paths: `YYYYMMDDHHMMSS_explain.html` - detail raw HTML: `https://raw.githubusercontent.com/Jay-jo-0/github_pages_repo/main/<path>` - browser detail URL: `https://jay-jo-0.github.io/github_pages_repo/<path>` - reason selected: the sample GitHub Pages URL maps directly to a public GitHub repository. The recursive tree API exposes all timestamped HTML filenames without relying on a brittle directory listing screen scrape. Raw GitHub URLs provide stable unauthenticated detail fetches. ### Fallback source: GitHub contents API for an exact file - exact-file endpoint: `https://api.github.com/repos/jay-jo-0/github_pages_repo/contents/<path>?ref=main` - used automatically for a known timestamp when the raw detail URL is unavailable; it also provides GitHub content metadata for manual diagnostics. No `k-skill-proxy` route is used because the upstream is public and does not require an API key. ## Workflow ### 1. List latest reports ```js const { listReports } = require("daishin-report-search") const result = await listReports({ limit: 10, query: "반도체", // optional; matches title/headings/detail text maxInspect: 100, // optional query crawl budget among newest pages githubToken: process.env.GITHUB_TOKEN // optional; raises GitHub API limits when caller has one }) console.log(result.items) ``` CLI: ```bash node packages/daishin-report-search/src/cli.js --limit 10 node packages/daishin-report-search/src/cli.js 반도체 --limit 5 --max-inspect 100 ``` Return each item with: - `id` (`YYYYMMDDHHMMSS`) - `date`, `time`, `timestamp` (filename-derived KST timestamp) - `title` - `headings` - `excerpt` - `ratingTargets` when a Rating/Target table is present - `pageUrl`, `rawUrl`, `apiUrl` - `hasExplain`, `explainUrl` when a companion explanation page exists ### 2. Fetch one report ```js const { fetchReport } = require("daishin-report-search") const report = await fetchReport("20260511082352", { includeExplain: true }) console.log(report.title) console.log(report.text) console.log(report.explain?.text) ``` CLI: ```bash node packages/daishin-report-search/src/cli.js --id 20260511082352 --include-explain ``` ### 3. Summarize conservatively When answering a user, show: ```text - 제목: ... 게시 추정 시각: 2026-05-11 08:23:52 KST (파일명 기준) 주요 헤딩: ... Rating/Target: ... (있는 경우) 원문: https://jay-jo-0.github.io/github_pages_repo/... 설명 페이지: ... (있는 경우) ``` Always state that the timestamp is filename-derived and that report contents can change in the public mirror. ## Fallback order 1. GitHub recursive tree API → filter timestamped root HTML files → sort newest filename first → fetch raw detail HTML for selected/latest candidates. 2. If a query is present, inspect newer candidates up to `maxInspect` until enough matches are found or the budget is exhausted; return a warning if the budget is exhausted. 3. For a known id, fetch raw detail directly. If explanation is requested, fetch `<id>_explain.html`; if absent, return the original report plus a warning. 4. If the tree endpoint is truncated,