ai-assist-dockerize-website

REVIEW · 54
Registry indexed

Guide the user through containerizing and serving a simple website or documentation folder with Docker — inspects the project to detect what to serve (ready-to-serve static HTML, a buildable site that emits static output, or a raw markdown/docs folder that needs rendering), gener

Verified installs0
Stars88
Version1.0.0
Quality61/100 · Promising
Trust54/100 · Do not auto-install
Audit70/100 · Needs review

Supply asset profile

Research and knowledge work

Deep research, source comparison, literature review, RAG, knowledge search, and reports.

Browse track

Scenario

Research agents

I need my agent to research a topic, compare sources, and produce a concise report.

Agent fit

Claude Code + Browser agents + CLI

Codex, Claude Code, Cursor, CLI, or custom agents.

Install

Ready

npx skills add jparkerweb/ai-assist-skills --skill ai-assist-dockerize-website

Maintenance

fresh

Pushed today

Risk

Needs review

License is unclear

GitHub quality

88

61/100 Quality · 62/100 Trust

Coverage tags

ResearchResearch agentsagent-skill

Review notes

License is unclear · Dependency or permission surface needs review

Agent adoption scorecard

Trust, audit, and install readiness at a glance

These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.

Quality

Promising
61

Useful candidate, but compare it with alternatives before adopting.

Trust

Do not auto-install
54

Trust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.

Audit

Needs review
70

A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.

OpenAgentSkill Trust Score v5

Human review before install

Choose a stronger alternative or inspect the source manually before any install attempt.

CodexClaude CodeCursorOpenAgentSkill CLI

Stars

88 GitHub stars

Repo activity

88 stars, 12 forks

Maintenance

Pushed today

License

Unknown

Install

npx skills add jparkerweb/ai-assist-skills --skill ai-assist-dockerize-website

Install safety

standard package or runtime install path

Permission surface

secrets or environment access, shell or command execution

Agent outcomes

No agent outcome data yet

Docs

Strong README/SKILL.md context

Risk summary

Review before production

  • Repository license is unknown, which creates ambiguity about the legal terms for reuse.
  • Financial research output is not financial advice; require human review before any live investment decision.
  • License is unclear
  • Quality score needs review

Install readiness

Install path available

  • Install path is available
  • Repository evidence is available
  • License is unclear
  • No Agent Proven outcome evidence yet

Agent-readable metadata

Machine-readable decision data for this skill.

Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.

Open JSON

Suited tasks

  • Research agents workflows
  • Claude Code teams
  • builders willing to evaluate younger projects
  • Search sources

Suited agents

CodexClaude CodeCursorOpenAgentSkill CLIBrowser agentsCLI

Install decision

Command
npx skills add jparkerweb/ai-assist-skills --skill ai-assist-dockerize-website
Policy
block
Human review
yes

Trust and risk

Trust
54/100
Audit
70/100
Risk level
Needs review

Outcome loop

Endpoint
/api/agent/outcome
Event ID
resolve
Outcomes
5

Install command

npx skills add jparkerweb/ai-assist-skills --skill ai-assist-dockerize-website

Do not use when

  • teams that need a vendor-supported SLA
  • production agents without a repository review
  • Repository license is unknown, which creates ambiguity about the legal terms for reuse.
  • High-risk permission hints: Shell or command execution, Secrets or environment access
  • License is unclear

Agent safety v2

26/100 · Avoid automatic install

Blocked for auto-installblock

This skill should not be selected by an agent without explicit human security review.

Do not auto-install. Inspect the source, dependencies, and permission surface first.

Resolve via API

high

Shell or command execution

Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.

medium

Browser automation

Skill may drive a browser or interact with web pages.

medium

Network access

Skill likely fetches remote pages, APIs, repositories, or external services.

medium

Filesystem access

Skill may read or write project files, documents, generated artifacts, or local workspace state.

  • High-risk permission hints: Shell or command execution, Secrets or environment access
  • License is unclear

Install targets

Install this skill in your agent workflow

Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.

skill install

OpenAgentSkill CLI

Resolve policy, run the source installer safely, and report a verified install receipt.

$ npx --yes https://github.com/Leon-Drq/openagentskill/releases/download/cli-v0.2.1/openagentskill-0.2.1.tgz install jparkerweb-ai-assist-dockerize-website

Agent resolve plan

Let an agent verify fit before installing.

The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.

Open text plan

