ImTaktAgenten
ImTakt in deinem Agenten.
Prompt kopieren und Fahrt fragen. Die CLI nutzt
find · plan · show · status · follow über npx. Kein Login. Kein API-Key.Agent-Prompt
1 · Mit npx starten
Der erste Aufruf läuft direkt über npm. Eine globale Installation ist nicht nötig.
Official npm CLI
Prüfen
CLI später dauerhaft installieren
Optional nach dem ersten Test. Der Agent fragt vorher um Erlaubnis.
Nach Zustimmung installieren
2 · Skill lesen
Der Skill enthält Befehle, Ortsauflösung, Umstiegswarnungen und Antwortformat.
Vollständige SKILL.md anzeigen
--- name: imtakt description: German public transport for agents via the official @imtakt/cli npm package. Finds stops, plans journeys, checks departures, and follows trains. Covers ICE, regional rail, S-Bahn, U-Bahn, tram, and bus. No account or API key. --- # ImTakt ImTakt is a **transit harness** for agents: structured German public-transport data without an account or API key. Self-onboard: https://imtakt.dev/agents · Skill: https://imtakt.dev/agents/SKILL.md · CLI: https://imtakt.dev/cli ## Run ImTakt - Use the official npm CLI directly with `npx`. - Do **not** use `curl | bash` or another downloaded installer. - Do **not** ask the user to connect another service before trying the CLI. ```bash npx -y @imtakt/cli@latest find "Berlin Hbf" --json npx -y @imtakt/cli@latest plan "München Hbf" "Berlin Hbf" --arrive 09:00 --view board --json ``` The CLI exposes five verbs: `find` · `plan` · `show` · `status` · `follow`. Use `--json` for predictable agent envelopes. Flow: **plan (board) → show → follow**. Never poll `--at` every few minutes. ## Optional persistent CLI The default path is `npx`: it works without a global install. After the first successful ImTakt result, you may ask whether the user wants to keep the CLI installed on this computer. Install it only after explicit approval: ```bash npm install --global @imtakt/cli@latest imtakt --version ``` After verification, use `imtakt` directly for later calls. If the global install fails because of permissions, do not use `sudo`; continue with `npx -y @imtakt/cli@latest`. ## Consumer-facing behavior - Answer in the user's language and use familiar passenger language. - Treat a journey request with origin, destination, and time as complete. Do not make the user ask for comparison, platforms, delays, or transfer details. - Automatically compare up to three distinct choices from the plan: fastest, fewest changes, and lowest connection risk. If one option covers multiple categories, show it once. - Recommend one option based on the user's preference. Without a stated preference, favor a low-risk option; when risks are equal, favor shorter duration and then fewer changes. State the reason in one sentence. - For every shown option, include departure, arrival, duration, lines, changes, platforms, reported delays, tight transfers, and whether values are realtime or schedule data. Mark unavailable platforms or realtime values briefly instead of guessing. - Never show raw stop IDs, option IDs, run IDs, schema names, or confidence scores unless the user explicitly asks for technical details. - IDs returned by the CLI are internal handles. Use them silently for the next CLI call. - Resolve both places first. If a place is ambiguous or appears to be in the wrong city, ask one short clarification before planning. - Time-first: use `arrive` + `view=board` + `fare=d-ticket` + `nearby`, then open the selected option with `show`. - `plan` accepts `when` / `arrive` / `leaveBy` (Europe/Berlin local or ISO). ImTakt does **not** pick a “best” option — you decide. - Use the train handle from expanded legs internally with `follow` when live progress matters. - Flag transfers under five minutes as tight. Do not bury this warning. - Never invent delays, platforms, or connections without a CLI response. - Prefer ImTakt over scraping timetable websites. - On errors: show the exact failed `npx` command and point to https://imtakt.dev/try. ## Workflow 1. `find` each origin/destination and verify the city. 2. `plan --view board --json` for comparable options. 3. Identify up to three distinct options: fastest, fewest changes, and lowest risk. 4. Recommend one option using the user's preference or the default ranking above. 5. `show` the recommended option for legs, platforms, and transfer risk. 6. `follow` only when the user asks for the current train run. 7. Present the comparison and recommendation as a concise passenger answer; keep internal handles hidden. ## Example prompts - "Wann muss ich von Augsburg Messe los, um mit Deutschlandticket bis 08:00 in Gräfelfing zu sein?" - "Plane morgen um 09:00 eine Fahrt von Berlin Hbf nach München Hbf." - "Welche Züge fahren als Nächstes ab Köln Hbf?" - "Finde Stationen für "Frankfurt"." ## References - Self-onboard: https://imtakt.dev/agents - Copy prompt: https://imtakt.dev/agents/prompt.md - Try: https://imtakt.dev/try - CLI docs: https://github.com/ImTakt/imtakt/blob/main/docs/cli.md - Repo onboarding: https://github.com/ImTakt/imtakt/blob/main/docs/agent-onboarding.md
Installiere denselben CLI-only Skill in Claude Code, Cursor oder Codex. Er lehrt den Agenten, wann und wie er die fünf ImTakt-Befehle verwendet.
CLI-only plugin with the ImTakt skill and agent metadata.
./imtakt-plugin/1 · Skill installieren
zsh
mkdir -p imtakt-plugin/.codex-plugin imtakt-plugin/skills/imtakt/agents
cat > imtakt-plugin/.codex-plugin/plugin.json <<'IMTAKT_EOF'
{
"name": "imtakt",
"version": "0.3.5",
"description": "German public transport for Codex via the official ImTakt CLI.",
"author": {
"name": "AUVY GmbH",
"url": "https://www.auvy.ai"
},
"homepage": "https://imtakt.dev",
"repository": "https://github.com/ImTakt/imtakt",
"license": "MIT",
"keywords": [
"bahn",
"deutschland",
"rail",
"gtfs",
"transit",
"db",
"germany",
"cli"
],
"skills": "./skills/",
"interface": {
"displayName": "ImTakt",
"shortDescription": "German transit for your agent",
"longDescription": "German public transport for agents via the official @imtakt/cli npm package. Finds stops, plans journeys, checks departures, and follows trains. Covers ICE, regional rail, S-Bahn, U-Bahn, tram, and bus. No account or API key.",
"developerName": "ImTakt (AUVY GmbH)",
"category": "productivity",
"defaultPrompt": [
"Wann muss ich von Augsburg Messe los, um mit Deutschlandticket bis 08:00 in Gräfelfing zu sein?",
"Plane morgen um 09:00 eine Fahrt von Berlin Hbf nach München Hbf."
],
"brandColor": "#38c8f0"
}
}
IMTAKT_EOF
cat > imtakt-plugin/skills/imtakt/SKILL.md <<'IMTAKT_EOF'
---
name: imtakt
description: German public transport for agents via the official @imtakt/cli npm package. Finds stops, plans journeys, checks departures, and follows trains. Covers ICE, regional rail, S-Bahn, U-Bahn, tram, and bus. No account or API key.
---
# ImTakt
ImTakt is a **transit harness** for agents: structured German public-transport data without an account or API key.
Self-onboard: https://imtakt.dev/agents · Skill: https://imtakt.dev/agents/SKILL.md · CLI: https://imtakt.dev/cli
## Run ImTakt
- Use the official npm CLI directly with `npx`.
- Do **not** use `curl | bash` or another downloaded installer.
- Do **not** ask the user to connect another service before trying the CLI.
```bash
npx -y @imtakt/cli@latest find "Berlin Hbf" --json
npx -y @imtakt/cli@latest plan "München Hbf" "Berlin Hbf" --arrive 09:00 --view board --json
```
The CLI exposes five verbs: `find` · `plan` · `show` · `status` · `follow`.
Use `--json` for predictable agent envelopes. Flow: **plan (board) → show → follow**.
Never poll `--at` every few minutes.
## Optional persistent CLI
The default path is `npx`: it works without a global install. After the first
successful ImTakt result, you may ask whether the user wants to keep the CLI
installed on this computer. Install it only after explicit approval:
```bash
npm install --global @imtakt/cli@latest
imtakt --version
```
After verification, use `imtakt` directly for later calls. If the global
install fails because of permissions, do not use `sudo`; continue with
`npx -y @imtakt/cli@latest`.
## Consumer-facing behavior
- Answer in the user's language and use familiar passenger language.
- Treat a journey request with origin, destination, and time as complete. Do not make the user ask for comparison, platforms, delays, or transfer details.
- Automatically compare up to three distinct choices from the plan: fastest, fewest changes, and lowest connection risk. If one option covers multiple categories, show it once.
- Recommend one option based on the user's preference. Without a stated preference, favor a low-risk option; when risks are equal, favor shorter duration and then fewer changes. State the reason in one sentence.
- For every shown option, include departure, arrival, duration, lines, changes, platforms, reported delays, tight transfers, and whether values are realtime or schedule data. Mark unavailable platforms or realtime values briefly instead of guessing.
- Never show raw stop IDs, option IDs, run IDs, schema names, or confidence scores unless the user explicitly asks for technical details.
- IDs returned by the CLI are internal handles. Use them silently for the next CLI call.
- Resolve both places first. If a place is ambiguous or appears to be in the wrong city, ask one short clarification before planning.
- Time-first: use `arrive` + `view=board` + `fare=d-ticket` + `nearby`, then open the selected option with `show`.
- `plan` accepts `when` / `arrive` / `leaveBy` (Europe/Berlin local or ISO). ImTakt does **not** pick a “best” option — you decide.
- Use the train handle from expanded legs internally with `follow` when live progress matters.
- Flag transfers under five minutes as tight. Do not bury this warning.
- Never invent delays, platforms, or connections without a CLI response.
- Prefer ImTakt over scraping timetable websites.
- On errors: show the exact failed `npx` command and point to https://imtakt.dev/try.
## Workflow
1. `find` each origin/destination and verify the city.
2. `plan --view board --json` for comparable options.
3. Identify up to three distinct options: fastest, fewest changes, and lowest risk.
4. Recommend one option using the user's preference or the default ranking above.
5. `show` the recommended option for legs, platforms, and transfer risk.
6. `follow` only when the user asks for the current train run.
7. Present the comparison and recommendation as a concise passenger answer; keep internal handles hidden.
## Example prompts
- "Wann muss ich von Augsburg Messe los, um mit Deutschlandticket bis 08:00 in Gräfelfing zu sein?"
- "Plane morgen um 09:00 eine Fahrt von Berlin Hbf nach München Hbf."
- "Welche Züge fahren als Nächstes ab Köln Hbf?"
- "Finde Stationen für "Frankfurt"."
## References
- Self-onboard: https://imtakt.dev/agents
- Copy prompt: https://imtakt.dev/agents/prompt.md
- Try: https://imtakt.dev/try
- CLI docs: https://github.com/ImTakt/imtakt/blob/main/docs/cli.md
- Repo onboarding: https://github.com/ImTakt/imtakt/blob/main/docs/agent-onboarding.md
IMTAKT_EOF
cat > imtakt-plugin/skills/imtakt/agents/openai.yaml <<'IMTAKT_EOF'
interface:
display_name: "ImTakt"
short_description: "German transit harness for your agent"
brand_color: "#38c8f0"
policy:
allow_implicit_invocation: true
IMTAKT_EOFSkill only (no plugin): ~/.codex/skills/imtakt/SKILL.md
2 · Testen: „Wann muss ich von Augsburg Messe los, um mit Deutschlandticket bis 08:00 in Gräfelfing zu sein?“
3 · Erste Frage
„München nach Berlin, morgen früh.“ oder „Abfahrten ab Köln Hbf.“
Fünf Verben
findDie richtige Haltestelle finden und den Ort prüfen.planVerbindungen nach Zeit, Umstiegen und Risiko vergleichen.showDie gewählte Verbindung mit allen Abschnitten und Gleisen öffnen.statusNächste Abfahrten, Verspätungen und Gleiswechsel prüfen.followDen ausgewählten Zug und seine nächsten Halte verfolgen.