Skill detail

update-website

Synchronizes content for an existing website rather than building one.

MatchPossibleReviewed for building websites
Sourceterryc21/xcode-workflow-skillsExternal source
Reported installs5Popularity signal only

Inspect before use

Automated review checks relevance, not safety or endorsement. Read the source instructions before using this skill.

Saved source preview

SKILL.md

The saved excerpt is a snapshot from review. The external source remains the complete and most current version.

---
name: update-website
description: 'Sync website content with app codebase - features, changelog, FAQ, docs. Triggers: "update website", "sync website", "website sync".'
version: 3.0.0
author: Terry Nyberg
license: MIT
allowed-tools: [Read, Write, Edit, Grep, Glob, Bash, AskUserQuestion]
metadata:
  tier: execution
  category: release
---

# Website Sync Skill

> Sync Stuffolio website (static HTML + JSON content files) with the app codebase.

**YOU MUST EXECUTE THIS WORKFLOW. Do not just describe it.**

---

## Quick Reference

| Command | What It Does |
|---------|--------------|
| `/update-website` | Run sync with saved settings |
| `/update-website --status` | Show current state without syncing |
| `/update-website --dry-run` | Preview changes without writing |
| `/update-website --audit` | Check marker coverage |
| `/update-website --gaps` | Find missing content |
| `/update-website --setup` | Re-run configuration wizard |
| `/update-website --regenerate-features` | Regenerate features.json from codebase |
| `/update-website --regenerate-faq` | Regenerate faq.json from website/codebase |
| `/update-website --regenerate-changelog` | Regenerate changelog.json from whats-new.html |
| `/update-website --check-drift` | Detailed drift report for content files |
| `/update-website --auto-regenerate` | Regenerate stale JSON files, then sync |

### Workflow Phases

```
┌───────────────────────────────────────────────────┐
│  PHASE A: SETUP (First Run Only)                  │
│  Steps 1-2: Paths, config creation                │
├───────────────────────────────────────────────────┤
│  PHASE B: CONFIGURE                               │
│  Steps 3-6: Content, change source, strategy      │
├───────────────────────────────────────────────────┤
│  PHASE C: EXECUTE                                 │
│  Steps 7-10: Scope, sync, validate, summary       │
├───────────────────────────────────────────────────┤
│  PHASE D: ANALYZE (On Demand)                     │
│  Steps 11-13: Completeness, gaps, marker audit    │
└───────────────────────────────────────────────────┘
```

---

## Permissions

```
AskUserQuestion with questions:
[
  {
    "question": "How should Claude handle bash commands, file edits, and writes during this skill run?",
    "header": "Permissions",
    "options": [
      {"label": "Autonomous (Recommended)", "description": "Proceed without per-action approval prompts — destructive actions still require approval"},
      {"label": "Supervised", "description": "Ask for approval before each bash command, file edit, or write"}
    ],
    "multiSelect": false
  }
]
```

If **Autonomous**: proceed through all steps without per-action approval prompts. Destructive actions (file deletion, git reset, dropping data) still require explicit user approval.
If **Supervised**: request approval before each bash command, file edit, or write.

---

## Pre-flight: Git Safety Check

Check BOTH repositories for uncommitted changes:

```bash
# App repo
cd "[appPath]" && git status --short

# Website repo
cd "[websitePath]" && git status --short
```

If either repo has uncommitted changes:

```
AskUserQuestion with questions:
[
  {
    "question": "[Repo name] has uncommitted changes. Commit before proceeding?",
    "header": "Git",
    "options": [
      {"label": "Commit first (Recommended)", "description": "Save current work so you can revert if this skill modifies files"},
      {"label": "Continue without committing", "description": "Proceed — I accept the risk"}
    ],
    "multiSelect": false
  }
]
```

If "Commit first": Ask for a commit message, stage changed files, and commit. Then proceed.

---

## Quick Mode (Repeat Runs)

When config exists at `.claude/website-sync-config.json`, show main menu:

```
AskUserQuestion with questions:
[
  {
    "question": "Website sync ready. What would you like to do?",
    "header": "Action",
    "options": [
      {"label": "Sync all (Recommended)", "description": "Update all markers with current 
Read the full source on GitHub (opens external page)
Context

Related work