Skip to content
Development
Skill

/pastiche-write-wisdom

Use when adding or revising an atom-intrinsic rule in WISDOM.md — including when triaging a `wisdom-gap` follow-up from the pastiche skill.

From plugin
pastiche
412 skills3 agents

Claude Code

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

SKILL.md

pastiche-write-wisdom.SKILL.md
name: pastiche-write-wisdom
description: Use when adding or revising an atom-intrinsic rule in WISDOM.md — including when triaging a `wisdom-gap` follow-up from the pastiche skill.

Pastiche — write WISDOM

Inserts one atom-intrinsic rule into `pastiche/WISDOM.md` per invocation. See WISDOM.md's header for the bullet format. Tags are **FACT entries verbatim**; never derived utility forms. `[GENERAL]` is the lone non-FACT tag, reserved for system-wide rules.

Workflow

1. **Get the rule.** If a proposed rule is already on the table from the surrounding conversation (e.g., a `wisdom-gap` follow-up), use it. Otherwise ask the user for the rule. Read `pastiche/FACT.md` in full.

2. **Atom-intrinsic test.** Can the rule be stated as a property of the atom that holds *everywhere* the atom appears? If it contains a scenario qualifier ("in payment flows", "for destructive actions", "when used as a primary CTA"), it is scenario-conditional and belongs in KNOWLEDGE. Stop and report:

> This rule is scenario-conditional (qualifier: `<phrase>`). It belongs in KNOWLEDGE as a scenario→atom mapping. Re-invoke `/pastiche-write-knowledge` with this rule.

Counter-example that fails the test (this is KNOWLEDGE, not WISDOM):

  • *"Destructive actions must use ConfirmDialog rather than a generic Modal."* — qualifier: "destructive actions".

3. **Pick tags.**

  • If the user proposed `[GENERAL]` upfront, skip to step 4.
  • Otherwise lock the primary atom tag. If the user gave a tag, verify it appears in FACT verbatim. If not, retry case-insensitively / for near-matches and surface the closest match for confirmation. If still no match, stop and report:

> Tag `<X>` is not in FACT.md. Either it's misspelled, FACT is stale (run `/pastiche-sync`), or the atom doesn't exist — in which case reconsider as KNOWLEDGE (scenario-conditional) or `[GENERAL]` (system-wide).

  • If the user did not give a tag, suggest candidate atoms from FACT that the rule plausibly tags. User picks the primary tag.
  • **Multi-tag.** Scan FACT and propose additional atoms the rule applies to identically. User picks any (zero or more). Verify each picked tag against FACT spelling as above.
  • **5+ tags → re-route.** Prompt: *"This applies to many atoms — consider `[GENERAL]` instead?"* If yes, go to step 4.

4. **`[GENERAL]` gate** (only when `[GENERAL]` is proposed). Apply both tests; halt on either failure:

  • **Tag-fit:** Can the rule be tagged to a specific atom or finite set of atoms from FACT? If yes, halt and redirect to step 3 with that tagging.
  • **System-wide:** Does the rule hold for *all* UI in the project regardless of which atoms are used? If no, halt and ask whether it is scenario-conditional (→ `/pastiche-write-knowledge`) or atom-specific after all (→ step 3).

Only proceed when both tests pass and the user explicitly confirms `[GENERAL]`.

5. **Show existing neighbors.** For each chosen tag, `grep -nE '\[([^]]*,)?<Tag>(,[^]]*)?\]' pastiche/WISDOM.md | grep -vE '^[0-9]+:[[:space:]]*<!--'` (escape any regex meta-characters in `<Tag>`). Show the matching entries to the user so they can self-detect duplication or refinement opportunities before drafting.

6. **Draft and confirm.** Compose the bullet in canonical form: `- [Atom1,Atom2] rule text.` Show the exact line and ask: `yes / edit text`. Loop on edits until confirmed.

7. **Insert.** For each tag in the new entry, `grep -nE '\[([^]]*,)?<Tag>(,[^]]*)?\]' pastiche/WISDOM.md | grep -vE '^[0-9]+:[[:space:]]*<!--'` (escape regex meta-characters in `<Tag>` as in step 5). Insert the bullet immediately after the last matching line across all the entry's tags. If no tag has any existing match, append to end of file.

8. **Lint.** Shell: `pastiche-lint` (on PATH via plugin `bin/` — do not search), cwd = repo root. Forward stdout; on non-zero exit, also forward stderr. Don't revert; don't abort. Then close with:

  • exit 0: *"Inserted at WISDOM.md:`<line>`. Lint passed. Re-invoke for additional rules."*
  • exit non-zero: *"Inserted at WISDOM.md:`<line>`. Lint output above — review and remediate. Re-invoke for additional rules."*
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.

skills13d309k
@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…

react4d252k
@facebook@facebookInstall Skill

Questions about pastiche-write-wisdom.

Which coding agents can use pastiche-write-wisdom?
pastiche-write-wisdom 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.