DevOps engineer

Dockerfile generator

Immediate result: A small multi-stage Dockerfile and .dockerignore for your app, with each line explained.

Problem it solvesHand-written Dockerfiles end up huge, slow to build and running as root.

Add this skill to

You paste

Next.js 15 app, npm run build then npm start, port 3000

You get

FROM node:22-alpine AS deps … FROM node:22-alpine AS run

USER node — the app never runs as root.

Build: docker build -t web . · Run: docker run -p 3000:3000 web

About this skill

About Dockerfile generator

Hand-written Dockerfiles tend to be huge, slow to rebuild and run as root. This skill writes a multi-stage Dockerfile for your language and framework that caches dependencies separately from source, uses a slim pinned base image, runs as a non-root user and includes a health check. It adds a matching .dockerignore, explains each line and gives the build and run commands. It never bakes secrets into the image and never uses the latest tag, so your builds stay reproducible. It's a sound starting point you can tune for your own registry and deployment.

Dockerfile generator AI skill for DevOps engineer: you paste "Next.js 15 app, npm run build then npm start, port 3000" and get "FROM node:22-alpine AS deps … FROM node:22-alpine AS run"
Dockerfile generator — example input and the first lines it returns. Works in ChatGPT, Claude and Gemini.
Job profile
Software engineering · DevOps engineer
Works in
ChatGPT, Claude, Gemini, Copilot, Claude Code
Format
Agent Skills (SKILL.md)
Price
Free, no sign-up
Install instructions

Copy, paste, send

  1. Cold email writerCopy skillCopied ✓1 Copy the skillPress Copy skill.
  2. ANY AI ASSISTANTSKILLPaste here, then press Enter2 Paste it into a new chatChatGPT, Claude, Gemini or Copilot.
  3. ANY AI ASSISTANT3 Send your inputSend your language and framework.
The skill — paste this into your AI assistant
# Skill: Dockerfile generator

You are running the "Dockerfile generator" skill for me. I work as: DevOps engineer. What I need from you: a small multi-stage Dockerfile and .dockerignore for my app, with each line explained.

## When I send you my language and framework, how I build and start the app, and the port it listens on
1. Pick a slim, pinned base image.
2. Use a multi-stage build that caches dependencies separately from source.
3. Run as a non-root user and add a health check.
4. Write a matching .dockerignore.

## Reply in this format
- Dockerfile (code)
- .dockerignore (code)
- Line-by-line notes
- Build and run commands

## Rules
- Pin versions; never use :latest.
- Never bake secrets into the image.
- Use only the facts I give you; mark anything you had to assume with [ASSUMPTION].
- If something essential is missing, ask me one short question, then continue.
- No preamble or filler: start with the result.

Confirm you're ready in one line, then wait for me to send my language and framework, how I build and start the app, and the port it listens on.

Then sendYour language and framework, how you build and start the app, and the port it listens on. For example: Next.js 15 app, npm run build then npm start, port 3000

ChatGPT

  1. Fastest: paste the skill as your first message in a new chat, then send your input.
  2. To keep it: open a Project, choose Instructions (or Settings → Personalization → Custom instructions for every chat) and paste it there.
  3. To share it with a team: create a custom GPT and paste the skill into its Instructions.
  4. In the Codex app: copy the skill's folder into ~/.codex/skills/ (or Customize → Skills → Add → Create skill).

Claude

  1. Fastest: paste the skill as your first message in a new chat, then send your input.
  2. To keep it: create a Project, open Project instructions and paste the skill.
  3. As a Claude Skill: download the skill's ZIP, then in Claude open Settings → Skills → Add → Upload skill and choose the file.

Gemini

  1. Fastest: paste the skill as your first message in a new chat, then send your input.
  2. To keep it: open Gems → New Gem, paste the skill into Instructions and save.

Microsoft Copilot

  1. Fastest: paste the skill as your first message, then send your input.
  2. In Microsoft 365 Copilot, save it as a prompt or paste it into an agent's instructions to reuse it.

Any other assistant

  1. Paste the skill as the system prompt or first message in any chat assistant (Perplexity, Meta AI, DeepSeek, Mistral, local models).
  2. Coding agents that read the Agent Skills format (SKILL.md) can load the downloaded file from their skills folder.

Install it permanently

Upload it to Claude, add it to ChatGPT's Codex app, clone it into Claude Code, or download the SKILL.md for any agent. Full guide with screenshots →

Download the ZIP and upload it in Claude. Claude then uses the skill on its own whenever a request matches.

Download ZIP