Agent should check

  • Task fit and alternatives from Resolve API.
  • Audit score, trust score, and safety policy warnings.
  • Install target compatibility for Codex, Claude Code, Cursor, or CLI.

Copy prompt

Task: Use ai-assist-dockerize-website in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20ai-assist-dockerize-website%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/jparkerweb-ai-assist-dockerize-website/install
Install command: npx skills add jparkerweb/ai-assist-skills --skill ai-assist-dockerize-website
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.

Agent handoff

Give an agent the install path, not another directory page.

Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.

Open install API

Agent prompt

Use ai-assist-dockerize-website for this task. Review https://www.openagentskill.com/api/skills/jparkerweb-ai-assist-dockerize-website/install, then install with: npx skills add jparkerweb/ai-assist-skills --skill ai-assist-dockerize-website

Registry metadata

Agent-readable profile for automatic skill selection.

This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.

Open manifest

Agent fit

63/100

Research agents

Platforms

Claude Code, Browser agents

Audit report

Needs review · 70/100

A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.

View audit reportView eval report

Agent decision cockpit

Fallback candidate for Research agents

Prototype with this skill first; keep a fallback candidate ready.

63
Readiness
Prototype
Stage

Role in stack

Fallback candidate

Primary fit

Research agents

Trust label

Prototype first

Install path

Command ready

Use when

  • Research agents workflows
  • Claude Code teams
  • builders willing to evaluate younger projects

Evidence

  • recent repository activity
  • install command or GitHub repo available
  • 61/100 quality profile
  • 10 OpenAgentSkill engagement events

review first

  • Repository license is unknown, which creates ambiguity about the legal terms for reuse.

Implementation path

  1. 1Install it in a sandbox agent and run one Research agents task end to end.
  2. 2Compare output quality, latency, and failure behavior against at least one alternative.
  3. 3Promote it into production only after reviewing repository permissions, license, and maintenance signals.

Trust profile

Do not auto-install

Trust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.

54
OpenAgentSkill Trust Score

GitHub adoption

CHECK

88 GitHub stars

Stars/forks activity

CHECK

88 stars, 12 forks; issue activity unavailable in current metadata

Recent maintenance

PASS

Pushed today

License clarity

CHECK

Unknown

Good signals

  • AI review approved
  • Install path is available
  • Repository evidence is available
  • Recently maintained repository
  • Install command has no obvious high-risk pattern
  • Outcome loop is ready but needs first real agent run

Review before install

  • Repository license is unknown, which creates ambiguity about the legal terms for reuse.
  • Financial research output is not financial advice; require human review before any live investment decision.
  • License is unclear
  • Quality score needs review
  • Permission surface needs review: secrets or environment access, shell or command execution
  • GitHub adoption: 88 GitHub stars
  • Stars/forks activity: 88 stars, 12 forks; issue activity unavailable in current metadata
  • License clarity: Unknown
  • Dependency/runtime risk: command execution surface, credential or environment access
  • Permission surface: secrets or environment access, shell or command execution
  • No real agent outcome reports yet
  • Human review required before unattended installation

Recommended action

Choose a stronger alternative or inspect the source manually before any install attempt.

Quality profile

Promising candidate for agent workflows

Useful candidate, but compare it with alternatives before adopting.

61
GitHub stars
88
Freshness
Today
Install ready
Yes
License
Unknown
Review before install: Repository license is unknown, which creates ambiguity about the legal terms for reuse.

Workflow fit

Use this skill in these scenarios

Workflow fit

Add it to a complete workflow

Alternative shortlist

Compare before you install

Similar skills that may fit this task.

Compare all

Overview

--- name: ai-assist-dockerize-website description: "Guide the user through containerizing and serving a simple website or documentation folder with Docker — inspects the project to detect what to serve (ready-to-serve static HTML, a buildable site that emits static output, or a raw markdown/docs folder that needs rendering), generates a Dockerfile, .dockerignore, docker-compose.yml, helper run/build commands, and a 'Running with Docker' README section, then offers to build and smoke-test the container and publish the image to Docker Hub or GHCR. Uses nginx:alpine for static content and a multi-stage build when the site must be generated. Only invoke when the user explicitly types /ai-assist-dockerize-website. Never auto-trigger from general conversation about Docker, containers, websites, or Dockerfiles." argument-hint: "[path-to-site-or-docs-folder] [--port <port>]" ---

# Dockerize a Website

This skill is invoked **manually** — only when the user explicitly runs `/ai-assist-dockerize-website`. Don't auto-trigger it from general talk about Docker, containers, or websites.

