website-build-skill 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +13 -0
- package/README.md +5 -27
- package/RELEASING.md +2 -0
- package/REPO_SETTINGS.md +2 -2
- package/adapters/hermes.md +2 -1
- package/docs/INSTALLER.md +1 -1
- package/docs/demo.gif +0 -0
- package/docs/evidence/content-review.json +13 -12
- package/package.json +1 -1
- package/skills/website-build-skill/manifest.json +1 -1
- package/src/cli.mjs +1 -1
- package/src/validate.mjs +6 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "website-build-skill",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "A skill pack that teaches your AI current website-building expertise: research, design, code, accessibility, performance, search and security.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "website-build-skill contributors"
|
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,19 @@ Version policy: [Semantic Versioning 2.0.0](https://semver.org/spec/v2.0.0.html)
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.1.3] - 2026-09-23
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- #13: Synchronized the repository settings description with `package.json`, added a description drift check and documented the release update step.
|
|
14
|
+
- #14: Documented the installed skill folder as the Hermes alias path root in the adapter, installer contract and CLI help, with regression coverage for help text and alias placement.
|
|
15
|
+
|
|
16
|
+
## [0.1.2] - 2026-09-23
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- README "Two ways to work" is a two-row table in place of the raw installer prompt; the save-location choices are one sentence. SKILL.md keeps the card verbatim because the agent shows it to the user, and the drift check now requires it there only.
|
|
21
|
+
|
|
9
22
|
## [0.1.1] - 2026-09-23
|
|
10
23
|
|
|
11
24
|
### Added
|
package/README.md
CHANGED
|
@@ -87,36 +87,14 @@ Every site follows the same twelve stages, so your AI researches before it desig
|
|
|
87
87
|
|
|
88
88
|
## Two ways to work
|
|
89
89
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
Works with any AI: Claude, ChatGPT, Grok, Cursor, Copilot.
|
|
95
|
-
Nothing else to install.
|
|
96
|
-
|
|
97
|
-
2 Give me the team Seven specialist agents, one per job, starting with a researcher that gets them all current.
|
|
98
|
-
Needs Claude Code, Codex, Hermes, Antigravity, or Grok Bot.
|
|
99
|
-
One command installs their files; you open each session yourself.
|
|
90
|
+
| Choice | What happens | Works with |
|
|
91
|
+
|---|---|---|
|
|
92
|
+
| **1 · Teach my AI** (SOLO) | One AI learns the whole method and does every job itself. Nothing else to install. | Any AI: Claude, ChatGPT, Grok, Cursor, Copilot |
|
|
93
|
+
| **2 · Give me the team** (TEAM) | Seven specialist agents, one per job, starting with a researcher that gets them all current. One command installs their files; you open each session yourself. | Claude Code, Codex, Hermes, Antigravity, Grok Bot |
|
|
100
94
|
|
|
101
95
|
Not sure? Pick 1. Moving to 2 later keeps everything you have already done.
|
|
102
96
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
1 Obsidian vault Give an existing folder inside your vault. The library is
|
|
106
|
-
plain Markdown, so it opens and links natively.
|
|
107
|
-
|
|
108
|
-
2 A folder on this computer
|
|
109
|
-
Give an existing directory. The default is the
|
|
110
|
-
website project folder.
|
|
111
|
-
|
|
112
|
-
3 Notion Working copy still lives in a folder on this computer,
|
|
113
|
-
because every gate reads its own files back by path.
|
|
114
|
-
Notion receives an export of the finished library.
|
|
115
|
-
|
|
116
|
-
4 Somewhere else Type an existing local destination yourself.
|
|
117
|
-
|
|
118
|
-
Whatever you pick becomes the workspace root. Everything below is written inside it.
|
|
119
|
-
```
|
|
97
|
+
The installer also asks where to save the work: an Obsidian vault folder, a folder on this computer (default: your project folder), Notion (a local working copy plus an export of the finished library), or another local folder. That folder becomes the workspace root.
|
|
120
98
|
|
|
121
99
|
SOLO follows the same jobs with saved self-handoffs. TEAM gives each job a separate route:
|
|
122
100
|
|
package/RELEASING.md
CHANGED
|
@@ -19,6 +19,8 @@ push publishes. Creating the GitHub release page stays manual.
|
|
|
19
19
|
|
|
20
20
|
## Invocation chain
|
|
21
21
|
|
|
22
|
+
When `package.json` description changes, update REPO_SETTINGS.md § Description in the same commit and run `gh repo edit https://github.com/aunysillyme/website-build-skill --description "<same string>"`.
|
|
23
|
+
|
|
22
24
|
1. Read the candidate and resolve any source, privacy, claim-review or license defect.
|
|
23
25
|
2. Run `node scripts/build.mjs` to regenerate bundles and the index.
|
|
24
26
|
3. Run `node scripts/check.mjs` without rewriting outputs.
|
package/REPO_SETTINGS.md
CHANGED
|
@@ -7,9 +7,9 @@ trusting any row; a checklist is only as current as its last read.
|
|
|
7
7
|
|
|
8
8
|
## Description
|
|
9
9
|
|
|
10
|
-
- [x] Repository description set to this one line. Read back 2026-09-
|
|
10
|
+
- [x] Repository description set to this one line, identical to package.json and npm. Read back 2026-09-23; it matches.
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Skills that make your AI an expert website builder: current research, design, accessibility, performance, SEO, security and code, for any LLM or agent.
|
|
13
13
|
|
|
14
14
|
## Topics
|
|
15
15
|
|
package/adapters/hermes.md
CHANGED
|
@@ -6,7 +6,8 @@ For explicit loading, ask the session to read its SKILL.md directly.
|
|
|
6
6
|
After confirming the installed CLI supports it, try preload: `hermes -s website-build-skill` after discovery is confirmed.
|
|
7
7
|
After checking the installed CLI help, use its trust operation: `hermes skills trust`; this changes trust state and requires the user's authorization.
|
|
8
8
|
Do not create version-control state or alter global settings during a copy.
|
|
9
|
-
Install the files: `npx website-build-skill --team --target hermes --dir . --scope project --yes --bundle-dir
|
|
9
|
+
Install the files: `npx website-build-skill --team --target hermes --dir . --scope project --yes --bundle-dir team-aliases`.
|
|
10
|
+
The path is relative to the installed skill folder, so the alias files land in `.agents/skills/website-build-skill/team-aliases/` and the path must stay inside that folder.
|
|
10
11
|
|
|
11
12
|
## Two planned branches
|
|
12
13
|
|
package/docs/INSTALLER.md
CHANGED
|
@@ -38,7 +38,7 @@ Append `#<reviewed-commit-sha>` to the repository reference for a reproducible i
|
|
|
38
38
|
- Choice: mutually exclusive `--solo` / `--team`; no arguments asks the canonical human question first.
|
|
39
39
|
- Target: `claude-code`, `codex`, `hermes`, `antigravity`, `grok`, `agents`, `chatgpt`, `portable`.
|
|
40
40
|
- Scope: project by default; user scope requires explicit selection, never implicit fallback.
|
|
41
|
-
- Destination: `--dir` is explicit; `--bundle-dir` is accepted only for the Hermes team alias.
|
|
41
|
+
- Destination: `--dir` is explicit; `--bundle-dir` is accepted only for the Hermes team alias and resolves relative to the installed skill folder. Paths outside that folder are refused with exit 3 and "Path escapes destination root".
|
|
42
42
|
- Output root: `--output-dir` selects an existing directory separately from the skill destination. Interactive setup collects the save-location choice and path; Enter on the local-folder path uses the website project directory. The receipt records `outputRoot` and optional `outputStorage` (kind and Notion export target). Researcher consumes those values before writing `<outputRoot>/site-work/research/library/scope.md`. The installer only probes the root; it does not create a library or export to Notion. Headless setup without `--output-dir` leaves the root unset for Researcher to ask before writing.
|
|
43
43
|
- Notion: export destination only. Interactive setup requires both the existing local working directory (authoritative) and a page URL or name for later export. No credentials are requested and no network upload occurs.
|
|
44
44
|
- Writability: confirm the output root by writing and reading back before any sweep; an unwritable root fails without partial writes.
|
package/docs/demo.gif
ADDED
|
Binary file
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
"disposition": "instructions-and-qualified-status-only"
|
|
11
11
|
},
|
|
12
12
|
"CHANGELOG.md": {
|
|
13
|
-
"sha256": "
|
|
13
|
+
"sha256": "a459e172980dc7c72d410017d6ed5474902e39c72d19f48d26eb3f5f0359da79",
|
|
14
14
|
"disposition": "instructions-and-qualified-status-only",
|
|
15
|
-
"review": "Reviewed the added 0.1.1 framing note against the presentation copy changes; publication is a separate release action. Implementation-agent editorial review; independent review remains pending. Reviewed the copied-install checker ladder fix against the canonical instructions and regression test. Live host retrial remains pending release. Reviewed for the ROUND 1 audit: added Fixed/Added/Changed lines for the restored positive-and-accurate adapter, SKILL.md, designer.md, grok.md and validate.mjs fixes. Claude (builder, non-author fixer) editorial review; independent review remains pending."
|
|
15
|
+
"review": "0.1.2: the installer prompt block became a two-row choice table and one save-location sentence; reviewed by Claude against install-choice.txt and SKILL.md, same facts. Reviewed the added 0.1.1 framing note against the presentation copy changes; publication is a separate release action. Implementation-agent editorial review; independent review remains pending. Reviewed the copied-install checker ladder fix against the canonical instructions and regression test. Live host retrial remains pending release. Reviewed for the ROUND 1 audit: added Fixed/Added/Changed lines for the restored positive-and-accurate adapter, SKILL.md, designer.md, grok.md and validate.mjs fixes. Claude (builder, non-author fixer) editorial review; independent review remains pending. 0.1.3: reviewed the #13 description check and #14 Hermes path documentation entries against the implementation and regression tests; publication remains a separate maintainer action. Implementation-agent editorial review; independent review remains pending."
|
|
16
16
|
},
|
|
17
17
|
"CLAUDE.md": {
|
|
18
18
|
"sha256": "502ce6fb03a6032d4a03198288e10906d38c73124937950e34176d44a7f52440",
|
|
@@ -31,18 +31,19 @@
|
|
|
31
31
|
"disposition": "instructions-and-qualified-status-only"
|
|
32
32
|
},
|
|
33
33
|
"README.md": {
|
|
34
|
-
"sha256": "
|
|
34
|
+
"sha256": "472e92ac17d396170904caca2cc3b200cd84c2e7a329eaaf812d496598edaa7e",
|
|
35
35
|
"disposition": "instructions-and-qualified-status-only",
|
|
36
|
-
"review": "Reviewed the requested skill-pack framing and each learning-table sentence against its linked canonical instructions; preserved the twelve stages, starter, setup card and sibling links. Demo URL awaits the separately recorded artifact. Implementation-agent editorial review; independent review remains pending. Reviewed for the ROUND 1 audit: restored the positive, once-stated native-loading status fact for adapters, README and compatibility docs, without implying native loading is proven. Claude (builder, non-author fixer) editorial review; independent review remains pending."
|
|
36
|
+
"review": "0.1.2: the installer prompt block became a two-row choice table and one save-location sentence; reviewed by Claude against install-choice.txt and SKILL.md, same facts. Reviewed the requested skill-pack framing and each learning-table sentence against its linked canonical instructions; preserved the twelve stages, starter, setup card and sibling links. Demo URL awaits the separately recorded artifact. Implementation-agent editorial review; independent review remains pending. Reviewed for the ROUND 1 audit: restored the positive, once-stated native-loading status fact for adapters, README and compatibility docs, without implying native loading is proven. Claude (builder, non-author fixer) editorial review; independent review remains pending."
|
|
37
37
|
},
|
|
38
38
|
"RELEASING.md": {
|
|
39
|
-
"sha256": "
|
|
40
|
-
"disposition": "instructions-and-qualified-status-only"
|
|
39
|
+
"sha256": "7e89b30d20fef7570fc0485f80844c651a861a18956efd43e1555967f3e8dde4",
|
|
40
|
+
"disposition": "instructions-and-qualified-status-only",
|
|
41
|
+
"review": "0.1.3: reviewed the same-commit description update and explicit GitHub command against the task specification; no live repository setting was changed in this offline implementation pass. Implementation-agent editorial review; independent review remains pending. The command uses the exact repository URL to preserve the existing privacy allowance for public repository references."
|
|
41
42
|
},
|
|
42
43
|
"REPO_SETTINGS.md": {
|
|
43
|
-
"sha256": "
|
|
44
|
+
"sha256": "f0a405e61c2361c9b746a867279dc2ca28a983a14899d14b249286c486e989de",
|
|
44
45
|
"disposition": "instructions-and-qualified-status-only",
|
|
45
|
-
"review": "Topic list changed to match the skill-pack framing and package.json keywords (20 topics). Reviewed by Claude against the check TOPICS rule."
|
|
46
|
+
"review": "Topic list changed to match the skill-pack framing and package.json keywords (20 topics). Reviewed by Claude against the check TOPICS rule. 0.1.3: matched the Description text to package.json and added the requested 2026-09-23 read-back row from the maintainer task bundle; GitHub and npm were not independently queried in this offline implementation pass. Implementation-agent editorial review; independent review remains pending."
|
|
46
47
|
},
|
|
47
48
|
"SECURITY.md": {
|
|
48
49
|
"sha256": "9e0a9064cd020c23ae82f4c734ceab24bb9e4297073227a49ecc41414e33f8b7",
|
|
@@ -89,9 +90,9 @@
|
|
|
89
90
|
"review": "Reviewed setup instructions, tool fallback gates and compatibility links against the previous adapter; research status and safety requirements preserved. Implementation-agent editorial review; independent review remains pending. Reviewed for the ROUND 1 audit: restored the positive, once-stated native-loading status fact for adapters, README and compatibility docs, without implying native loading is proven. Claude (builder, non-author fixer) editorial review; independent review remains pending."
|
|
90
91
|
},
|
|
91
92
|
"adapters/hermes.md": {
|
|
92
|
-
"sha256": "
|
|
93
|
+
"sha256": "eeba94a78d84587d8a5fefea75692ff9ae4c2efaeb119a8672b22e18b5ad8724",
|
|
93
94
|
"disposition": "instructions-and-qualified-status-only",
|
|
94
|
-
"review": "Reviewed setup instructions, tool fallback gates and compatibility links against the previous adapter; research status and safety requirements preserved. Implementation-agent editorial review; independent review remains pending. Reviewed for the ROUND 1 audit: restored the positive, once-stated native-loading status fact for adapters, README and compatibility docs, without implying native loading is proven. Claude (builder, non-author fixer) editorial review; independent review remains pending."
|
|
95
|
+
"review": "Reviewed setup instructions, tool fallback gates and compatibility links against the previous adapter; research status and safety requirements preserved. Implementation-agent editorial review; independent review remains pending. Reviewed for the ROUND 1 audit: restored the positive, once-stated native-loading status fact for adapters, README and compatibility docs, without implying native loading is proven. Claude (builder, non-author fixer) editorial review; independent review remains pending. 0.1.3: reviewed team-aliases placement and the destination boundary against src/install.mjs plan/safePath and the extended installer regression; native loading status is unchanged. Implementation-agent editorial review; independent review remains pending."
|
|
95
96
|
},
|
|
96
97
|
"adapters/zero-install.md": {
|
|
97
98
|
"sha256": "7ac8fb37969ecbc321be6e74f6193d04d61ed4760ca7951975ab6d636d227699",
|
|
@@ -121,9 +122,9 @@
|
|
|
121
122
|
"review": "Reviewed the exact two-sibling allowlist against production privacy rules and rejection regressions. Implementation-agent editorial review; independent review remains pending."
|
|
122
123
|
},
|
|
123
124
|
"docs/INSTALLER.md": {
|
|
124
|
-
"sha256": "
|
|
125
|
+
"sha256": "85944c760b696080cb2ba8b6d381af13da3aeafa517965c7c7e28dd4625b10c6",
|
|
125
126
|
"disposition": "instructions-and-qualified-status-only",
|
|
126
|
-
"review": "Reviewed npm commands and loading instructions against the CLI contract and existing installer tests; flags and exit policy preserved. Implementation-agent editorial review; independent review remains pending."
|
|
127
|
+
"review": "Reviewed npm commands and loading instructions against the CLI contract and existing installer tests; flags and exit policy preserved. Implementation-agent editorial review; independent review remains pending. 0.1.3: reviewed the installed skill folder resolution root, exit 3 and Path escapes destination root message against src/install.mjs and the installer regression. Implementation-agent editorial review; independent review remains pending."
|
|
127
128
|
},
|
|
128
129
|
"docs/METHOD.md": {
|
|
129
130
|
"sha256": "c316397d190cb1b86e6167914106e6fd71db97b7d18e1af09e5f18b36e04b266",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "website-build-skill",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Skills that make your AI an expert website builder: current research, design, accessibility, performance, SEO, security and code, for any LLM or agent.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
package/src/cli.mjs
CHANGED
|
@@ -8,7 +8,7 @@ check-library <site-work-dir> (read-only receipt validation)
|
|
|
8
8
|
--solo | --team --target ${Object.keys(targets).join('|')}
|
|
9
9
|
--dir <path> --scope project|user --output-dir <path>
|
|
10
10
|
--yes --dry-run --receipt <path> --uninstall --help --version
|
|
11
|
-
--bundle-dir <path> (Hermes TEAM only)
|
|
11
|
+
--bundle-dir <path> (Hermes TEAM only; relative to the installed skill folder)
|
|
12
12
|
Headless installs require explicit mode, target and --dir.
|
|
13
13
|
Activation remains UNVERIFIED.`;
|
|
14
14
|
|
package/src/validate.mjs
CHANGED
|
@@ -270,7 +270,9 @@ export function check(root, options = {}) {
|
|
|
270
270
|
}
|
|
271
271
|
}
|
|
272
272
|
const question = read(root, `${CORE}/templates/install-choice.txt`).trimEnd();
|
|
273
|
-
|
|
273
|
+
// The agent shows this card to the user, so SKILL.md carries it verbatim. The README
|
|
274
|
+
// summarizes the same two choices as a table for human readers.
|
|
275
|
+
if (!read(root, `${CORE}/SKILL.md`).includes(question)) issues.push('CHOICE_DRIFT:verbatim question');
|
|
274
276
|
const prompts = read(root, 'docs/bundles/prompts.md');
|
|
275
277
|
if (prompts.includes(`BEGIN SOURCE: ${ARCHIVE}`) || prompts.includes(read(root, `${CORE}/${ARCHIVE}`).split('\n').slice(8).join('\n').trim())) issues.push('ARCHIVE_EXCLUSION:active prompt bundle');
|
|
276
278
|
});
|
|
@@ -349,6 +351,9 @@ export function check(root, options = {}) {
|
|
|
349
351
|
if (/they are ready/i.test(choice)) issues.push('CHOICE_HONESTY:no installer creates a running worker');
|
|
350
352
|
if (!p.bin && !/one-command install is planned/i.test(choice)) issues.push('CHOICE_HONESTY:manual-setup statement missing');
|
|
351
353
|
const settings = read(root, 'REPO_SETTINGS.md');
|
|
354
|
+
const description = settings.split(/^## Description\r?$/m)[1]?.split(/^## /m)[0]
|
|
355
|
+
.split(/\r?\n/).filter(line => line.trim() && !/^- \[[ x]\] /.test(line)).join('\n');
|
|
356
|
+
if (description !== p.description) issues.push('DESCRIPTION_DRIFT:REPO_SETTINGS.md');
|
|
352
357
|
const topics = settings.split('## Topics')[1].split('## Creation')[0].split('\n').filter(s => /^- [a-z0-9-]+$/.test(s)).map(s => s.slice(2));
|
|
353
358
|
if (JSON.stringify(topics) !== JSON.stringify(p.keywords) || topics.length > 20 || topics.some(t => !/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(t) || t.length >= 50)) issues.push('TOPICS:invalid or mismatched keywords');
|
|
354
359
|
if (p.description.length >= 350) issues.push('DESCRIPTION:too long');
|