Imported from tiangong-ai/agent-skills (
tiangong-kb-edu-search/SKILL.md). Install upstream withnpx skills add tiangong-ai/agent-skills --skill tiangong-kb-edu-search. Copyright stays with the author.
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 the exact reviewed entrypoint
npx --yes --package "@tiangong-ai/cli@0.0.62" -- tiangong-ai; users do not need a preinstalled CLI. SetTIANGONG_AI_CLIorTIANGONG_AI_CLI_BINonly to override the CLI entrypoint intentionally. - Set
TIANGONG_EDU_APIKEYorTIANGONG_AI_APIKEY. Credentials are never accepted in wrapper JSON, request files, URLs, or CLI arguments. - When
request_file/input_fileis provided, the wrapper loads.envfrom that file's directory by default.env_filecan point to a different dotenv file. It must be an owner-only regular non-symlink file (chmod 600), and only documented Tiangong variables are loaded. Existing process variables win. - Optionally set
TIANGONG_AI_API_BASE_URL; the CLI accepts a Supabase project root,/functions/v1, or/rest/v1and 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 --yes --package "@tiangong-ai/cli@0.0.62" -- tiangong-ai education search --query <query> --sources edu --json
For exact edge-function payloads, provide request_file or input_file:
./scripts/edu_search.sh '{
"request_file": "./edu-request.json",
"dry_run": true
}'
Raw Payload Filters
Wrapper JSON can include inline raw edu_search fields; the wrapper will
forward them through the CLI --input path. The same payload can also be put in
request_file / 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. edu_searchhas a separate{"action":"list_filter_options"}mode for discovering metadata values. In that mode,fieldsmay includecourse,type,file_type,language,chapter_number, andname; optionalfilternarrows 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.request_fileorinput_file: JSON body forwarded unchanged.env_file: optional dotenv file. Without it,request_file/input_filecauses the wrapper to load.envfrom that file's directory.filter,action,fields,topK,extK: optional inline raw payload fields foredu_search.sources: optional compatibility field; onlyeduordefaultis accepted.dry_run: true to return the exact request plan with masked credentials.api_base_url,edu_url,region,timeoutas non-secret routing values.top_k,ext_k: only used in query mode.