website-build-skill 0.1.2 → 0.1.4

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.
Files changed (38) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/CHANGELOG.md +16 -0
  3. package/README.md +3 -2
  4. package/RELEASING.md +2 -0
  5. package/REPO_SETTINGS.md +2 -2
  6. package/adapters/grok.md +1 -1
  7. package/adapters/hermes.md +2 -1
  8. package/adapters/team.yaml +1 -1
  9. package/docs/INSTALLER.md +1 -1
  10. package/docs/METHOD.md +1 -1
  11. package/docs/bundles/checklists.md +47 -3
  12. package/docs/bundles/method.md +11 -7
  13. package/docs/bundles/playbooks.md +6 -3
  14. package/docs/bundles/prompts.md +128 -6
  15. package/docs/bundles/team.md +49 -30
  16. package/docs/evidence/content-review.json +128 -16
  17. package/llms.txt +2 -0
  18. package/package.json +1 -1
  19. package/skills/website-build-skill/SKILL.md +2 -2
  20. package/skills/website-build-skill/checklists/build.md +1 -0
  21. package/skills/website-build-skill/checklists/code-quality.md +35 -0
  22. package/skills/website-build-skill/checklists/research.md +2 -2
  23. package/skills/website-build-skill/checklists/ship.md +1 -1
  24. package/skills/website-build-skill/examples/fictional-studio-handoff.md +2 -1
  25. package/skills/website-build-skill/manifest.json +76 -21
  26. package/skills/website-build-skill/playbooks/research-and-memory.md +6 -3
  27. package/skills/website-build-skill/prompts/00-start.md +4 -0
  28. package/skills/website-build-skill/prompts/01-website-deep-research.md +20 -4
  29. package/skills/website-build-skill/prompts/05-stack-and-build.md +8 -0
  30. package/skills/website-build-skill/prompts/12-web-design-team.md +5 -2
  31. package/skills/website-build-skill/prompts/13-coding-research.md +83 -0
  32. package/skills/website-build-skill/roles/builder.md +15 -9
  33. package/skills/website-build-skill/roles/coordinator.md +3 -2
  34. package/skills/website-build-skill/roles/researcher.md +9 -8
  35. package/skills/website-build-skill/roles/reviewer.md +9 -4
  36. package/skills/website-build-skill/templates/evidence.md +1 -1
  37. package/src/cli.mjs +1 -1
  38. package/src/validate.mjs +3 -0
@@ -97,12 +97,12 @@ Use Markdown for research outputs; record actual access dates and source dates
97
97
  separately. Unknown publication dates stay unknown, never invented.
98
98
 
99
99
  Use [the research prompt](../prompts/01-website-deep-research.md) as the single
100
- source for the thirteen-domain questions, output filenames and applicability rules.
100
+ source for the fourteen-domain questions, output filenames and applicability rules.
101
101
  Read it before starting; survey each domain and preserve explicit exclusions with reasons.
102
102
  Expand relevant questions for the actual brief rather than treating the list as a ceiling.
103
103
 
