AgentSkillsCN

uk-public-sector-procurement

利用政府 API 为英国警方构建采购监控工作流。

SKILL.md
--- frontmatter
name: uk-public-sector-procurement
description: Build procurement monitoring workflows for UK police forces using government APIs
model: haiku

UK Public Sector Procurement for Police Forces

Build procurement monitoring workflows for UK police forces using government APIs and market intelligence signals.

Platform Priority (Post-Feb 2025)

Primary: Find a Tender Service (FTS) — system of record for all UK procurements (above and below threshold, except Scotland below-threshold). Use the OCDS API for automated ingestion.

Secondary: Contracts Finder — legacy procurements started before 24 Feb 2025, plus useful for keyword-based searching and backfill.

Quick Start: Ingestion Pattern

python
# Poll FTS OCDS feed (primary stream)
fts_url = "https://www.find-tender.service.gov.uk/api/1.0/ocdsReleasePackages"
params = {
    "stages": "planning,tender,award",
    "updatedFrom": last_poll_timestamp,  # ISO 8601
    "limit": 100
}
# Handle 429 (Retry-After header) and cursor pagination

# For full procurement lifecycle
record_url = f"https://www.find-tender.service.gov.uk/api/1.0/ocdsRecordPackages/{ocid}"
python
# Contracts Finder keyword search (secondary)
cf_url = "https://www.contractsfinder.service.gov.uk/Searches/Search"
body = {
    "searchCriteria": {
        "types": ["Contract"],
        "statuses": ["Open"],
        "keyword": "investigation OR investigator OR disclosure",
        "cpvCodes": ["79720000", "79620000"]
    },
    "size": 100
}
# Handle 403 rate limit (wait 5 minutes)

Police Buyer Detection

Filter by buyer.name containing:

  • Police, Constabulary, PCC, OPCC, Commissioner
  • BlueLight, MOPAC, NCA, British Transport Police

Build a canonical buyer table mapping variants:

  • "Police and Crime Commissioner for Sussex" → FORCE_SUSSEX
  • "Chief Constable of Sussex" → FORCE_SUSSEX

Early Warning Signals

Notice TypeSignal StrengthMeaning
UK1 PipelineVery HighPlanned contracts >£2m, 18-month horizon
UK2 PMEHighActive market engagement, tender imminent
UK3 PlannedMedium-HighOptional pre-tender signal
UK4 TenderHigh (urgent)Live opportunity
UK6 AwardIntel onlyCompetitor/renewal tracking

Alert Tiers for Sales Teams

Tier 1 (Sales-ready): UK4 tender notices; open CF opportunities; approaching deadlines
Tier 2 (Pre-sales): UK2 PME notices; UK3 planned; market engagement events
Tier 3 (Strategic): UK1 pipeline (>£2m); budget settlement updates; HMICFRS findings

Reference Files

Data Model (Core Tables)

code
procurement_process (ocid)
├── notice_release (release_id, stage, notice_type, published_date, buyer_id)
├── award (award_id, supplier_id, value)
└── contract (contract_id, supplier_id, start_date, end_date, value)

buyer_entity (canonical_name, variants[], region, type)
supplier (canonical_name, identifiers[])

Derived signals:

  • incumbent_supplier(force, category) from latest active contract
  • reprocurement_window_start = end_date - 270 days
  • competitor_share_of_awards by force and service category

Renewal Forecasting Defaults

Contract TypeInitial TermExtensionsAlert Before End
Managed service24-36 months1+1 years9-12 months
Framework call-offVariesWithin framework6-9 months
Framework agreementUp to 4 yearsRare12-18 months