Skip to content
Development
Skill

/pastiche-sync

Use when refreshing `pastiche/FACT.md` after a design-system upgrade, refactor, or token change — re-runs the extractor and surfaces drift via lint. FACT-only; never touches KNOWLEDGE/WISDOM/config and never walks the user through remediation.

From plugin
pastiche
412 skills3 agents

Claude Code

$ npx -y skills add retz8/pastiche --skill pastiche-sync --agent claude-code

SKILL.md

pastiche-sync.SKILL.md
name: pastiche-sync
description: Use when refreshing `pastiche/FACT.md` after a design-system upgrade, refactor, or token change — re-runs the extractor and surfaces drift via lint. FACT-only; never touches KNOWLEDGE/WISDOM/config and never walks the user through remediation.

Pastiche — sync

Refresh FACT after the user's DS changes. Extractor regenerates `pastiche/FACT.md`; lint surfaces orphaned tags in KNOWLEDGE/WISDOM. The user remediates manually.

Preflight

1. Resolve repo root: `git rev-parse --show-toplevel`; on failure, fall back silently to cwd. Print: *"Syncing `<repo-root>/pastiche/FACT.md`."* 2. If `<repo-root>/pastiche/config.yaml` does not exist, stop: > `<repo-root>/pastiche/config.yaml` not found. Run `/pastiche-init` first.

Extract FACT

Shell: `extract-fact` (cwd = `<repo-root>`). It is on PATH via the plugin's `bin/` — do not search for it. Block on completion.

On non-zero exit, print stderr verbatim and stop. Do not run lint — FACT may be stale or unwritten. The extractor's own message (config parse error, missing input file, etc.) is the actionable surface.

On success, the extractor prints `"Wrote pastiche/FACT.md: <N> components, <M> tokens."` to stdout. Forward it as-is.

Lint self-check

Shell: `pastiche-lint` (cwd = `<repo-root>`). It is on PATH via the plugin's `bin/` — do not search for it. Block on completion.

Forward stdout (summary) verbatim. If exit is non-zero, also forward stderr (violations) verbatim. No reformatting.

Classify the outcome by exit code + stdout shape:

  • **Clean** — exit 0.
  • **Drift** — non-zero exit, stdout summary present.
  • **Crash** — non-zero exit, no stdout summary. The lint script itself broke; this is not user-visible drift.

Sync itself never exits non-zero on lint output. Carry the classification into Close.

Close

Print exactly one of:

**Clean:** > Pastiche synced. FACT.md regenerated; no drift detected. > > Run `git diff pastiche/FACT.md` to inspect changes.

**Drift:** > Pastiche synced — FACT.md regenerated, lint surfaced drift (see violations above). > > Remediate by editing `pastiche/WISDOM.md` / `pastiche/KNOWLEDGE.md` directly, or use `/pastiche-write-wisdom` / `/pastiche-write-knowledge` to add or replace rules. Run `git diff pastiche/FACT.md` to inspect the FACT changes that triggered the drift.

**Crash:** > Pastiche synced. FACT.md was regenerated successfully, but the lint script crashed unexpectedly (output above). Report this to the pastiche maintainers. > > Run `git diff pastiche/FACT.md` to inspect changes.

Do not invoke another skill. Do not suggest `/pastiche-setup` — it is curation, not remediation.

Read more
@retz8
Ships withpastiche

Pastiche is a Claude Code plugin for Frontend UI implementation. Given a frontend task, it produces code that follows your established design system and component library — not by inventing, but by faithfully executing within the vocabulary your team already

412 skills3 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
4
Star history of retz8/pastiche on GitHub, a chart by star-history.com

Other skills on pastiche.

divide-task

divide-task

Divide a specced pastiche task into sub-task GitHub issues with autonomy and dependency labels, mirror them into `_dev/TODO.md`,…

@retz8@retz8Install Skill
grill-to-spec

grill-to-spec

Convert a completed grill-me session into a spec file. Captures only the task and the decisions locked during grilling — no…

@retz8@retz8Install Skill
pick-up-task

pick-up-task

Pick up or resume a task from `_dev/TODO.md` — marks `[WIP]`, creates or switches to the task's feature branch, rebases with…

@retz8@retz8Install Skill
rebase-feat-with-main

rebase-feat-with-main

Rebase the current pastiche feature branch onto main to absorb hotfixes. Use when the user invokes `/rebase-feat-with-main`, when…

@retz8@retz8Install Skill
release-pastiche

release-pastiche

Ship a pastiche release — version bump, plugin build, CHANGELOG entry, release commit, tag, GitHub Release, milestone close. Use…

@retz8@retz8Install Skill
pastiche-init

pastiche-init

Use when bootstrapping pastiche in a frontend repo for the first time — scaffolds `pastiche/{config.yaml, FACT.md, KNOWLEDGE.md,…

@retz8@retz8Install Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about pastiche-sync.

Which coding agents can use pastiche-sync?
pastiche-sync installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.