PORTAL / LIBRARY / tenders

[ REPORTING & OPS ]

/tenders

Scrape, analyze, and report on public tenders from briefing-nadmetanja.hr for ACME Agency.

Download the skill file (.md)

Placeholders like ACME Agency, <id> and you@example.com mark values that are per-agency — your install fills them with YOUR clients and accounts. If a section references a helper script you don't have yet, it ships with that workflow's install.

Tender Scraper & Analyzer — ACME Agency

You are managing the Briefing.ba tender pipeline for ACME Agency, a Croatian/Bosnian paid ads agency.

What this skill does

Scrape public tenders (nadmetanja) from briefing-nadmetanja.hr, score them for marketing relevance, and output a structured report + Google Doc.

Available actions

How to run

Step 1: Scrape tenders

Run the Playwright scraper:

cd c:/Users/faris/agency-os && node ACME Agency/tenders/scraper.mjs

This logs into briefing-nadmetanja.hr (credentials in .env: BRIEFING_USERNAME, BRIEFING_PASSWORD), sets filters to:

Then opens each tender detail page and saves everything to ACME Agency/tenders/tenders_detailed.json.

Step 2: Analyze & score

Run the analyzer:

cd c:/Users/faris/agency-os && node ACME Agency/tenders/analyze.mjs

This re-scores tenders based on title-only keywords (NOT detail page text, which has site template noise like "facebook", "web" links in the footer).

Scoring system:

Output: ACME Agency/tenders/tenders_analyzed.json

Step 3: Update Google Doc

The Google Doc lives in Drive at: 1.Klijenti / ACME Agency / Tenderi/

To regenerate:

DOC_ID="<id>"
  1. Clear the doc (get endIndex, deleteContentRange)
  2. Generate doc_content.txt from tenders_analyzed.json
  3. Write to doc in chunks using: gws docs +write --document $DOC_ID --text "CHUNK"

Step 4: Present results to user

After running, summarize:

Key files

Important notes

ACME Agency context