mittwald
SkillDatabases & dataRead and inspect mittwald mStudio projects, apps, runtimes, databases, domains, mail, backups, files, containers, and access users through SecretRef-backed API requests.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the mittwald skill
What this skill tells your AI
The instructions your AI receives, as published by hybridaione/hybridclaw in skills/mittwald/SKILL.md and read by ahel’s review.
Use this skill for mittwald mStudio / Kundencenter production-platform work: project inventory, app/runtime inspection, deployment readiness, databases, domains/DNS/SSL/ingress, mail resources, backups, files, containers, SSH/SFTP users, and marketplace/license readouts.
Default Workflow
- Read first. Use
mittwald.cjsto generate allowlistedhttp_requestpayloads and pass only the emittedhttpRequestvalue to the built-inhttp_requesttool. - Treat
MITTWALD_API_TOKENas a SecretRef only. The helper setsbearerSecretName: "MITTWALD_API_TOKEN"so the gateway injectsAuthorization: Bearer ...server-side. Never ask the user to paste the token, inspect it, or write rawAuthorizationheaders. - For prompt/user testing, stop after
planor helperhttp-requestpayload generation. Do not callhttp_requestunless live mittwald data is needed for the user's request. - For live calls, stop after the first 401 or 403. Report a credential or API
role setup problem and ask the operator to verify
MITTWALD_API_TOKENin this order: browser admin at the active/admin/secretsroute,/secret set MITTWALD_API_TOKEN "<mittwald-api-token>"in browser/chator TUI, then local console fallbackhybridclaw secret set MITTWALD_API_TOKEN "<mittwald-api-token>". - For 429 responses, report rate-limit guidance from
Retry-After,X-RateLimit-Reset,X-RateLimit-Remaining, andX-RateLimit-Limitwhen present. Do not start retry loops. - For guarded writes, require exact F8/F14 operator approval for the named
target and pass
--operator-grantonly after that approval. The helper includes the target resource id inapproval.requiredGrant. - Account for eventual consistency after writes: mutating responses may return
an
etagevent id. Run the emittedevent-follow-upcommand with--event-id <etag>so the read usesif-event-reachedbefore reporting completion. - Do not use
curlas the normal execution path whenhttp_requestis available.
The helper is read-first. Guarded write operations exist only for allowlisted mittwald API shapes and require exact F8/F14 approval: service actions, database creation, app installation creation, cronjob creation, domain project/nameserver/deletion changes, backup restore, delivery box creation, license-key validation, and extension ordering. App installation runtime actions are intentionally not exposed because the current mittwald OpenAPI marks that endpoint deprecated and non-functional. Do not create API tokens or use unlisted marketplace mutations.
Command Contract
node skills/mittwald/mittwald.cjs --help
Build core read requests:
node skills/mittwald/mittwald.cjs --format json http-request whoami
node skills/mittwald/mittwald.cjs --format json http-request projects --limit 50
node skills/mittwald/mittwald.cjs --format json http-request project --project-id <project-id>
node skills/mittwald/mittwald.cjs --format json http-request apps --project-id <project-id> --limit 50
node skills/mittwald/mittwald.cjs --format json http-request domains --project-id <project-id> --limit 50
node skills/mittwald/mittwald.cjs --format json http-request backups --project-id <project-id> --limit 50
Build database and runtime requests:
node skills/mittwald/mittwald.cjs --format json http-request databases --project-id <project-id>
node skills/mittwald/mittwald.cjs --format json http-request app-status --app-installation-id <app-installation-id>
node skills/mittwald/mittwald.cjs --format json http-request services --project-id <project-id> --limit 50
node skills/mittwald/mittwald.cjs --format json http-request service-logs --stack-id <stack-id> --service-id <service-id> --tail 200
Build operational inventory requests:
node skills/mittwald/mittwald.cjs --format json http-request dns-zones --project-id <project-id>
node skills/mittwald/mittwald.cjs --format json http-request ingresses --project-id <project-id>
node skills/mittwald/mittwald.cjs --format json http-request cronjobs --project-id <project-id> --limit 50
node skills/mittwald/mittwald.cjs --format json http-request mail-addresses --project-id <project-id> --limit 50
node skills/mittwald/mittwald.cjs --format json http-request ssh-users --project-id <project-id> --limit 50
node skills/mittwald/mittwald.cjs --format json http-request sftp-users --project-id <project-id> --limit 50
node skills/mittwald/mittwald.cjs --format json http-request directory --project-id <project-id> --directory /html --max-depth 1
Plan a deployment readiness sweep:
node skills/mittwald/mittwald.cjs --format json plan deploy-check --project-id <project-id>
Build guarded write requests after exact operator approval:
node skills/mittwald/mittwald.cjs --format json http-request create-redis-database \
--project-id <project-id> --description cache-prod --version 7.0 --operator-grant
node skills/mittwald/mittwald.cjs --format json http-request create-mysql-database \
--project-id <project-id> --description app-prod --version 8.4 \
--password-secret MITTWALD_MYSQL_PASSWORD --operator-grant
node skills/mittwald/mittwald.cjs --format json http-request service-action \
--stack-id <stack-id> --service-id <service-id> --action restart --operator-grant
node skills/mittwald/mittwald.cjs --format json http-request update-domain-nameservers \
--domain-id <domain-id> --nameserver ns1.example.com --nameserver ns2.example.com \
--operator-grant
node skills/mittwald/mittwald.cjs --format json http-request restore-backup-path \
--backup-id <backup-id> --source-path /html --target-path /html-restore \
--operator-grant
node skills/mittwald/mittwald.cjs --format json http-request order-extension \
--extension-id <extension-id> \
--body-json '{"projectId":"<project-id>","consentedScopes":[]}' \
--operator-grant
After a live write returns an etag header, build the consistency read:
node skills/mittwald/mittwald.cjs --format json event-follow-up service-action \
--stack-id <stack-id> --service-id <service-id> --event-id <etag>
Classify saved or live http_request failures:
node skills/mittwald/mittwald.cjs --format json classify-response \
--status 429 \
--headers-json '{"X-RateLimit-Remaining":"0","X-RateLimit-Reset":"10"}'
Working Rules
- The mStudio v2 API base URL is
https://api.mittwald.de/v2/. - The helper only builds allowlisted endpoint shapes. Do not add arbitrary path passthrough for operator convenience.
databasesemits twohttpRequestsitems: MySQL databases and Redis databases. Send each item throughhttp_request, then merge the results in the response.- Use
domains,dns-zones, andingressestogether when checking domain/DNS/SSL/ingress state. - Use
apps,app-status,app-system-software,services,stacks, andservice-logsto summarize runtime health. Keep logs bounded with--tail. - Use
backups,backup-path, andbackup-database-dumpsfor backup readiness. Backup restore operations are red and require exact target approval. - Use
extension-orders,extension-instances, andlicensesfor marketplace and license visibility.order-extensionand license-key validation are guarded mutations and require exact F8/F14 approval. - For mutating operations that need complex request bodies, use
--body-jsononly on that allowlisted operation.create-app-installationrequiresappVersionId,description,updatePolicy, anduserInputs[].create-cronjobrequiresdescription,interval, andtarget.restore-backuprequirespathRestoreordatabaseRestores[].order-extensionrequiresconsentedScopes[]plus exactly one ofprojectIdorcustomerId. - Use
<secret:NAME>-style placeholders via flags such as--password-secretand--license-key-secret; never put raw credentials in command arguments. - Optional companion workflows: the official mittwald CLI, SDKs, Terraform provider, and mittwald MCP docs can inform operator guidance, but they are not runtime dependencies for this bundled skill.
Validation
python3 skills/skill-creator/scripts/quick_validate.py skills/mittwald
node skills/mittwald/mittwald.cjs --help
Signals
- GitHub stars
- 132
- Forks
- 12
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
mittwald- Source
- github.com/hybridaione/hybridclaw