Quick setup

  1. In Claude, open Settings → Skills (under Customize).
  2. Click Add → Upload skill.
  3. Choose the ZIP — don't unzip it — and make sure the skill is switched on.
Claude Settings with Skills selected under Customize, and the Add menu open showing Upload skill, Create a skill, Create with Claude and Record your screen

Repositoryscienceofapps.com/skills/ai-skills.git · all 200 skills, one folder each, plain git over HTTPS

What it does

The steps it follows

  1. Pick a slim, pinned base image.
  2. Use a multi-stage build that caches dependencies separately from source.
  3. Run as a non-root user and add a health check.
  4. Write a matching .dockerignore.
What you get back

The reply format

  • Dockerfile (code)
  • .dockerignore (code)
  • Line-by-line notes
  • Build and run commands

Rules it never breaks

  • Pin versions; never use :latest.
  • Never bake secrets into the image.
  • Uses only the facts you give it and marks assumptions.
FAQs

Questions about Dockerfile generator

What does the Dockerfile generator skill do?

Hand-written Dockerfiles end up huge, slow to build and running as root. The skill fixes that: a small multi-stage Dockerfile and .dockerignore for your app, with each line explained.

How do I install Dockerfile generator in ChatGPT, Claude or Gemini?

Copy the skill and paste it as the first message of a new chat, then send your input. To keep it, paste it into a ChatGPT Project or custom GPT, a Claude Project or a Gemini Gem, or upload the SKILL.md file as a Claude Skill.

What do I send Dockerfile generator after installing it?

Send your language and framework, how you build and start the app, and the port it listens on. If something essential is missing, the skill asks you one short question and then continues.

Is the Dockerfile generator skill free?

Yes. It's free to copy, use and adapt, with no sign-up, and works in the free versions of ChatGPT, Claude, Gemini and Copilot.

More for software engineering
DevOps engineer

CI pipeline writer

ProblemSetting up CI from scratch means hours of YAML trial and error.

You paste

GitHub Actions, Python 3.12, uv, pytest and ruff

You get

on: [pull_request, push: {branches: [main]}]

permissions: contents: read

steps: checkout → setup-uv (cache) → uv sync → ruff check . → pytest -q

Immediate resultA working CI workflow file that installs, lints, tests and builds on every pull request.

SRE / engineering manager

Incident postmortem writer

ProblemAfter an outage, the postmortem is written late, blames people and repeats the same action items.

You paste

14:02 alerts fire · 14:10 rollback tried, fails · 14:31 DB connection pool raised · 14:35 recovered

You get

Impact: 33 minutes of failed checkouts.

Root cause: a release doubled queries per request, exhausting the 20-connection pool.

Action: load test releases at 2× peak — owner: platform team, due 15 Nov — prevent.

Immediate resultA blameless postmortem with timeline, impact, root cause, contributing factors and owned actions.

Software engineer

Code translator

ProblemPorting code between languages by hand introduces subtle behaviour changes.

You paste

Python → TypeScript: def avg(xs): return sum(xs) / len(xs)

You get

const avg = (xs: number[]) => xs.length ? xs.reduce((a, b) => a + b, 0) / xs.length : NaN;

Difference: Python raises ZeroDivisionError on []; this returns NaN — throw if you need parity.

Immediate resultIdiomatic code in the target language with notes on every behaviour that differs.

Free PDF · 74 pages · 2 editions

The Laws of UX, in one field guide

60 research-backed principles in 6 categories — what each one means, why it works on the human brain and how to use it on your own screens. Written by Sushant Singh, founder of Science of Apps, who has scaled consumer apps to lacs of users and spent 10+ years leading product across startups and digital businesses in the US, EU & India.

Pick your edition
Free. No card, no paywall — just your email.
Free PDF · 74 pages

Get Laws of UX by email

Choose your edition

You’ll also get occasional UX psychology tips. Unsubscribe anytime. Privacy policy

Free PDF · 90 pages · 2 editions

100+ Subscription Paywalls, decoded

110 real paywalls from top apps, taken apart, rated out of 5 and decoded with the Laws of UX — plus the frameworks, copy and checklists to ship your own. By Sushant Singh, founder of Science of Apps.

  • 110 paywalls rated
  • 34 Laws of UX
  • 12 frameworks

Which paywall scored 4.8 out of 5, and which scored 2.6? It’s all inside.

Pick your edition
Free. No card, no paywall — just your email.
Free PDF · 90 pages

Get 100+ Paywalls, Decoded by email

Choose your edition

You’ll also get occasional UX psychology tips. Unsubscribe anytime. Privacy policy