setup
Skill0 starsChanged 2 months agoMITView on GitHub
One-time onboarding - CV, preferences, German level, work authorization, and a work history interview
191 other projects use a version of this.
Adopted by
Most recently taken up by
- hydra-db/hydradb-claude-codetheir own version, first seen Nov 8, 2026
- WALKERKILLER/Look-Tongji-Notestheir own version, first seen Nov 8, 2026
- steerlabs/opensteertheir own version, first seen Nov 8, 2026
- ansvisor/ansvisortheir own version, first seen Nov 8, 2026
- dsifry/metaswarmtheir own version, first seen Nov 8, 2026
- anombyte93/prd-taskmastertheir own version, first seen Nov 8, 2026
Used with
Projects with it also use add-voice-transcription, add-discord and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
juancruzmunozalbeloSkilladd-voice-transcription
Add voice message transcription to NanoClaw using OpenAI's Whisper API. Automatically transcribes WhatsApp voice notes so the agent can read and respond to them.
Also in 5 projects that use this
MicrosoftSkilladd-discord
Add Discord bot channel integration via Chat SDK.
Also in 11 projects that use this
MicrosoftSkilladd-slack
Add Slack channel integration via Chat SDK.
Also in 11 projects that use this
juancruzmunozalbeloSkilladd-telegram-swarm
Add Agent Swarm (Teams) support to Telegram. Each subagent gets its own bot identity in the group. Requires Telegram channel to be set up first (use /add-telegram). Triggers on "agent swarm", "agent teams telegram", "telegram swarm", "bot pool".
Also in 7 projects that use this
- +8 more from microsoft
Other versions191 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 191
- anthropics/knowledge-work-plugins★ 35ksame name
- garrytan/gbrain★ 32ksame name
- gavrielc/nanoclaw★ 31ksame name
- nanocoai/nanoclaw★ 31ksame name
- qwibitai/nanoclaw★ 31ksame name
- Q00/ouroboros★ 6.3ksame name
- pytorch/executorch★ 5.2ksame name
- agenticnotetaking/arscontexta★ 3.5ksame name
- aws/agent-toolkit-for-aws★ 3.4ksame name
- spotify/portal-ai-plugins★ 2.8ksame name
181 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository14 other files it gives its agents.
- AGENTS.mdAGENTS.md
- anschreibenSkill
- applySkill
- evaluateSkill
- followupSkill
- interview-prepSkill
- job-searchSkill
- mappeSkill
- network-scanSkill
- patternsSkill
- tailor-cvSkill
- trackerSkill
- visaSkill
- zeugnisSkill
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 2 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 171 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 25
Check for real content (not templates) in: resume/, preferences.md, profile.md, contacts.csv, and whether profile.md has a filled German …
- Very specific: line 31
Ask for the CV. Accept a file path (copy into DATA_DIR/resume/) or pasted text (save as DATA_DIR/resume/resume.md).
- Distinctive: line 51
Ask for German and English levels in CEFR.
- Very specific: line 65
Ask for status per shared/references/work-authorization.md.
- Distinctive: line 78
If the user does not know their market rate, offer to research it for their title and region rather than letting them name a number blind.
- Very specific: line 107
Follow scripts/conduct-interview.md.
“Common” is measured: kept by at least 6 in 10 of the 171 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Setup
Priority hierarchy:
shared/references/priority-hierarchy.md· Interaction rules:shared/references/interaction.md
Onboarding. Runs once, then every other skill has what it needs. Resolve the data directory per shared/references/data-directory.md; if none exists, this is a fresh install — create it.
Tell the user up front how many steps there are, so they know what they signed up for. Skip every step whose data already exists — never re-ask.
Arguments
- (none) — full onboarding, only the missing parts
interview— just the work history interviewgerman— just the German-specific facts (Step 3), for someone who has a CV and preferences already
Step 0: What is already done
Check for real content (not templates) in: resume/, preferences.md, profile.md, contacts.csv, and whether profile.md has a filled German Application Facts section.
Report what exists, then run only what is missing.
Step 1: CV
Ask for the CV. Accept a file path (copy into DATA_DIR/resume/) or pasted text (save as DATA_DIR/resume/resume.md).
Confirm and summarize what you read: name, most recent role, number of roles, apparent seniority, and any gap over three months — flag those now, because Step 3 needs an explanation for each.
Step 2: Preferences
One open question: target roles, locations, salary, and what to rule out. Save to DATA_DIR/preferences.md with sections for Target Roles, Standort, Vergütung, Must-Haves, Dealbreakers, Nice-to-Haves.
Then confirm the German-market dealbreakers explicitly with AskUserQuestion, because they are not obvious to someone new to the market:
- Zeitarbeit / Arbeitnehmerüberlassung — acceptable or dealbreaker? Explain what it is first: you are employed by an agency and leased to a client, usually at lower pay. Default: dealbreaker.
- Öffentlicher Dienst — interested? Explain the tradeoff: TVöD pay bands are fixed and often below private tech, but the security, hours, and pension are materially better. German-only applications.
- Befristete Verträge — acceptable, or permanent only?
Step 3: German Application Facts
This is the step no other tool has, and everything downstream depends on it. Fill the German Application Facts section of profile.md from shared/templates/profile.md.
3a — Sprachen
Ask for German and English levels in CEFR. If the user is unsure of their German, give them the anchors rather than making them guess blind:
| Level | You can... |
| A2 | order food, handle simple routine exchanges |
| B1 | hold an everyday conversation, follow a slow meeting |
| B2 | work in German with effort, follow meetings, still hunting for words |
| C1 | work in German comfortably, argue a position, handle a phone interview |
| C2 | near-native |
Then say plainly why it matters: this number decides whether Wingman writes your applications in German, and an inflated answer produces a letter you cannot back up in a phone screen. Store the honest level.
3b — Arbeitserlaubnis
Ask for status per shared/references/work-authorization.md. If non-EU:
- Which permit, valid until when
- Whether an employer change needs approval
- For a non-EU degree: check anabin now. Offer to look it up. Finding a recognition problem today is cheap; finding it against a deadline is not.
3c — Verfügbarkeit und Vergütung
Kündigungsfrist, computed earliest start date, Gehaltsvorstellung, and the current package — base, 13th month, bonus, bAV, VWL — in Jahresbrutto throughout. Reference shared/references/de-market.md.
The current package is not optional politeness. evaluate Block E reads it to say whether a role is a step up, lateral, or step down on the total, which is the comparison that actually decides an application. Without it the evaluation can only say "at market" and leave the candidate to do that arithmetic.
The walk-away floor goes in preferences.md, not here — job-search screens against it and evaluate caps the score below it. Write it in one place only.
If the user does not know their market rate, offer to research it for their title and region rather than letting them name a number blind.
3d — Bewerbungspräferenzen
AskUserQuestion, once, stored forever:
- Foto im Lebenslauf? Give the real tradeoff: expected at Mittelstand and public sector, neutral at corporates, often discouraged at startups and international tech. Legally never required (AGG). No professional photo available → recommend omitting.
- Geburtsdatum und Staatsangehörigkeit angeben? Optional, increasingly omitted. Recommend omitting unless applying mainly to traditional employers.
- Default application language — Deutsch / Englisch / decide per posting. Recommend per posting.
3e — Zeugnisse
Ask what they have. Copy files into DATA_DIR/zeugnisse/. Explain that German employers expect Arbeitszeugnisse attached, and that a politely-worded Zeugnis can say something damaging in code — offer to audit each one now with /wingman:zeugnis. Most candidates have never had this done and it changes what they attach.
3f — Lücken
For every gap found in Step 1, get a truthful explanation and record it. Same wording gets reused in every document, so it never contradicts itself.
Step 4: Contacts (optional)
Offer LinkedIn and Xing exports for /wingman:network-scan.
LinkedIn: linkedin.com/mypreferences/d/download-my-data → Connections → they email a ZIP →
Connections.csvXing: Xing has restricted bulk export; if unavailable, skip it — LinkedIn alone is enough for most searches.
Save as DATA_DIR/contacts.csv. Skipping is fine.
Step 5: Work history interview
Follow scripts/conduct-interview.md. Most recent role first, more depth on recent and relevant roles.
Beyond the standard questions, capture the German-specific material:
- Quantified results — needed for both Lebenslauf bullets and Anschreiben evidence
- Why each role ended — Germany asks directly, and it must match the Zeugnisse
- Any German-language working experience, even partial. Real evidence of working German is worth more than a CEFR label.
Save to DATA_DIR/profile.md, preserving the German Application Facts section.
Step 6: Summary
Report what is configured, then what they can run:
Ready.
CV: [filename]
Preferences: [target roles, key dealbreakers]
Deutsch: [level] -> applications default to [DE/EN/per posting]
Arbeitserlaubnis: [status] [+ anabin result]
Kündigungsfrist: [x] -> earliest start [date]
Gehaltsvorstellung: [x] EUR brutto p. a.
Foto: [ja/nein]
Zeugnisse: [n] files [, m audited]
Profile: [n] roles
Contacts: [n] imported / skipped
Next:
/wingman:job-search find German jobs
/wingman:evaluate <url> score one posting
/wingman:zeugnis decode your Arbeitszeugnisse
/wingman:visa check Blue Card / recognitionResponse Format
- Setup Summary — what was configured
- What's Next — the skills now available
Permissions
{ "permissions": { "allow": [
"Read(~/.wingman/**)", "Write(~/.wingman/**)", "Edit(~/.wingman/**)"
] } }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.

