Sites Hosting logo

Sites Hosting

Community
ahang1598
sites-hosting

Host websites with Sites. Always use after `sites-building`, and use for website publishing, deployment, hosting management, or projects containing `.openai/hosting.json`.

Overview

Publisherahang1598
Repositorydoubao-workbuddy-qwenwork-skills
Skill namesites-hosting
Stars
90
Forks
35
Bundled files
1
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 1 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by ahang1598 on GitHub. Read the source before you install it.

Installation

Install the Sites Hosting AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/ahang1598/doubao-workbuddy-qwenwork-skills/tree/main/chatgpt/archive/deleted/2026-08-06-110921/plugins/openai-bundled/sites/0.1.33/skills/sites-hosting
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/ahang1598/doubao-workbuddy-qwenwork-skills.git /tmp/doubao-workbuddy-qwenwork-skills
mkdir -p .claude/skills
cp -r /tmp/doubao-workbuddy-qwenwork-skills/chatgpt/archive/deleted/2026-08-06-110921/plugins/openai-bundled/sites/0.1.33/skills/sites-hosting .claude/skills/sites-hosting
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Sites Hosting in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Sites Hosting on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Sites Hosting is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Sites hosting

Publish the exact validated source with the shortest safe sequence. Treat the Sites connector descriptions as the source of truth for arguments and archive requirements.

Communicate clearly

Assume the user is a nontechnical knowledge worker. Keep source control, credentials, IDs, commits, branches, archives, versions, packaging, connector calls, and deployment polling out of user-facing messages. Usually send one update when publishing begins, then the final URL or a plain-language blocker. For example: Your site is ready. I’m publishing it privately now.

Rules

  • Publish after a successful build unless the user requested local-only work.
  • Publishing does not require browser preview or visual QA. Use the preview from sites-building; do more browser work only when the user asks. A failed browser handoff does not block publishing.
  • Treat public/screenshot.jpeg as an optional deployment thumbnail. Preserve an existing file. Create or refresh it only when the user explicitly requests a Sites deployment thumbnail; a generic screenshot request does not count. Missing or failed capture never blocks validation, version saving, or deployment.
  • Store only project_id plus optional logical d1 and r2 bindings in .openai/hosting.json. Manage runtime values through Sites.

Fast publish sequence

  1. Reuse the successful build from sites-building when the source has not changed. Rebuild only when needed.
  2. Call create_site once for a new site. Persist its project_id in .openai/hosting.json and reuse the source write credential returned by that call. Reuse these values instead of rediscovering them. Retry only when the error explicitly identifies a temporary failure or slug conflict. Treat quota, permission, and access errors as terminal; do not change the slug speculatively.
  3. Commit the exact validated source. Push it with the returned credential as a per-command HTTP authorization header. Keep the credential out of remote URLs and Git configuration. Use the pushed branch-head SHA as commit_sha.
  4. Package with this plugin's root-level scripts/package-site.sh helper, passing the project directory and archive path. It stages dist/, hosting metadata, and migrations; validates required files; and creates the archive.
  5. Save one version with the connector using that commit_sha and archive.
  6. Prefer private deployment. Use deploy_private_site_version when available. If only shared or public deployment is available, call request_user_input with an approval choice that names the resolved access level, such as Publish publicly or Publish to existing shared access, plus Not now; wait for the response, and call deploy_site_version only after approval.
  7. Poll get_deployment_status directly until deployment succeeds or fails. Use discovery calls only when an error requires them.

Existing sites and advanced capabilities

  • Reuse an existing project_id and valid source credential when available.
  • If a credential is absent or expired, obtain one with create_source_repository_write_credential and reuse it until expiry.
  • If the D1 schema changed, ensure generated migrations are present before packaging.
  • Require dist/server/index.js, static assets when emitted, dist/.openai/hosting.json, and dist/.openai/drizzle/** when migrations exist.
  • For non-vinext projects, use the established Cloudflare Workers-compatible build output and adapt staging only as required by the connector contract.

Handoff

After get_deployment_status reports status: "succeeded", call open_in_codex without threadId so it defaults to the calling thread. Use the exact deployed URL returned in that response: target: { type: "browser", url: deployedUrl }.

Then return the deployed Sites URL and a concise description of what the user can do. If the deployment is unsuccessful, do not call open_in_codex or mention that the deployed URL could not be opened in the in-app browser; explain the user-visible reason and next step. Keep source credentials and temporary archives private. Do not include file paths, commands, build details, IDs, commits, or version information unless the user asks.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Sites Hosting AI skill do?

Host websites with Sites. Always use after `sites-building`, and use for website publishing, deployment, hosting management, or projects containing `.openai/hosting.json`.

Why use Sites Hosting on TypingMind?

Because you install it once and use it with any model. Sites Hosting is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Sites Hosting in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/ahang1598/doubao-workbuddy-qwenwork-skills/tree/main/chatgpt/archive/deleted/2026-08-06-110921/plugins/openai-bundled/sites/0.1.33/skills/sites-hosting. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Sites Hosting?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Sites Hosting?

As many as you like. As long as a model supports skills, you can use Sites Hosting with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Sites Hosting AI skill free?

It is published on GitHub by ahang1598. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