skills/popodidi/harvis/source-tenders

source-tenders

SKILL.md

Source Tenders

Scrape and analyze Taiwan government procurement tenders from web.pcc.gov.tw.

Quick Start

# 1. Scrape tenders (last 7 days by default)
uv run scripts/scraper.py > tenders.json

# 2. Analyze and generate HTML report
uv run scripts/analyze.py

# 3. Open the report
open analysis.html

Scraping

# Date options
uv run scripts/scraper.py --days 14              # Last 14 days
uv run scripts/scraper.py --date 2026-01-27      # Specific date
uv run scripts/scraper.py --start 2026-01-20 --end 2026-01-27

# Output formats
uv run scripts/scraper.py --output json          # Default
uv run scripts/scraper.py --output table         # Human-readable
uv run scripts/scraper.py --output csv           # CSV format

Output Fields

Field Description
notice_date Publication date
deadline Bid submission deadline
agency Procuring agency
tender_id Tender case number
title Tender title
tender_method 公開招標/選擇性招標/限制性招標
procurement_type 工程類/財物類/勞務類
budget Budget amount (TWD integer)
url Detail page link
is_amendment Amendment notice flag

Analysis

# Analyze tenders.json → analysis.html + filtered_tenders.json
uv run scripts/analyze.py

# Custom input/output
uv run scripts/analyze.py --input data.json --output report.html

Presets

Analysis supports multiple scoring presets:

Preset Focus High-value Keywords
Software Web/app/system development 網站, APP, API, 系統, 軟體
AI AI/ML/intelligent systems 人工智慧, 機器學習, 智慧, 深度學習

Tags

Tenders are auto-tagged based on keywords: Web, APP, API, System, Database, Cloud, AI, Security, Integration, Maintenance

HTML Report Features

  • Switch presets (matched/unmatched updates dynamically)
  • Filter by: procurement type, budget range, tags (multi-select)
  • Sort by any column
  • Click rows to expand details with all preset scores

Typical Workflow

# In a context folder
cd projects/pcctw/contexts/YYYYMMDD-sourcing/

# Scrape
uv run ../../skills/source-tenders/scripts/scraper.py \
  --start 2026-01-20 --end 2026-01-27 > tenders.json

# Analyze
uv run ../../skills/source-tenders/scripts/analyze.py

# Review
open analysis.html

Technical Notes

  • Source: web.pcc.gov.tw/prkms/tender/common/basic/readTenderBasic
  • Pagination: 100 items/page, auto-fetches all
  • Rate limiting: 1.5s delay between pages (adjustable with --delay)
  • Volume: ~1,500-2,000 tenders/day across all categories

Output Format (tenders.json)

{
  "scraped_at": "2026-01-31T21:53:38.790223",
  "date_range": {"start": "2026-01-26", "end": "2026-01-31"},
  "total_count": 5013,
  "tenders": [
    {"tender_id": "...", "url": "https://web.pcc.gov.tw/...", ...},
    ...
  ]
}

Used by: /pcctw-tender-research-review reads tenders.json to add direct PCC detail links to the review page.

Weekly Installs
1
Repository
popodidi/harvis
First Seen
6 days ago
Installed on
mcpjam1
claude-code1
replit1
junie1
windsurf1
zencoder1