GDELT GKG Fetch
Use the CLI-owned gdelt.gkg capability. This Skill supplies intent routing and
result-use boundaries only; the CLI owns source discovery, input/output schemas,
HTTP and archive handling, limits, validation, and receipts.
Before running
- Read
references/tiangong-data-requirement.json.
- Use the caller- or workspace-resolved stable CLI. The requirement declares
compatible capability and operation contract majors; it does not select a
package build.
- Run
data describe with that same CLI. Continue only when the capability
ID and required contract majors match, and copy the exact current
capability/operation versions from that response into the run request.
tiangong-ai data describe gdelt.gkg --json
Use the returned Discovery Metadata to confirm current source coverage,
freshness, restrictions, provides, and doesNotProvide. Do not substitute
facts remembered from an older Skill revision.
Prepare the request
Build a tiangong.data.run-request.v1 envelope. Replace the two version
placeholders with the exact versions from the same data describe response. This example selects a
bounded range of source snapshots:
{
"schemaVersion": "tiangong.data.run-request.v1",
"capabilityId": "gdelt.gkg",
"capabilityVersion": "<describe.manifest.capabilityVersion>",
"operationId": "fetch",
"operationVersion": "<describe.manifest.operations[0].operationVersion>",
"input": {
"mode": "range",
"startDateTime": "2026-03-01T12:00:00Z",
"endDateTime": "2026-03-01T12:45:00Z",
"maxFiles": 4
}
}
Use the operation input schema returned by the same data describe response when choosing
latest or range. Range bounds do not need to align to a 15-minute boundary:
selection starts with the first published snapshot at or after the inclusive
lower bound and stops at the inclusive upper bound. maxFiles selects the
earliest bounded snapshots from a larger window and must be treated as
truncation, not complete window coverage. Do not round timestamps, widen a
range, or increase a safety limit without the caller's approval.
Run
tiangong-ai data run gdelt.gkg fetch \
--input /absolute/path/to/request.json --json
The command emits a tiangong.data.run-result.v1 envelope. Preserve its
contract, warnings, errors, and receipt with data when handing the
result to another workflow.
Result boundaries
- Treat themes, entities, locations, quotations, and tone as machine-extracted
annotations, not verified knowledge, endorsement, sentiment ground truth, or
causal evidence.
- A document identifier or source URL is lineage metadata, not an article body
or proof that every extracted field is correct. Do not claim full-text
acquisition.
- Preserve source timestamps and record identifiers when joining or
deduplicating downstream; do not flatten multi-valued annotations without
documenting the transformation.
- The capability returns normalized in-memory rows and execution metadata. It
does not create a durable ZIP mirror, expose the master file list, or perform
polling and incremental state management.
- Preserve each file's SHA-256, ZIP/CRC validation metadata, row counts, and
capped validation issues. Invalid UTF-8 or non-27-column rows are omitted
locally while valid rows from the same snapshot remain usable.
- Surface
partial, truncation warnings, archive-validation failures, and empty
results. Never reinterpret them as complete absence of coverage.
- Use the dedicated Events or Mentions Skill for their row types; this Skill
must not invoke or combine other feeds automatically.
- Cross-source comparison, persistence, scheduling, and research evidence
admission belong to the caller or Auto Research.
Reference
references/tiangong-data-requirement.json: stable capability requirement; it is not a package lock.
1---2name: gdelt-gkg-fetch3description: Retrieve bounded GDELT 2.0 Global Knowledge Graph rows through the Tiangong CLI from the latest snapshot or an exact UTC range. Use for machine-extracted themes, entities, locations, tone, and document linkage; do not use for article bodies, verified knowledge, event rows, polling, bulk archival mirroring, or causal claims.4---5
6# GDELT GKG Fetch
7
8Use the CLI-owned `gdelt.gkg` capability. This Skill supplies intent routing and
9result-use boundaries only; the CLI owns source discovery, input/output schemas,
10HTTP and archive handling, limits, validation, and receipts.
11
12## Before running
13
141. Read `references/tiangong-data-requirement.json`.
152. Use the caller- or workspace-resolved stable CLI. The requirement declares
16 compatible capability and operation contract majors; it does not select a
17 package build.
183. Run `data describe` with that same CLI. Continue only when the capability
19 ID and required contract majors match, and copy the exact current
20 capability/operation versions from that response into the run request.
21
22```bash
23tiangong-ai data describe gdelt.gkg --json
24```
25
26Use the returned Discovery Metadata to confirm current source coverage,
27freshness, restrictions, `provides`, and `doesNotProvide`. Do not substitute
28facts remembered from an older Skill revision.
29
30## Prepare the request
31
32Build a `tiangong.data.run-request.v1` envelope. Replace the two version
33placeholders with the exact versions from the same `data describe` response. This example selects a
34bounded range of source snapshots:
35
36```json
37{
38 "schemaVersion": "tiangong.data.run-request.v1",
39 "capabilityId": "gdelt.gkg",
40 "capabilityVersion": "<describe.manifest.capabilityVersion>",
41 "operationId": "fetch",
42 "operationVersion": "<describe.manifest.operations[0].operationVersion>",
43 "input": {
44 "mode": "range",
45 "startDateTime": "2026-03-01T12:00:00Z",
46 "endDateTime": "2026-03-01T12:45:00Z",
47 "maxFiles": 4
48 }
49}
50```
51
52Use the operation input schema returned by the same `data describe` response when choosing
53`latest` or `range`. Range bounds do not need to align to a 15-minute boundary:
54selection starts with the first published snapshot at or after the inclusive
55lower bound and stops at the inclusive upper bound. `maxFiles` selects the
56earliest bounded snapshots from a larger window and must be treated as
57truncation, not complete window coverage. Do not round timestamps, widen a
58range, or increase a safety limit without the caller's approval.
59
60## Run
61
62```bash
63tiangong-ai data run gdelt.gkg fetch \
64 --input /absolute/path/to/request.json --json
65```
66
67The command emits a `tiangong.data.run-result.v1` envelope. Preserve its
68`contract`, `warnings`, `errors`, and `receipt` with `data` when handing the
69result to another workflow.
70
71## Result boundaries
72
73- Treat themes, entities, locations, quotations, and tone as machine-extracted
74 annotations, not verified knowledge, endorsement, sentiment ground truth, or
75 causal evidence.
76- A document identifier or source URL is lineage metadata, not an article body
77 or proof that every extracted field is correct. Do not claim full-text
78 acquisition.
79- Preserve source timestamps and record identifiers when joining or
80 deduplicating downstream; do not flatten multi-valued annotations without
81 documenting the transformation.
82- The capability returns normalized in-memory rows and execution metadata. It
83 does not create a durable ZIP mirror, expose the master file list, or perform
84 polling and incremental state management.
85- Preserve each file's SHA-256, ZIP/CRC validation metadata, row counts, and
86 capped validation issues. Invalid UTF-8 or non-27-column rows are omitted
87 locally while valid rows from the same snapshot remain usable.
88- Surface `partial`, truncation warnings, archive-validation failures, and empty
89 results. Never reinterpret them as complete absence of coverage.
90- Use the dedicated Events or Mentions Skill for their row types; this Skill
91 must not invoke or combine other feeds automatically.
92- Cross-source comparison, persistence, scheduling, and research evidence
93 admission belong to the caller or Auto Research.
94
95## Reference
96
97- `references/tiangong-data-requirement.json`: stable capability requirement; it is not a package lock.