MURAGE
How it worksFeaturesSolutionsUse casesComparePricingLearn
DownloadDownload
MURAGE

An AI Chief of Staff and a team that does the work. Free and open source, from Ferrox Labs.

Product

  • Features
  • How it works
  • Engines and apps
  • Privacy and security
  • Pricing
  • Murage Cloud
  • Download
  • Changelog
  • FAQ

Solutions

  • Solopreneurs
  • Founders and startups
  • Agencies
  • Ecommerce
  • Small business
  • Creators and educators
  • Developers
  • SaaS
  • Nonprofits
  • Consultants and freelancers
  • Customer success teams
  • Legal and professional services
  • Small teams
  • Sales teams
  • Operations managers
  • Industries
  • Use cases
  • Build your team

Compare

  • vs Claude Code
  • vs Codex (ChatGPT Work)
  • vs Claude (Cowork)
  • vs Paperclip
  • vs OpenClaw
  • vs Hermes Agent
  • vs Manus
  • vs Genspark
  • vs n8n
  • vs Zapier
  • vs Grok Bot
  • vs Viktor
  • vs Lindy
  • vs Tasklet

Resources

  • Learn
  • Docs
  • Team library
  • Skill library
  • AI Chief of Staff
  • How we test
  • Limits
  • Switching to Murage
  • Open source
  • Blog
  • Release notes

Company

  • About
  • Partners
  • Enterprise
  • Contact
  • Privacy
  • Terms
  • Cookies
© 2026 Ferrox Labs, LLC. Murage is open source under AGPL-3.0.
Web development skills

Website Publisher

Download SKILL.mdGet MurageHow skills work

Free and open source. macOS, Windows and Ubuntu.

At a glance

What it is

Build, publish, update and take down small static websites for non-technical owners using four templates, Netlify Forms and Murage's publish_site tool.

A skill is a written procedure a bot loads when a job calls for it. This one is a single file, SKILL.md, and the whole file is on this page.

File
SKILL.md
Length
136 lines1,263 words, about 6 min read
Category
Web developmentweb development
Level
Beginner
License
Apache-2.0Open source license
Author
Ferrox Labs
Skill Guard
Scanned by Skill Guard

Contents

  1. 1Choose and prepare
  2. 2Build and review
  3. 3Connect and publish
  4. 4Update or take down
  • website
  • netlify
  • publishing
  • static-html
Download SKILL.mdUse it in Murage

Paste it into your agent's instructions (CLAUDE.md, AGENTS.md or a custom GPT), or add it to a bot in Murage.

Create a bot and use this skill.

Ask Ember for the bot, then switch the skill on in its settings.

  1. 1

    Step 1

    Ask Ember to create the bot

    Send your Chief of Staff this message. It proposes the bot and its role first, and creates it when you say go.

About this skill.

What it teaches a bot, what it covers, and the whole file to read.

The principle

“
Help an owner turn an idea into a small website they can review, share and edit. Use plain language. Follow Krug: give one clear next step at a time. Follow Sutherland: explain what is happening and why before each meaningful action. For example: "I’m making a short preview so you can check the words and layout." Describe observed progress; keep technical details in the project files.

What it covers

  1. 1

    Choose and prepare

  2. 2

    Build and review

  3. 3

    Connect and publish

More web development skills.

  • Angular Signals PatternsGuides expert-level angular signals patterns implementation: typescript and frameworks decision frameworks and production-ready patterns.CleanIntermediate
  • Angular Testing PatternsGuides expert-level angular testing patterns implementation: typescript and testing decision frameworks and production-ready patterns.Clean

The full skill.

The whole file, exactly as it downloads. Read it before you rely on it.

SKILL.md

136 lines · 1,263 words

Download

Website Publisher

Help an owner turn an idea into a small website they can review, share and edit. Use plain language. Follow Krug: give one clear next step at a time. Follow Sutherland: explain what is happening and why before each meaningful action. For example: "I’m making a short preview so you can check the words and layout." Describe observed progress; keep technical details in the project files.

Choose and prepare

  1. Use any brief already supplied. Otherwise ask: "What is this website for?" Next establish its audience and the one thing visitors should do. Ask only for missing decisions as they become relevant, one question at a time.

