The Occupational Skill Layer

AI with work experience.

A standard agent knows nothing about recruiting, accounting or project work. skillfactor compiles public occupation data, real job ads and expert knowledge into a ready-to-use skill per profession — a git-native library that gets better with every project. Built for computer-based work: the 1,953 white-collar professions come first.

Skill package — every source compiled
artificial-intelligence-engineer/
 ├─ SKILL.md
 ├─ references/
 │   ├─ profile · tasks · skills
 │   ├─ market.md  ← live job-ad evidence
 │   ├─ ai-skills.md   tiered agent skills
 │   ├─ practitioner-qa.md  ← Stack Exchange
 │   ├─ usecases · intake · quality
 │   └─ glossary · literature
 ├─ evals/
 └─ PROVENANCE.md
all 6 sourcesESCO · O*NET · job ads · experts · skill libs · Stack Exchange
agent skillstiered & mapped from open-source libraries
every file clickablerendered live in the repo
⚡ Live build status as of · auto-refreshes every 5 min
/ 3,039
occupations with market evidence →

Every processed occupation gets its skill rankings from real, relevance-checked job ads — click to browse the finished ones.

%
of the catalog crawled

The crawl started and has been running for — computer-based professions first.

job ads read by our own AI

Each ad is distilled by a self-hosted model (gemma3 on our GPU — no data leaves the house) into structured facts: skills, tools, seniority. One count = one ad.

0white-collar professions — where the computer is the workplace
0occupations in the full catalog
0occupation-to-skill relations
0agent skills mapped in from 16 open-source skill libraries
The formula

Public occupation knowledge becomes a skill

Occupational knowledge belongs to nobody — so nobody maintains it. skillfactor changes that: three sources, one compilation, versioned in git.

Occupation taxonomies

3,000+ occupations from ESCO & O*NET — public, standardized, multilingual. Joined via the official crosswalk.

+

Job ads

Current skill requirements from global job platforms — weighted market evidence with percentages and an as-of date.

+

Expert knowledge

Best practices from literature and the web, 900+ proven agent skills from 16 open-source libraries (Anthropic, NVIDIA, Google, community) — and curated practitioner Q&A from six Stack Exchange communities, each entry attributed (CC-BY-SA).

= AI compiles them into the ready-to-use skill for the profession
Data provenance

Every item knows where it comes from

After compilation, each package reports its source mix. Shown here: the AI-engineer package with every source compiled — every repo carries the same breakdown as PROVENANCE.md with a rendered chart.

 content items in the AI-engineer package
  • Job boards — market evidence

    Full market report from real job ads (JSearch API): ranked requirements with share, seniority distribution, title variants — extracted facts only, aggregated live.

    53%
  • O*NET — tasks & tools

    Task statements, work activities and software from the U.S. occupation database.

    31%
  • Wikipedia & AI expert curation

    Glossary, literature, use cases, intake questions, quality criteria and evals — AI-curated with cited web sources.

    10%
  • ESCO — occupation & competences

    The European profile: essential and optional competences per occupation.

    6%
  • External AI skill packs — mapped

    Proven agent skills from the top open-source libraries (anthropics/skills, obra/superpowers, wshobson/agents), matched to the occupation — linked with per-source attribution, never copied.

    1%
  • Stack Exchange — practitioner Q&A

    What experienced practitioners actually advise: quality-filtered questions and answers from six professional Stack Exchange communities (Workplace, Project Management, Law, Money, Software Engineering, Data Science), condensed into per-profession insights — each entry attributed to its author, CC-BY-SA 4.0.

    0%

Numbers load live from the package manifest. The job-ad rollout for all 3,039 occupations is running — packages gain their market-evidence segment as it lands. See the library-wide chart →

See for yourself

Open a package. Read what the agent knows.

Four occupations, one click each — every file renders directly in the repository.

🤖

AI engineer

Every source compiled: taxonomy profile, gated job-ad evidence (US + DACH), expert curation, tiered agent skills and Stack Exchange practitioner Q&A.

SKILL.md →
AI skills → · repo →

⚖️

Lawyer

Legal profile, case-related tasks and competences — plus mapped compliance & contract agent skills.

SKILL.md →
AI skills → · repo →

🗄️

Database administrator

The deepest AI-skill mapping in the catalog: 90 agent skills for design, migrations, ops and security.

SKILL.md →
AI skills → · repo →

🎨

Web designer

Design competences plus 49 mapped skills — frontend, accessibility, UI patterns and brand systems.

SKILL.md →
AI skills → · repo →

Or browse all 3,039 by industry →

The product

One agent per employee — preloaded with the profession

The agent knows the job from day one — the employee makes it their own. A sparring partner that gets better every day and never quits.

🏭

Preloaded

Starts with the skill profile of the profession — from ESCO, O*NET and market data.

📂

Knows the day-to-day

Mails, chats, documents, meeting transcripts — the personal work context, every day.

🎓

Grows with you

Every task and every correction improves it; hidden abilities surface in the skill graph.

🔒

Stays in the company

Knowledge stays with the role — even when the person leaves. The role never forgets.

Integration

Works with Zeiterfassung.CLOUD

The HR API knows every profession a person has — practiced, trained, or just loved. The agent loads them all.

👥

Many professions, one person

relation_type: practiced · trained · secondary · hobby. The payroll answer stays unambiguous (is_primary, Tätigkeitsschlüssel/KldB); the agent still sees the whole human.

🧩

Hobby skills count

Skills attach to the person, not the diploma. Self-assessed abilities flow in with provenance (self · supervisor · imported · skillfactor) — hidden abilities get a structured data source, not just observation.