Guide the user from a project folder to a working Docker container that serves their site or documentation. The skill is **interactive and guided**, not a one-shot script: inspect the project, propose a sensible plan, confirm a few details, generate the files, then offer to build/test and publish.

The spine is: **detect → confirm → generate → offer to test → offer to publish.** Lead with a good default at every step so the user is confirming, not configuring from scratch.

## When to use

Use this whenever the user wants to serve a *static* website or a *documentation* folder out of a container — loose HTML/CSS/JS, the build output of a site generator, or a folder of markdown docs. The "project with a docs folder" case is the bullseye.

## Out of scope — dynamic apps

This skill serves static content. If the project is a **dynamic app** that runs code per request — an Express/Fastify/Nest server, Next.js in SSR mode, Flask/Django/FastAPI, a Go/Rust web server, anything with a long-running `start`/`serve` process and a port it listens on — stop and say so plainly. Containerizing those means basing the image on the app's own runtime and running its start command, which is a different job. Detect this case (see below), tell the user, and don't half-build a static image that won't actually run their app.

Don't leave them stranded, though. After declining, offer a real next step: a correct container for a dynamic app is based on the app's own runtime (e.g. `node:22-alpine`), installs its dependencies, runs the start command, and exposes the port the app listens on. Offer to hand-write that separately — it's just outside this skill's static-hosting scope.

## Step 1 — Inspect and classify the project

Before asking anything, look at what's there so the proposal is concrete. If the user named a folder (argument or in their message), focus on it; otherwise scan the working directory.

Classify into one of four strategies:

| Signals found | Strategy | |---|---| | An `index.html` ready to serve — at the project root, or in `dist/`, `build/`, `out/`, `public/`, `_site/`, `site/`, `www/` | **A · Ready static** — single-stage nginx, copy the folder in | | Site-generator tooling: `package.json` with a `build` script + a static framework (Vite, Astro, Eleventy, Docusaurus, Gatsby, SvelteKit static), or a config file (`mkdocs.yml`, `docusaurus.config.*`, `astro.config.*`, `_config.yml`, `hugo.toml`/`config.toml`, `.eleventy.js`) | **B · Buildable** — multi-stage build → nginx | | A folder of `.md` docs with **no** generator configured | **C · Raw docs** — offer to render (recommended) or serve as-is | | A long-running server: `package.json` `start` runs a server (`node server.js`), source calls `.listen()`, or a web framework (Express, Next SSR, Flask, Django, FastAPI, Go/Rust server) | **D · Dynamic app** — stop, explain, don't build |

State your finding in one line — e.g. *"Found a built site in `dist/` with an `index.html`, so I'll serve it directly with nginx (strategy A)."* — and let the user correct you if the detection is off.

For **strategy B and C**, the build/render details live in `references/recipes.md`. Read that file when you land on those paths — it has the multi-stage Dockerfiles per generator (Node SSGs, MkDocs, Hugo, Jekyll), the SPA fallback config, the raw-markdown render path, caching headers, the non-root variant, and a Caddy alternative.

## Step 2 — Confirm the details

Pre-fill every answer from Step 1 so these are quick confirmations, not an interrogation:

- **What to serve** — the folder (strategy A) or the build output directory (strategy B/C). Show the path you detected. - **Port** — what host port to expose. Default `8080` (avoids clashing with anything already on `80`). Honor `--port` if given. - **Image / container name** — propose one lowercase-hyphenated name for both. Default to the **project folder** name, but prefer a more meaningful name when one is obvious — a `package.json` `name`, or a clear title in the README — e.g. favor `marketing-site` over a generic folder like `app` or `vite-app`. Always let the user override. - **Compose?** — yes by default (one-command up/down). Mention they can skip it. - For **strategy C**, confirm they want the docs *rendered* (recommended — browsers download raw `.md` instead of displaying it) versus served as raw files.

Skip questions whose answers are obvious or already given. The user invited a guided flow, not a form.

## Step 3 — Generate the artifacts

Generate all of these, tailored to the chosen strategy. Substitute the real folder, port, and names — don't leave placeholders in the files you write.

### Dockerfile (strategy A — ready static)

```dockerfile # syntax=docker/dockerfile:1 FROM nginx:1.27-alpine

# Copy the site into nginx's web root. COPY <SITE_DIR>/ /usr/share/nginx/html/

EXPOSE 80

# Fail the container's health check if nginx stops serving. # busybox wget ships in the alpine image, so no extra install is needed. HEALTHCHECK --interval=30s --timeout=3s --start-period=5s \ CMD wget -q --spider http://localhost/ || exit 1 ```