Put this skill to work.

  • Release notesShip the feature and the announcement together.
  • Skill GuardEvery skill is scanned before a bot can use it.

Questions.

What is the Website Publisher skill?+

Build, publish, update and take down small static websites for non-technical owners using four templates, Netlify Forms and Murage's publish_site tool.

How much does it cost?+

Nothing. It ships with Murage, which is free and open source. Your bots run on the AI plan you already have.

Can I change it?+

Yes. Open it in Settings → Skills to read, edit or duplicate it. Skill Guard scans it again after every edit.

Give your first job to Murage.

Download the free app, connect the AI you already pay for, and tell your Chief of Staff what needs doing. Plan on about ten minutes from install to a working team.

Free · Download Murage

No account needed · Runs on the AI plan you already pay for

Send this to Ember

“Create a bot that uses the Website Publisher skill, and show me the plan first.”

Your new bot

Website Publisher bot

Waiting in your sidebar once you say go.

You're done when your Chief proposes the bot and its role, and the bot appears in your sidebar once you say go.

  • 2

    Step 2

    Open the bot’s skills

    Open Bot settings›Skills for the bot that will do the work, then choose Add a skill. It opens the library right there.

    You're done when you see the bot’s skills and the library.

  • 3

    Step 3

    Find Website Publisher and switch it on

    Search the library for Website Publisher, add it, and choose Enable. Skill Guard has already scanned it.

    You're done when the skill shows as on for that bot.

  • 4

    Step 4

    Ask the bot for the job

    Tell the bot, or your Chief of Staff, what you need in plain words. The bot opens the skill when the job calls for it.

    You're done when the bot takes the job and opens the skill when it needs it.

  • Prefer to do it yourself? Choose + in the sidebar, then New Bot.Read the full guide to skills and Skill Guard

  • 4

    Update or take down

  • Intermediate
  • CSS ArchitectureGuides expert-level css architecture implementation: html-css and web-development decision frameworks and production-ready patterns.CleanIntermediate
  • HTML SemanticsGuides expert-level html semantics implementation: html-css and web-development decision frameworks and production-ready patterns.CleanIntermediate
  • Next.js App Router PatternsGuides expert-level next.js app router patterns implementation: typescript and frameworks decision frameworks and production-ready patterns.CleanIntermediate
  • Next.js Data PatternsGuides expert-level next.js data patterns implementation: typescript and frameworks decision frameworks and production-ready patterns.CleanIntermediate
  • All web development skills

  • Recommend one template and explain its fit:

    • assets/templates/quiz/: questions in steps, a result based on score, and optional email capture after the result.

    • assets/templates/survey/: questions and a separate thank-you page.

    • assets/templates/lead-capture/: headline, benefits and a contact form.

    • assets/templates/landing-page/: hero, features and a call to action.

  • Resolve these paths relative to this skill's folder. Murage copies the skill's assets/ folder with SKILL.md when it installs the skill. When the folder is absent, look in the accessible bundled library at skills-library/website-publisher/assets/templates/, using the library location supplied by the runtime. The packaged app includes that library. If neither location is accessible, explain that the template files need to be made available. Continue the brief, and report copying as pending.

  • Copy the selected folder's contents into the current project’s site/, including its thank-you page if present. Inspect an existing site/ first and preserve the owner's edits. Edit the marked CONTENT BLOCK near the top of each HTML file, then adjust styles as needed. Keep only public website files in site/; store drafts, private notes, credentials, tokens, .env files and publishing receipts elsewhere. Never put secrets or private notes in site/, including comments, filenames and hidden fields.

  • Build and review

    • Use plain HTML, CSS and JavaScript with no build step or backend. Keep fonts, scripts and images local. Use no external dependencies or external trackers by default. Add integrations only for an explicit owner request.

    • Write truthful, positive placeholder copy. Use ordinary hyphens or full stops, plain words and specific next actions. Apply the owner's house copy rules to visible text, metadata, comments and instructions. Include only claims, contact details and testimonials the owner has supplied or approved.

    • All form fields must exist in the static HTML for Netlify to discover them. Keep each form's unique name, method="POST", data-netlify="true", netlify-honeypot="bot-field", hidden form-name input and hidden honeypot field. The form-name value must match the form name. Keep the local action destination, thank-you.html, in the published folder.

    • The quiz shows a result before requesting contact information. Set data-email-capture="true" only when the owner wants contact requests. Adjust question scores and result ranges together, covering every possible score. Email capture stores a request; Netlify Forms alone does not send a personalized result email or subscribe someone to a mailing list.

    • Collect only the information needed for the stated purpose. Agree the contact consent wording with the owner. Keep results available to visitors who choose to skip contact. Explain where submissions will be stored and who will read them; add the owner's privacy information before publishing.

    • Check a narrow mobile viewport, zoom, headings, visible labels, useful image alt text (empty alt for decorative images), text contrast, visible focus, keyboard navigation, validation messages and the thank-you destination. Exercise every quiz result range, back, restart and optional capture. Check text contrast of at least 4.5:1 and large text of at least 3:1.

    • Show the owner a local preview with one next step: "Review the page and tell me what you would like changed." Report only checks actually performed. A local preview demonstrates the page; form delivery requires Netlify.

    Connect and publish

    1. Inspect the available tools and connection state. A skill describes the workflow; the runtime supplies publish_site. Follow its actual schema and connection instructions. Keep publishing pending if the tool is absent. Do not invent arguments, credentials, connection actions or tool results.

    2. If the owner has no Netlify account, give one link and one next step: "Create a Netlify account at https://app.netlify.com/signup so your website has a home." Wait for them to say the account is ready. When Netlify is not connected, Murage shows a "Connect Netlify" card in the chat; tell the owner to press it and wait for them. Existing account holders go directly to that card. Keep passwords and tokens in the card, outside chat and files, and never ask the owner to type one into chat.

    3. Tell the owner to check Netlify's current terms for commercial use. State that terms can change; make no promise about commercial eligibility. Offer https://www.netlify.com/legal/ when they reach that decision, separately from the account creation step. Keep account guidance focused on setup.

    4. For forms, guide the owner to enable form detection in the Netlify project's Forms area. If the project is created by the first publication, do this after creation and publish the same site again so Netlify processes the forms. Confirm the intended forms appear in Netlify. See the official form setup and honeypot guide.

    5. Explain that publishing makes everything in site/ public. After the owner has reviewed the page and requested publication, call publish_site with the project’s site/ as the publish directory using the exposed schema. Publish this folder alone. Preserve any returned site identifier outside site/ so later updates target the same site. Honour permission results.

    6. Use the returned deployment status and URL. Report the live link only after the tool confirms publication; check that URL when tools allow. For a pending or failed deployment, state its actual status and one next step. After an interruption or uncertain result, inspect deployment state before retrying so another site is not created by accident.

    7. With the owner's agreement, submit clearly labelled sample data and confirm it appears in Netlify Forms. A thank-you page alone does not prove delivery. Report form delivery as unverified until the stored submission is checked. Give the owner the live link and one next action, such as opening it on their phone. Keep receipts and the site identifier in private project notes.

    Update or take down

    For updates, read the existing files and saved site identifier, make the requested edit in site/, preview it and repeat the relevant checks. Use publish_site with the existing site identifier according to its current schema so the owner keeps their link. Clarify the target if multiple sites could match.

    For taking a site down, identify the exact live link and explain the effect. Act on an explicit request for that site. Inspect the available tool schema: use a supported unpublish operation only when one is actually offered. If it is absent, guide the owner through the current Netlify project controls one step at a time. Explain the distinction between taking a site offline and deleting its project, deployment history or form submissions; confirm deletion separately when that is the only offered action. Check the result and report what was observed. Deleting local site/ files leaves the hosted site online. Retain the local source for later edits unless the owner requests its deletion.

    SKILL.md

    136 lines · 1,263 words

    Download

    The text of SKILL.md is shown as it downloads, under the Apache-2.0 license, by Ferrox Labs. The license is the one in the file's own frontmatter.

    No account needed · Runs on the AI plan you already pay for