Skill 详情

website-build

Generates and assembles deployable static websites from a plan.

匹配类型直接匹配已针对 搭建网站 审核
来源cogni-work/insight-wave外部来源
报告安装量2仅表示受欢迎程度

使用前先检查

自动化审核只检查相关性,不代表安全审查或推荐。使用前请阅读来源中的说明。

已保存的来源预览

SKILL.md

这段内容是审核时保存的快照。外部来源才是完整且最新的版本。

---
name: website-build
description: |
  This skill builds the static website by orchestrating CSS generation, parallel page
  generation, hero rendering, and site assembly. It produces a deployable output/website/
  folder from the website-plan.json blueprint. This skill should be used when the user
  mentions "build the website", "generate website", "website build", "Website erstellen",
  "Website generieren", "Seiten erzeugen", "HTML erzeugen", "render the website",
  "assemble the site", "create all pages", or wants to execute the website plan — even
  if they don't say "build" explicitly. Requires website-plan.json.
allowed-tools: Read, Write, Edit, Glob, Grep, Bash, Agent, Skill
---

# Website Build

Orchestrate the full website generation pipeline: shared CSS, homepage hero, parallel page generation, and site assembly.

## Prerequisites

Both `website-project.json` and `website-plan.json` must exist (from setup and plan skills). If missing, redirect to the appropriate skill.

## Workflow

### 1. Load Configuration

Read `website-project.json` and `website-plan.json`. Extract:
- Theme path and design variables path
- All page specs from the plan
- Navigation structure
- Build options (hero_renderer, language)
- Company details

### 1.4. Legal Compliance Gate

Before validating sources, check the legal-pages state:

1. Read `legal_config.jurisdiction` from `website-project.json`.
2. If `jurisdiction` is `null`: warn the user — "Keine Rechtsordnung konfiguriert. Die Website hat kein Impressum, keine Datenschutzerklärung und keinen Cookie-Hinweis. Vor Veröffentlichung in DE/AT/CH/EU rechtliche Pflicht. Bitte /website-legal ausführen oder explizit bestätigen, dass diese Seiten extern bereitgestellt werden." Do not abort — let the user proceed if they confirm.
3. If `jurisdiction` is set, scan `website-plan.json` for `legal-*` page entries (ids starting with `legal-`).
4. If none are present, **stop** and tell the user: "Rechtsordnung ist auf {jurisdiction} gesetzt, aber es sind keine rechtlichen Seiten im Plan. Bitte /website-legal ausführen, dann erneut /website-build." Offer to invoke `website-legal` immediately via the `Skill` tool.
5. If legal pages exist, scan their rendered markdown sources (`content/legal/*.md`) for unfilled `«TODO: ...»` markers and warn the user about each one before continuing — these will appear as visible markers in the published HTML.
6. Check `legal_config.cookie_categories.uses_analytics` and `legal_config.cookie_categories.uses_marketing_cookies`. If either is `true`, warn loudly: "Die Website verwendet Analyse- oder Marketing-Cookies. Der statische Cookie-Hinweis erfüllt **nicht** die Anforderungen von DSGVO/TTDSG/ePrivacy — er ist nur für Seiten mit ausschließlich technisch notwendigen Cookies korrekt. Vor der Veröffentlichung muss `output/website/.partials/cookie-notice.html` durch ein echtes Consent-Management-Tool ersetzt werden." Do not abort — let the user proceed if they confirm.

### 1.5. Validate Source Files

Before generating anything, verify that the source files referenced in the plan still exist. Content may have changed since planning — a deleted product or moved narrative would cause a page-generator agent to fail.

For each page in `website-plan.json`:
- Check all paths in `source_files` exist
- Check all glob patterns in `source_entities` resolve to at least one file
- Track pages with missing sources

**If sources are missing**: present a summary of affected pages and missing files. Ask whether to proceed (skipping those pages) or abort. Do not silently launch agents with broken source references.

**If all sources exist**: proceed without interruption.

### 2. Prepare Output Directory

```bash
mkdir -p output/website/{css,pages,images,.partials}
```

Ensure the directory structure matches the plan's slug paths. Create subdirectories for nested pages (e.g., `pages/produkte/`, `pages/blog/`).

### 3. Generate Design Variables

If `output/design-variables.json` does not exis
在 GitHub 阅读完整来源 (打开外部页面)
相关上下文

相关工作