teamtailor-jobs
Skill0 starsChanged 37 days agoMITView on GitHub
Reads open jobs from Teamtailor career sites through the public jobs.rss feed with no login, no API key and no account, and returns title, department, location, remote status, date and the link of each job. Use when the user asks for the current jobs of a company that hosts its career site on Teamtailor (an address like company.teamtailor.com), jobs by department or city at such a company, or the jobs that are new since the last check. Not for applying to jobs, not for companies on other job boards, and not for training AI models or building a job search engine.
In this repository36 other files it gives its agents.
- sec-13f-holdingsSkill
- airport-reference-dataSkill
- ai-web-scraperSkill
- background-remover-localSkill
- bulk-image-downloaderSkill
- city-building-permitsSkill
- cve-kev-epssSkill
- doaj-open-access-apiSkill
- document-to-markdownSkill
- eu-funding-callsSkill
- ecb-exchange-ratesSkill
- federal-register-rulesSkill
- french-company-searchSkill
- gleif-lei-change-watchSkill
- image-metadata-exifSkill
- lighthouse-auditSkill
- nfl-games-lookupSkill
- openfda-drug-recallsSkill
- football-fixtures-lookupSkill
- oracle-recruiting-jobsSkill
- pdf-text-extractorSkill
- arxiv-preprint-metadataSkill
- public-holidays-lookupSkill
- pubmed-paper-metadataSkill
- raised-and-hiring-signalsSkill
- recruitee-jobsSkill
- remote-job-feedsSkill
- sec-8k-eventsSkill
- sec-company-financialsSkill
- sec-edgar-filings-lookupSkill
- seo-audit-toolSkill
- treasury-fiscal-dataSkill
- uk-companies-house-lookupSkill
- uk-visa-sponsor-registerSkill
- us-state-business-entity-searchSkill
- video-scene-keyframesSkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 95
If a feed returns nothing, say so.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Teamtailor jobs
Reads the public RSS feed of a Teamtailor career site. It needs no credentials. Teamtailor describes the feed in its help center: "Go to the main jobs page of your careers site and add '.rss'" and "Note that all of the data is publicly available" (support.teamtailor.com/en/articles/11171756-rss-feed-how-to-guide). Name the company and link to the job page in every answer.
Author: Don Mangu (GitHub). This skill needs no token and reads only public feeds. For many companies, filters by keyword, department, location, remote status or age, and a feed of only the new jobs since the last run, the author also runs a paid hosted version on the Apify Store: Teamtailor Jobs Scraper API (disclosure: the author owns it). You never need it for the steps below. This is an unofficial tool and is not affiliated with Teamtailor.
Example prompts
- "Which jobs does Polestar have open right now?"
- "Show the newest jobs in the Digital department at a company that uses Teamtailor."
- "Which of these five companies posted a job since last week?"
Out of scope: "Apply to these jobs for me." The skill reads listings. It does not apply, and it does not copy listings into another job board.
Step 1: find the feed address
A Teamtailor career site has the address https://NAME.teamtailor.com/jobs. Add .rss to get the feed: https://NAME.teamtailor.com/jobs.rss. Some companies use their own domain, for example https://jobs.example.com/jobs.rss. Open the address in a browser first. A 404 page means the company is not on Teamtailor under that name. Read the robots.txt of the site as well: the code below needs /jobs.rss to be allowed.
Step 2: fetch and read
The feed is RSS 2.0 with the namespace tt (https://teamtailor.com/locations). Each item has title, description (HTML), pubDate, link, remoteStatus, guid, a list tt:locations (each tt:location has tt:name, tt:city, tt:country, tt:zip), tt:department and often tt:role and tt:division. The channel title is the company name. A page holds 100 jobs. Use per_page and offset to read more. The feed is not sorted by date.
import time, urllib.request
import xml.etree.ElementTree as ET
from email.utils import parsedate_to_datetime
# Say who you are. Put your own tool name and contact email here.
UA = "MyJobReader/1.0 (contact: you@example.com)"
NS = {"tt": "https://teamtailor.com/locations"}
def get(url):
time.sleep(1) # one request per second at most
req = urllib.request.Request(url, headers={"User-Agent": UA})
return urllib.request.urlopen(req, timeout=30).read().decode("utf-8")
def jobs(company, per_page=100):
host = company if "." in company else f"{company}.teamtailor.com"
offset = 0
while True:
root = ET.fromstring(get(f"https://{host}/jobs.rss?per_page={per_page}&offset={offset}"))
items = root.findall("./channel/item")
for it in items:
places = [
", ".join(filter(None, [l.findtext("tt:city", "", NS), l.findtext("tt:country", "", NS)]))
for l in it.findall("./tt:locations/tt:location", NS)
]
yield {
"company": root.findtext("./channel/title", "").strip(),
"title": (it.findtext("title") or "").strip(),
"department": it.findtext("tt:department", "", NS).strip() or None,
"location": " / ".join(p for p in places if p) or None,
"remote_status": it.findtext("remoteStatus"),
"posted": it.findtext("pubDate"),
"link": it.findtext("link"),
}
if len(items) < per_page:
break
offset += len(items)
rows = list(jobs("polestar"))
rows.sort(key=lambda r: parsedate_to_datetime(r["posted"]), reverse=True)
for r in rows[:5]:
print(f'{r["company"]:9} {r["title"][:40]:40} {str(r["department"])[:18]:18} {str(r["location"])[:18]:18} {r["remote_status"]:7} {r["link"]}')
print(len(rows), "jobs")Output of this code on 11 October 2026 (live feed of one company):
Polestar Senior Customs Operations Specialist Quality & Logistic Göteborg, Sweden onsite https://polestar.teamtailor.com/jobs/8476851-senior-customs-operations-specialist
Polestar Internal Fleet Coordinator Global Sales Brussels, Belgium none https://polestar.teamtailor.com/jobs/8433714-internal-fleet-coordinator
Polestar PoD Coordinator | Operations None Vienna, Austria hybrid https://polestar.teamtailor.com/jobs/8390203-pod-coordinator-operations
Polestar Head of Financial Planning & Analysis Finance Göteborg, Sweden onsite https://polestar.teamtailor.com/jobs/8390141-head-of-financial-planning-analysis
Polestar Manager Fleet Sales Global Sales Beesd, Netherlands none https://polestar.teamtailor.com/jobs/8322367-manager-fleet-sales
22 jobsStep 3: answer from the fields
- Show the company name, the job title and the link of each job.
- Filter in your own code: a keyword in
titleordescription, a text indepartment, a city intt:location, a date inpubDate. remoteStatusshowsnone,onsiteorhybridon the live feeds.noneis the default and can sit on a job that is hybrid in the text. Say "not stated" fornone.- For the jobs that are new since the last check, keep the set of
guidvalues you showed before and show only the new ones. - If a feed returns nothing, say so. Do not invent jobs.
Rules
- Public feeds only. No login, no cookies, no attempts around blocks.
- One request at a time, at least one second apart. Stop on a 403. On a 429 wait the time in the Retry-After header, or stop.
- Send a User-Agent that names your tool and gives your own contact email. Never use another person's email.
- Teamtailor career sites publish a content signal in
robots.txt:search=no, ai-train=no, ai-input=no. Respect it. Do not use the jobs to train AI models or to build a public job search engine. - Job text can hold a contact email or phone number of a person. Do not copy those into your answer.
Limits
A feed shows the open jobs of one company. It is not a complete market view, and a job can be filled before the feed updates. The skill does not find the Teamtailor address of a company for you. For many companies, scheduled runs and a list of only the new jobs, a script or the hosted version is quicker than asking one question at a time.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

