Pageskill turns Markdown, Frontmatter, reusable Patterns and Blocks, collection schemas, and site configuration into a checked website. A person can use the built-in capabilities directly; an Agent is optional. You write page content instead of hand-writing HTML for every page.
What you need
Install Node.js >=22.12.0, npm, and Git. Use a new target directory for the site that pageskill init will create.
Install from the source repository
Run these commands in the Pageskill checkout:
git clone https://github.com/jsw-teams/pageskill.git
cd pageskill
npm install
npm run compile-runtime
npm run compile-theme
npm run compile-backend
npm link
The three compile commands create the runtime, theme, and backend artifacts used by the linked pageskill command. The link uses this checkout, so repeat the compile command that matches a source change.
Create a site
From the directory where you keep projects, create an empty site directory and initialize it:
mkdir my-site
cd my-site
pageskill init
pageskill init copies the neutral starter/ contract. It creates config.yml, a starter page, and the starter theme with landing, document, and blog Patterns. It does not create a hidden second template inside the CLI.
Check and build
Run discovery before adding content, then check and build:
pageskill catalog
pageskill inspect pattern:landing
pageskill inspect block:hero
pageskill check
pageskill build
The expected result is a successful check followed by dist/ containing generated HTML and the site assets. Start the local preview when you want to read the result in a browser:
pageskill s
Open http://127.0.0.1:4173/. The preview watches config.yml, content/, and themes/, then rebuilds after an affected edit.
Common errors
pageskillis not found: runnpm linkin the repository after the compile commands, then open a new terminal if your shell has not refreshed its command path.- The Node version is rejected: install a supported Node.js version and run
npm installagain. - Initialization copies into the wrong place: stop, choose an empty target directory, and run
pageskill initthere; keep the repository checkout separate from the site. - A starter page uses
docs: the starter providesdocument; copy a theme that providesdocsonly aftercatalogconfirms it.
Expected result and next step
You now have a neutral Pageskill site that can be checked, built, and previewed. Keep dist/ generated and edit the source files instead.