agentscope-examples/harness-examples/harness-quickstart/src/main/resources/workspace/skills/schema-exploration/SKILL.md
Lists tables, describes columns and data types, identifies foreign key relationships, and maps entity relationships in the database. Use when the user asks about database structure, table layout, column types, what tables exist, foreign keys, or how entities relate to each other.
npx skillsauth add agentscope-ai/agentscope-java schema-explorationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use schema-exploration when the user:
Use sql_list_tables to see everything available.
Tool: sql_list_tables
(no parameters)
Use sql_get_schema with the table name(s) you need to understand:
Tool: sql_get_schema
tables: "Customer" # single table
tables: "Invoice,Customer" # multiple tables at once
This returns:
Look for columns ending in Id — they are almost always foreign keys.
Example for the Chinook database:
Customer.SupportRepId → Employee.EmployeeId
Invoice.CustomerId → Customer.CustomerId
Track.AlbumId → Album.AlbumId
Track.GenreId → Genre.GenreId
Provide:
sql_list_tablesThe Chinook database has 11 tables:
Music Catalog:
- Artist — 275 music artists
- Album — 347 albums (linked to Artist)
- Track — 3,503 tracks (linked to Album, Genre, MediaType)
- Genre — 25 music genres
- MediaType — 5 file formats (MP3, AAC, …)
Commerce:
- Customer — 59 customers from 24 countries
- Invoice — 412 purchase invoices
- InvoiceLine — 2,240 line items (linked to Invoice and Track)
Staff:
- Employee — 8 employees with reporting hierarchy
Playlists:
- Playlist — 18 playlists
- PlaylistTrack — join table linking Playlist ↔ Track
sql_get_schema with tables: "Customer"Customer table:
CustomerId INTEGER PK
FirstName TEXT
LastName TEXT
Company TEXT (nullable)
Address TEXT
City TEXT
State TEXT (nullable)
Country TEXT
PostalCode TEXT (nullable)
Phone TEXT (nullable)
Fax TEXT (nullable)
Email TEXT
SupportRepId INTEGER FK → Employee.EmployeeId
Sample rows show customers from Brazil, Germany, and Canada.
Map the full JOIN path:
Artist (ArtistId)
↓ 1:many
Album (ArtistId, AlbumId)
↓ 1:many
Track (AlbumId, TrackId)
↓ 1:many
InvoiceLine (TrackId, UnitPrice, Quantity)
↓ many:1
Invoice (InvoiceId, Total)
Then suggest using the query-writing skill to write the aggregation query.
documentation
四层技能合成、技能市场、自学习闭环
documentation
Four-layer skill composition, skill marketplaces, the self-learning loop
tools
# 技能(Skill) 一个 skill 就是一份写好的能力包:一个目录里放一份 `SKILL.md`(说明用途、给 agent 看的指令),可以再带一些参考文档、脚本或样例。写好后丢给 agent,它会在合适的时候自己用。 harness 让你从两个地方装 skill: - **接 skill 市场**:Git 仓库、Nacos、MySQL、classpath、或者自己写的后端 - **放在工作区**:项目里 `workspace/skills/` 下的就所有人共用;放在 `<userId>/skills/` 下的只有那个用户看得到 两类来源同时生效,不需要二选一。 > 关于 skill 自身的结构、`SKILL.md` 写法、资源加载、tool 绑定、代码执行这些通用概念,见 [Agent Skill](../task/agent-skill.md)。本文只讲 harness 这一层的用法。 --- ## 一个例子 把团队的 skill 仓库接进来,agent 立刻就能用: ```java HarnessAgent agent = HarnessAgent.bui
data-ai
Answer a quantitative business question by writing a SQL query against the data warehouse, validating it, and presenting the result. Use when the user asks "how many...", "what's the trend of...", "compare X vs Y over...", "what's our top N...", or anything that resolves to a query against tabular data. Produces a small result table plus the underlying query.