Pastiche
drawing UI consistently with agents, at the top of Design System + Component Library
npx -y skills add retz8/pastiche --skill pasticheAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when implementing a frontend task — produces code that faithfully follows the project's design system and component library.
SKILL.md
2.9 KB, as published. Nobody here has run it
Pastiche
Orchestrates pastiche-implementer-round1, pastiche-reviewer, and pastiche-implementer-round2 in a bounded loop, then emits a single task report.
Preflight
Run ls pastiche/FACT.md pastiche/KNOWLEDGE.md pastiche/WISDOM.md. If any are missing, stop and report:
This project does not appear to have pastiche set up — expected
pastiche/{FACT,KNOWLEDGE,WISDOM}.md. Run/pastiche-initto scaffold them.
Workflow
- Dispatch
pastiche-implementer-round1with{task}→ capture{r1_report}. - Dispatch
pastiche-reviewerwith{task, r1_report}→ capture{doubts}. The reply is either one or more lines of<path>#<line> | <comment>, or the literal(no doubts). If any line fails to match the record shape and the output isn't(no doubts), stop and report:Reviewer returned malformed output; expected
<path>#<line> | <comment>records or the literal(no doubts). - If
{doubts}is(no doubts), go to 6 (no{r2_report}). - Dispatch
pastiche-implementer-round2with{task, r1_report, doubts}→ capture{r2_report}. - Failsafe. For each record in
{r2_report}'sunresolved:block (skip ifunresolved: -): Read the file, then Edit to insert a comment in the file's native comment syntax above the targeted<line>(matching surrounding indentation). Comment text:pastiche-unresolved-doubt: <comment from the unresolved: record>. - Build check. Read
build_commandfrompastiche/config.yaml. If null or absent, skip. Otherwise run it. For each error, patch using the build output as source of truth. Bounded to 3 patch attempts per error. If an error persists after 3 attempts, leave it and note it in Follow-ups. - Runtime review. Scan the changed files for common sources of runtime and console errors. Patch any issues found. Bounded to one pass.
- Emit the final response.
Final response
## Summary
- **Files changed:** <paths> (omit if none)
- **Implementation:** <2–3 sentences describing the end result>
## Follow-ups
- <location> — <one-line description>
- ... (omit section if no follow-ups)
Files changed is the union of files: entries from {r1_report} and {r2_report}; omit the line if both are -.
Follow-up sources (each follow-up bullet must be self-describing; readers shouldn't need to know about rounds, dispositions, or the loop):
- Each scenario in
{r1_report}'sgaps:line →KNOWLEDGE.md — <scenario>. - Each
(knowledge-gap)-tagged record in{r2_report}'sdefended:block →KNOWLEDGE.md — <reason>. - Each
(wisdom-gap)-tagged record in{r2_report}'sdefended:block →WISDOM.md — <reason>. - Each record in
{r2_report}'sunresolved:block →<path>#<line> — <comment>. - Each failsafe comment written in step 5 →
<path>:<line> — <comment>.