SKILL.md
Tiangong KB Edu Search
Use this skill for Tiangong general education-source retrieval. It is intentionally single-source: always search edu, never all, course, or textbook.
Prerequisites
- The wrapper defaults to
npx @tiangong-ai/[email protected]; users do not need a
preinstalled CLI. Set TIANGONGAICLI or TIANGONGAICLI_BIN only to override the CLI entrypoint.
- Set the authentication environment variables expected by
tiangong-ai. - When
requestfile/inputfileis provided, the wrapper loads.envfrom
that file's directory by default. envfile can point to a different dotenv file. Loaded dotenv values only fill unset environment variables; explicit JSON fields such as apikey, eduapikey, and apibaseurl are passed as CLI flags and take precedence.
- Optionally set
TIANGONGAIAPIBASEURL; the CLI accepts a Supabase project
root, /functions/v1, or /rest/v1 and derives Functions URLs.
Search
For normal searches, pass a query:
./scripts/edu_search.sh '{
"query": "education policy curriculum reform",
"top_k": 5
}'
The script calls:
npx @tiangong-ai/[email protected] education search --query <query> --sources edu --json
For exact edge-function payloads, provide requestfile or inputfile:
./scripts/edu_search.sh '{
"request_file": "./edu-request.json",
"dry_run": true
}'
Raw Payload Filters
Wrapper JSON can include inline raw edusearch fields; the wrapper will forward them through the CLI --input path. The same payload can also be put in requestfile / input_file:
{
"query": "water treatment filter backwashing",
"filter": {
"course": ["水处理工程"]
},
"topK": 5,
"extK": 1
}
- Normal search currently uses only
filter.courseto narrow retrieval to one
or more course names; other metadata fields are not applied in the retrieval path.
edusearchhas a separate{"action":"listfilter_options"}mode for
discovering metadata values. In that mode, fields may include course, type, filetype, language, chapternumber, and name; optional filter narrows the listed options.
topK,extK: raw edge-function names for result count and adjacent chunk
expansion.
datefilterandgetMetaare not supported byedu_search.
Input Fields
queryorinput: convenience query text.requestfileorinputfile: JSON body forwarded unchanged.envfile: optional dotenv file. Without it,requestfile/
input_file causes the wrapper to load .env from that file's directory.
filter,action,fields,topK,extK: optional inline raw payload
fields for edu_search.
sources: optional compatibility field; onlyeduordefaultis accepted.dry_run: true to return the exact request plan with masked credentials.apibaseurl,apikey,eduapi_key.edu_url,region,timeout.topk,extk: only used in query mode.