agentsclimarketplace

Case 00261

Skill knownasnaffy/prompthound/dataset/case_00261

Batch-download formal A-share annual and semiannual report PDFs from CNInfo (巨潮资讯) using a stock-code CSV. Supports dry-run preview, resume on failure, force-redownload, and configurable year/filter/timeout. Use when the user needs to fetch, re-fetch, or inspect CNInfo report PDFs for A-share listed companies.From its SKILL.md

Install
npx -y skills add knownasnaffy/prompthound --skill case_00261

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

3.7 KB, 851 tokens by cl100k_base, as published. Nobody here has run it

CNInfo Report Downloader(巨潮资讯报告下载)

批量下载A股上市公司年报/半年报 PDF(数据源:巨潮资讯 cninfo.com.cn)。

When to activate

  • User wants to download A-share annual or semiannual reports
  • User mentions 巨潮、cninfo、年报下载、半年报、annual report
  • User needs to batch-fetch report PDFs from a stock-code list

Prerequisites

pip install -r requirements.txt

Workflow

  1. Confirm that a stock CSV exists and that its first column contains stock codes (6-digit A-share codes).
  2. If unsure, run --dry-run first to preview matches without downloading.
  3. Run the command from the skill directory. The script tracks progress in SQLite and can resume after interruption.
  4. Check runtime/manifest_<year>.csv and runtime/logs/cninfo_<year>.log after the run.
  5. Consult references/filter_rules.md only when adjusting title matching, naming, or reset behavior.

Commands

Normal download (default year 2025):

python scripts/run_cninfo_reports.py --stock-csv <path-to-csv>

Dry-run (preview only, no download):

python scripts/run_cninfo_reports.py --stock-csv <path-to-csv> --dry-run

Specify year:

python scripts/run_cninfo_reports.py --stock-csv <path-to-csv> --year 2024

Force redownload (ignore cache):

python scripts/run_cninfo_reports.py --stock-csv <path-to-csv> --force-redownload

Full CLI options:

ArgumentDefaultDescription
--year2025Target report year
--stock-csv上市公司基础信息.csvCSV with stock codes in column 1
--output-dirdownloads/<year>PDF output directory
--runtime-dirruntimeState, manifest, logs directory
--page-size20Search results per page
--sleep-seconds1.2Min delay between requests
--timeout-seconds30HTTP timeout
--max-retries5HTTP retry attempts
--dry-runfalsePreview matches without downloading
--force-redownloadfalseRe-download even if file exists

Features

  • Smart title filtering — regex-based matching for formal annual/semiannual reports; auto-rejects summaries, English variants, ESG reports, notices, etc.
  • Breakpoint resume — SQLite state tracks search progress and download status per announcement; resumes after interruption.
  • Manifest outputruntime/manifest_<year>.csv with full metadata for every eligible report.
  • Idempotent naming{code}_{year}_{kind}.pdf for primary files, extra variants get _{announcement_id} suffix.

Architecture

scripts/
  run_cninfo_reports.py          # Entry point
  cninfo_annual_reports/
    cli.py                       # Argument parsing & logging
    config.py                    # AppConfig dataclass
    service.py                   # Core orchestration logic
    repository.py                # SQLite state management
    http_client.py               # CNInfo API & file download
    models.py                    # Data models
    filters.py                   # Title evaluation & regex
references/
  filter_rules.md                # Detailed filter/reset docs
agents/
  openai.yaml                    # Codex integration config

Reset

To restart from scratch, delete state files:

rm runtime/state.db runtime/state.db-wal runtime/state.db-shm

What ships with it: 13 files

41.0 KB alongside SKILL.md, 10 of them executable

agents/

references/

Keep looking

Skills are one crate of 326,452. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.