🎯

Right person, right slot

skill_requirements per project, team or shift; the matching engine (find_matching_employees) returns who qualifies, with match percentage.

Mustermann Max
Industriemechaniker · practiced · primary · KldB 24522
Fotograf · hobby · self-declared
agent loads ↓
GET /employees/1017/professions
[
  { "profession": "Industriemechaniker", "slug": "industrial-machinery-mechanic",
    "relation_type": "practiced", "is_primary": true,  "kldb_code": "24522" },
  { "profession": "Fotograf",           "slug": "photographer",
    "relation_type": "hobby",     "is_primary": false, "source": "self-declared" }
]
One call — the agent's full package list. Slugs resolve to skills-core/{slug}.

Mapped via ESCO URI · O*NET-SOC · KldB 2010 (Tätigkeitsschlüssel digits 1–5) — no proprietary IDs.

Explore the HR data model →

Safe sharing

Private stays private. Public knowledge grows.

Communitypublic profession profiles — anonymized, curated, PR-based intake
Organisationyour company's standards & processes — private repo, mirrors the community structure
Projectcustomer & project lessons — private, access per project folder

Knowledge rises by proving itself

  • Same insight in ≥ 2 projects → suggested promotion into the org overlay
  • Proven org knowledge → anonymized second distillate as a community PR
  • Hard rule: nothing leaves projects/ automatically — the path outward is always an explicitly confirmed, generalized, anonymized distillate
  • Agents load the cascade Community → Organisation → Project; more specific beats more general

Read the full architecture →

One content, three platforms

Your profession's skill — in Claude, ChatGPT and Gemini

The git repo is the canonical format: plain Markdown, YAML, JSON — no vendor syntax in the content. Thin adapters build the same knowledge into an Anthropic agent skill, a Custom-GPT bundle and a Gemini bundle; one MCP gateway handles reading and writing for all three.

🤖

Claude

Agent-skill package per profession: trigger description, contribution behaviour, competence files as lazy references — installable via plugin marketplace.

💬

ChatGPT

Custom-GPT bundle: generated system instruction + competence files as knowledge upload; writing goes through an Action onto the same gateway.

Gemini

Instruction + grounding files; writing via function calling against the same gateway. One content, three thin adapters.

🗣️

Enrichment path A — chat distillate

Solved something real in a conversation? The skill offers to save it: a project distillate into your private org repo, and — if a transferable core exists — an anonymized distillate as a community pull request. You confirm the full text; nothing commits directly to main.

📥

Enrichment path B — M365 mining

A connector mirrors mails, Teams chats and meeting transcripts into SQL Server. A batch job extracts lesson candidates (consent-gated, roles instead of names, raw data never leaves the database) and files them as a review queue of pull requests — no auto-merge.

How to feed your knowledge back

One sentence saves the lesson

A project manager — SkillFactor skill installed, connector linked — just learned in a Claude conversation that customer A ignores her slide-deck status reports, but responds within hours to a three-bullet email. She keeps that experience:

Save the key insight from this chat as a lesson learned in my SkillFactor repo.
Variants that work in any conversation: "What should we remember from this chat as a team? File it in the repo." · "Log this as a lesson for my project customer A."
You

Happy to — I suggest two placements. Please review both full texts; exactly what you confirm gets committed.

1 · Project distillate → your private org repo projects/customer-a/rollout-2026/lessons/
# Customer A: status updates as a three-bullet email

**Situation:** Weekly slide-deck status reports to customer A went
unanswered for weeks.

**Insight:** Customer A's project lead reads email on the go and never
opens attachments. A three-bullet email — done / next / blocked — gets a
response within hours.

**Action for this project:** Send Friday status as a three-bullet email;
keep the deck for the monthly review only.
2 · Generalized, anonymized distillate → community (pull request)
# Match the report format to how the reader actually reads

**Pattern:** Status reports fail when the format suits the sender, not
the reader — decks go unread by people who live in their inbox.

**Transferable practice:** Ask (or observe) how your counterpart consumes
information, then default to the shortest format that fits it — e.g. a
three-bullet email: done / next / blocked. Keep long formats for
milestones.

Both, just one, or neither?

both

You

Done — both filed as pull requests (never a direct commit):

✅ Org repo: PR #41 · customer-a/rollout-2026 — "Status as three-bullet email"
✅ Community: PR #587 · project-manager — "Match the report format to the reader"

Both await maintainer review. I checked the target folders for similar lessons first — no duplicates found.

Works the same in ChatGPT and Gemini (adapters on the same gateway). Requirements: the profession skill installed + the SkillFactor connector linked — setup guide →

From occupation database to colleague

Refreshed monthly — skills follow the market

01
SourcesESCO · O*NET · job boards · Wikipedia · literature · open agent-skill libraries · Stack Exchange practitioner Q&A
02
Evidence storerequirements from real job ads — weighted by frequency, on Microsoft SQL Server
03
Generatorbuilds skill packages: tasks · intake questions · quality criteria · evals
04
Marketplacegit library — publishing via reviewed pull requests
05
Runtimeevery employee agent loads its profession's profile

Visit the marketplace with machine-readable index →

The role never forgets.

3,039 professions are ready — from the production-depth recruiter to the ICT architect, enriched with the best open-source agent skills. Every skill is a repo, every release a reviewed pull request.

skillfactor. Includes information from the O*NET database (USDOL/ETA, CC BY 4.0) and ESCO (© European Union) — not endorsed by USDOL/ETA or the European Commission.