Pin the base image to a real minor tag (e.g. `nginx:1.27-alpine`) rather than the floating `nginx:alpine`, so a rebuild months from now doesn't silently pull a different nginx. Mention this so the user knows to bump it deliberately.

The build context is the project root (compose uses `build: .`), so `COPY` paths are relative to it: copy the served folder by its path from the root — `COPY public/ …` when the site lives in `public/`, or `COPY . …` when the site *is* the project root (then lean on `.dockerignore` to keep junk out).

For **strategy B/C**, use the matching multi-stage Dockerfile from `references/recipes.md` — a builder stage runs the generator, and only its static output is copied into the nginx stage, so build tooling never ships in the final image.

### .dockerignore

Keep the build context small and the image clean:

```gitignore .git .gitignore node_modules npm-debug.log* .env .env.* .DS_Store Thumbs.db Dockerfile* .dockerignore docker-compose*.yml ```

Tailor it to the project. For a multi-stage build (strategy B/C), also ignore the local build-output directory (`dist`, `build`, `_site`, `out`, `site`, …) — it's regenerated inside the image, and shipping a stale host copy into the build context only bloats it. The "don't ignore your content" rule is about *source* you serve directly (strategy A), not generated output.

### docker-compose.yml

```yaml services: web: build: . image: <IMAGE_NAME>:latest container_name: <CONTAINER_NAME> ports: - "<HOST_PORT>:80" restart: unless-stopped healthcheck: test: ["CMD", "wget", "-q", "--spider", "http://localhost/"] interval: 30s timeout: 3s retries: 3 start_period: 5s ```

No top-level `version:` key — it's obsolete in Compose v2 and prints a warning.

### Helper commands + README section

Append a "Running with Docker" section to the project's `README.md` (or create a short `DOCKER.md` if there's no README). The commands are identical in PowerShell and bash, so no per-shell variants are needed.

The block below is the template; its outer 4-backtick fence is only the boundary so the inner blocks display here. When you write the actual file, use normal **3-backtick** fences for the `bash` blocks — don't copy the 4-backtick wrapper.

````markdown ## Running with Docker

This site is served by nginx in a container.

### Quick start (Docker Compose)

```bash docker compose up -d --build # build the image and start in the background # open http://localhost:<HOST_PORT> docker compose logs -f # follow logs docker compose down # stop and remove ```

### Without Compose

```bash docker build -t <IMAGE_NAME> . docker run -d --name <CONTAINER_NAME> -p <HOST_PORT>:80 <IMAGE_NAME> docker stop <CONTAINER_NAME> && docker rm <CONTAINER_NAME> ``` ````

After writing the files, summarize what you created and the one command to run it.

## Step 4 — Offer to build and smoke-test

Don't build automatically — the user may not have Docker running, or may want to review the files first. Ask: *"Want me to build it and confirm it serves?"*

If yes:

1. Check the daemon is up first with `docker info`. If it fails, tell the user to start Docker Desktop and stop here — the files are already written and ready whenever they are. 2. Build and start: `docker compose up -d --build` (or `docker build` + `docker run` if they skipped compose). 3. Smoke-test the URL — request `http://localhost:<HOST_PORT>/` and confirm an HTTP 200 with non-empty HTML. On Windows use `curl.exe` or PowerShell's `Invoke-WebRequest`; give nginx a second to come up and retry once or twice before calling it a failure. 4. Report the result. Leave it running if they want to look at it, or tear down with `docker compose down`. If you started a throwaway container by hand, clean it up.

If the build or smoke-test fails, read the actual error (`docker compose logs`) and fix the real cause — a wrong output directory, a missing build step, a port already in use — rather than guessing.

## Step 5 — Offer to publish (optional)

Once it runs locally, offer to push the image to a registry so it can be shared or deployed. Only do this if the user wants it. Read `references/registry-publish.md` for the Docker Hub and GHCR walkthrough (login, tag, push, image naming, and the multi-arch `--platform` note for Apple-Silicon-built images headed to amd64 servers).

## Conventions and rationale

