Skill tags are the labels from Upwork's controlled list of skills that a client attaches to a job post and a freelancer or agency lists on a profile, used by search, filters and matching to pair work with people who say they can do it.
Upwork keeps one vocabulary of skills, from broad ones such as a programming language to narrow ones such as a particular tool, each sitting under a job category. A client picks a handful for a job post, usually from Upwork's suggestions; a freelancer lists a limited number on the main profile and separate sets on each specialised profile, and an agency lists them on its page. Tags are what the search box and the skill filter actually match on, so a client searching for a tool finds profiles that carry the tag, not profiles that merely mention the tool in prose. Upwork's matching, the order of proposals it shows a client and its invitations all lean on the overlap between a post's tags and a profile's.
The list is Upwork's. Tags are added, renamed and retired without notice, a tag chosen years ago may no longer exist, and the number of tags a profile can carry is a limit Upwork sets and may change. A tag asserts nothing: no test stands behind it, unlike a skill certification, which is why clients read tags with the work history beside them.
For an agency the tags on the agency page and the tags on each member's profile are separate lists, and a client searching the agency directory sees only the former.
How Upwork Insights uses it
The freelancer side of the index is grouped by hire skill rather than by tag: for example 351 Python Developers at a median of $35/hr, on the skill page and the matching rate page. The groups follow Upwork's hire pages, which sit above individual tags.