104
104
  Use [the canonical freshness rule](../playbooks/research-and-memory.md#ask-date-rule)
105
- for the thirteen-domain table, date arithmetic, current-version triggers, same-day checks
105
+ for the fourteen-domain table, date arithmetic, current-version triggers, same-day checks
106
106
  and prior-library pass. Copy that table into the project's staleness.md, with claim-level
107
107
  revalidation and the earliest-expiring domain. Never maintain a separate policy table here.
108
108
 
@@ -128,20 +128,21 @@ resolve the canonical record; never silently erase an earlier disagreement.
128
128
 
129
129
  ## YOUR OUTPUTS
130
130
 
131
- Write seven grouped Markdown files: 01-codebases-and-stacks.md,
131
+ Write eight grouped Markdown files: 01-codebases-and-stacks.md,
132
132
  02-design-and-experience.md, 03-graphics-and-rights.md,
133
133
  04-accessibility-and-performance.md, 05-search-and-answers.md,
134
- 06-security-and-delivery.md, and 07-measurement-and-operations.md under your library.
134
+ 06-security-and-delivery.md, 07-measurement-and-operations.md, and
135
+ 08-languages-and-code.md under your library.
135
136
  Write README.md with headline findings and each role's reading order; scope.md and
136
- coverage.md mapping all thirteen domains to files, checklists, applicability, and
137
+ coverage.md mapping all fourteen domains to files, checklists, applicability, and
137
138
  blockers; sources.md with stable claim IDs, URLs, source/access dates, and scope;
138
139
  disagreements.md, query-plan.md, and unresolved-claims.md with next verification steps.
139
- Write all thirteen checklists named in the domains, using criterion, method,
140
+ Write all fourteen checklists named in the domains, using criterion, method,
140
141
  expected evidence, source IDs, owner, status, and exclusion reason per check.
141
142
  Write website-qa-checklist.md and how-to-read-a-brand-kit.md so research is executable.
142
143
  Write surprises.md as a short sourced summary for the user, and learning.md as your
143
144
  record of learned rules. Every research output is Markdown with the dated opener.
144
- Write staleness.md with the canonical playbook's thirteen-domain table, claim/domain, ASK DATE,
145
+ Write staleness.md with the canonical playbook's fourteen-domain table, claim/domain, ASK DATE,
145
146
  window, original access, last revalidation, next-check date, trigger, reason, owner,
146
147
  affected receipts, and the earliest-expiring domain and its ASK DATE-relative due date. Recheck volatile pricing,
147
148
  rights, APIs, host rules, and crawler/search claims on the day they will be used.
@@ -172,7 +173,7 @@ your self-check must cover the same evidence without claiming independent review
172
173
  backed by actual current source access. Do not restamp unrevalidated content.
173
174
  - No search means BLOCKED with query-plan.md and unresolved-claims.md, including
174
175
  for an existing library. Never ask the user for the date to clear a failed rung.
175
- All thirteen domains have an explicit disposition; a blank section is not coverage.
176
+ All fourteen domains have an explicit disposition; a blank section is not coverage.
176
177
  Every relied-on disagreement is resolved by evidence or blocks the dependent choice.
177
178
  UNVERIFIED claims remain visible but cannot authorize work. Missing sources, dates,
178
179
  coverage, expired relied-on facts, or unsaved files mean BLOCKED, not qualified PASS.
@@ -32,12 +32,14 @@ disagreements.md, unresolved-claims.md, and staleness.md in that same directory.
32
32
  Verify the research gate and current revision before doing your job. Then read
33
33
  site-work/research/library/01-codebases-and-stacks.md,
34
34
  04-accessibility-and-performance.md, 05-search-and-answers.md,
35
- 06-security-and-delivery.md, and 03-graphics-and-rights.md for rights checks.
35
+ 06-security-and-delivery.md, 08-languages-and-code.md, and
36
+ 03-graphics-and-rights.md for rights checks. Read site-work/coding-standards.md.
36
37
  Read all applicable library checklists, especially 06-accessibility.md,
37
- 10-security.md and 13-legal.md. Read prompts/10-adversarial-pre-ship.md,
38
+ 10-security.md, 13-legal.md, and 14-code.md. Read prompts/10-adversarial-pre-ship.md,
38
39
  playbooks/data-and-templates.md, playbooks/security-headers.md,
39
- playbooks/accessibility.md, checklists/build.md, checklists/accessibility.md,
40
- checklists/security.md, checklists/ship.md, and templates/audit-brief.md.
40
+ playbooks/accessibility.md, checklists/build.md, checklists/code-quality.md,
41
+ checklists/accessibility.md, checklists/security.md, checklists/ship.md,
42
+ and templates/audit-brief.md.
41
43
  Return your learning receipt with opened files, assumptions challenged, and checks.
42
44
 
43
45
  ## WHAT YOU MUST RESEARCH
@@ -108,6 +110,9 @@ Old dates may appear only as explicit history alongside current validated access
108
110
  Treat a confident undated claim as a finding, not a detail. Verify source dates,
109
111
  ladder provenance, due domains and later-day rechecks; return violations read-only.
110
112
  Check actual different-family evidence and the precise artifact reviewed. Challenge
113
+ the code against checklists/code-quality.md and site-work/coding-standards.md,
114
+ including pinned versions, deprecated APIs, support, commands, dependencies, secure
115
+ coding, organization, and Builder's code-review evidence. Challenge
111
116
  input/URL/script escaping, empty IDs, shared state, auth and secrets where applicable,
112
117
  headers, rendered discovery, accessibility journeys, and assumptions in the brief.
113
118
  Return enough evidence for Builder to reproduce each asserted defect; otherwise
@@ -16,7 +16,7 @@ Record the scope link, library revision, engagement identifier, producer role an
16
16
  | Field | Required value and evidence |
17
17
  | --- | --- |
18
18
  | claim_id | Stable identifier referenced by decisions, checks and findings. |
19
- | domain | One of the thirteen research domains, with additional scoped concerns as needed. |
19
+ | domain | One of the fourteen research domains, with additional scoped concerns as needed. |
20
20
  | statement | Exact bounded claim, including relevant version, tier, consumer or use. |
21
21
  | kind | Evidence, inference, proposed default, measurement, or UNVERIFIED. |
22
22
  | source_url | Opened authoritative URL; a search snippet does not satisfy this field. |
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
@@ -351,6 +351,9 @@ export function check(root, options = {}) {
351
351
  if (/they are ready/i.test(choice)) issues.push('CHOICE_HONESTY:no installer creates a running worker');
352
352
  if (!p.bin && !/one-command install is planned/i.test(choice)) issues.push('CHOICE_HONESTY:manual-setup statement missing');
353
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');
354
357
  const topics = settings.split('## Topics')[1].split('## Creation')[0].split('\n').filter(s => /^- [a-z0-9-]+$/.test(s)).map(s => s.slice(2));
355
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');
356
359
  if (p.description.length >= 350) issues.push('DESCRIPTION:too long');