- **nginx:alpine for static** — tiny, battle-tested, zero app code to maintain. Reach for the Caddy alternative (in recipes) only when the user wants dead-simple config or automatic file serving. - **Multi-stage when building** — the final image carries only the rendered site, not Node/Python/Hugo and their caches. Smaller image, smaller attack surface. - **Pin the base image** to a minor tag so rebuilds are reproducible. - **Default to port 8080** on the host to avoid colliding with whatever already owns `80`. - **Non-root** is available via `nginxinc/nginx-unprivileged` (recipes) for stricter environments — note it as an option rather than forcing it. - **No secrets in the image** — static hosting rarely needs any; if the user mentions API keys or env config, that's a sign this is really a dynamic app (strategy D).

## Reference files

- `references/recipes.md` — multi-stage Dockerfiles per generator (Node SSGs, MkDocs, Hugo, Jekyll), the raw-markdown render path, SPA fallback, caching headers, non-root, and the Caddy alternative. Read it for strategy B or C. - `references/registry-publish.md` — pushing the image to Docker Hub or GHCR. Read it for Step 5.

Technical details

Version
1.0.0
License
Unknown
Last updated
Aug 22, 2026
Published
Aug 21, 2026

Decision snapshot

Fallback candidate

63
Ready
Prototype
Stage

recent repository activity

Audit

Install review

Install and adoption review

70
Needs review
Security
63/100
Maintenance
100/100
Install
92/100
Open full auditView eval report

Agent-proven evidence

Agent-proven evidence

Outcome reports after resolve, review, install, and one narrow run.

0
Proven
Needs first agent runAuto-install: review firstLast: Unknown
Success rate
Recent failure
Outcomes
0
Output quality
Failed
0
Not relevant
0
Installs
0
Risk blocked
0
Setup needed
0
Production
0

No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.

Install

Add to agent workflow

Free and open source. Review the report before installing into production agents.

Growth loop

Share kit

X

Scenario-led draft for ai-assist-dockerize-website, ready for a manual X post.

Curator note
ai-assist-dockerize-website: Guide the user through containerizing and serving a simple website or documentation folder wi...

88 stars

https://www.openagentskill.com/skills/jparkerweb-ai-assist-dockerize-website?ref=x
Open X draft
Optional reply with install command
Listing + install path for ai-assist-dockerize-website:
https://www.openagentskill.com/skills/jparkerweb-ai-assist-dockerize-website?ref=x

Install: npx skills add jparkerweb/ai-assist-skills --skill ai-assist-dockerize-website

Listing source

Registry indexed

Claimable

This listing was indexed from public sources and is not marked official until a maintainer claim is approved.

Creator
jparkerweb
Indexed by
OpenAgentSkill community index

Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.

Claim this skill

Owner claim

Claim this skill listing

This Registry indexed listing is attributed to jparkerweb but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.

Creator backlink kit

Add the evidence badges to your README

Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.

[![Listed on OpenAgentSkill](https://www.openagentskill.com/api/badge/jparkerweb-ai-assist-dockerize-website?metric=listed&label=Listed)](https://www.openagentskill.com/skills/jparkerweb-ai-assist-dockerize-website)
[![OpenAgentSkill Trust](https://www.openagentskill.com/api/badge/jparkerweb-ai-assist-dockerize-website?metric=trust&label=Trust)](https://www.openagentskill.com/skills/jparkerweb-ai-assist-dockerize-website)
[![OpenAgentSkill Audit](https://www.openagentskill.com/api/badge/jparkerweb-ai-assist-dockerize-website?metric=audit&label=Audit)](https://www.openagentskill.com/skills/jparkerweb-ai-assist-dockerize-website/audit)
[![Agent Proven](https://www.openagentskill.com/api/badge/jparkerweb-ai-assist-dockerize-website?metric=proven&label=Agent%20Proven)](https://www.openagentskill.com/skills/jparkerweb-ai-assist-dockerize-website)

Author

J

jparkerweb

@jparkerweb

Health signals

GitHub stars
88
Quality score
37/100
Last GitHub push
Aug 22, 2026
Framework hints
Unknown
OpenAgentSkill views
10
Install copies
0
Outbound clicks
0

Community signal

Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.

Trust & safety

Do not auto-install

54
  • GitHub adoption88 GitHub starsCHECK
  • Stars/forks activity88 stars, 12 forks; issue activity unavailable in current metadataCHECK
  • Recent maintenancePushed todayPASS
  • License clarityUnknownCHECK
  • README/SKILL.md completenessMetadata includes enough usage and workflow contextPASS
  • Dependency/runtime riskcommand execution surface, credential or environment accessFIX