# Mkprompt Redesign

> پرامپت‌ساز بازطراحی چندراندی که نمی‌گذارد راندها به رنگ و فاصله تنزل کند. Triggers: «پرامپت بازطراحی», «این طراحی رو بهتر کن», "redesign prompt", "iterate on this design". برای پرامپت معمولی از mkprompt-goal استفاده کن.

- Skill: `smk-labs/mkprompt-redesign` (Agent Skill)
- Install (CLI): `npx skillmds@latest add smk-labs/mkprompt-redesign`
- Raw SKILL.md: https://api.skillmd.com/api/skills/smk-labs/mkprompt-redesign/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: smk-labs (https://skillmd.com/u/smk-labs)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/smk-labs/mkprompt-redesign

---


# mkprompt-redesign: هر راند از صفحهٔ سفید شروع می‌شود

ورودی: یک طراحی موجود (ریپو، آدرس، اسکرین، ابزار خط فرمان). شکل لوپ خودگردان از `mkprompt-goal` می‌آید؛ تفاوت این است که اینجا «بهتر» باید تعریف داشته باشد، وگرنه راند دوم به بعد فقط پدینگ عوض می‌شود.

## اول هدف را ببین، بعد بنویس

پرامپتی که بدون دیدن هدف نوشته شود برای هر محصول دیگری هم صادق است، و همان پرامپت است که راندها را به رنگ و فاصله می‌کشاند. اول ریپو یا آدرس را باز کن، یک بار خودت کار را تا آخر انجام بده، بعد سه چیز را دربیاور:

1. **آدم و کارش.** چه کسی، چند بار در روز، زیر چه فشاری، و اگر خراب شود چه بر سرش می‌آید. کار را با کلمات خودِ او بنویس، نه با کلمات محصول.
2. **عددِ ران.** اگر طراحی در این کار بهتر شود چه چیزی کم می‌شود؟ تعداد قدم، تعداد صفحه تا انجام کار، تعداد تصمیمی که آدم باید بگیرد، تعداد چیزی که باید بین دو صفحه به خاطر بسپارد، ثانیه تا اولین کار مفید. شرط: کسی که از این طراحی خوشش نمی‌آید هم باید بتواند همان عدد را بشمارد.
3. **یک مظنون حذف.** یک صفحه، مرحله، فیلد یا قابلیت که همین حالا شک داری نباید باشد. بدون این، مجوز حذف روی کاغذ می‌ماند و استفاده نمی‌شود.

اگر ابهام تعیین‌کننده ماند (کدام فلو؟ کدام آدم؟) حداکثر یک پرسش batched؛ وگرنه با پیش‌فرض معقول بساز.

## آزمون آدم، نه آزمون سلیقه

هر راند در برابر یک آدم سنجیده می‌شود، نه در برابر ذوق ایجنت. یکی را که برای همین هدف واقعاً شدنی است انتخاب کن و در پرامپت اسم ببر:

- آدم واقعیِ همان کار، یا خود کاربر.
- دادهٔ واقعی رفتار: لاگ، تیکت پشتیبانی، آنالیتیکس، ضبط سشن. پرسیگنال‌ترینش هر چیزی است که آدم‌ها برای دور زدن طراحی ساخته‌اند: الیاس، اسکریپت دور کار، شیت اکسل کنار دست، یادداشت چسبیده به مانیتور. هر کدام یک راند است که طراحی نداده.
- اگر هدف تازه است و هیچ‌کدام از این‌ها را ندارد، سرِ هم نکن؛ برو سراغ گزینهٔ بعدی.
- **ساب‌ایجنت تازه**: دلیل طراحی را ندیده، فقط آدم و کار را می‌داند، روی همان چیز واقعی کار را انجام می‌دهد و می‌گوید کجا گیر کرد و کجا اشتباه حدس زد. پیش‌فرضِ همیشه در دسترس. شرطش این است که دفتر راند و استدلال ایجنت را نبیند، وگرنه با طراحی همدل می‌شود و آزمون می‌میرد.

هر سه یک چیز را می‌سنجند: کسی که نمی‌داند چرا این‌طور ساخته شده، کار را تا ته می‌برد یا نه.

## شکل راند

به همین ترتیب، و این ترتیب داخل پرامپت می‌رود نه در چت:

1. **صفحهٔ سفید، قبل از نگاه به چیزی که هست**: «اگر این وجود نداشت، برای این آدم و این کار چه می‌ساختیم؟» جواب نوشته می‌شود.
2. **تفاضل**: جواب صفحهٔ سفید منهای آنچه هست. فهرست کاندیدهای راند همین است، نه چیزی که در اسکرین‌شات زشت به نظر می‌رسد.
3. **یک تغییر ساختاری**: مرحله بردار، دو صفحه را ادغام کن، یک سطح را حذف کن، فلو را با یک پیش‌فرض جایگزین کن. بعد بساز.
4. **آزمون آدم** روی همان چیز واقعی.
5. **عدد**، قبل و بعد. راندی که عدد را تکان نداد دلیلش را می‌نویسد.

**گیت سخت: راندی که کل تغییرش رنگ، فاصله، فونت، سایه، گردی یا لحن متن باشد رد است و از روی کاندیدهای ساختاریِ ردشده دوباره اجرا می‌شود.** فرم بعد از تصمیم می‌آید و از توکن‌های خود پروژه؛ فقط اگر پروژه توکنی ندارد، `open-design-guide`. هیچ راندی مال فرم نیست.

فهرست فرم را از خود هدف دربیاور، نه از این متن. برای یک ابزار خط فرمان، فرم یعنی رنگ و اسپینر و ایموجی و جمله‌بندی خط موفقیت؛ طراحی یعنی چه چیزی را از آدم می‌پرسد و چه چیزی را خودش درمی‌آورد. کمین دوم هم همین‌جاست: یک دستهٔ باگ درست‌وحسابی وجود دارد که بازطراحی نیست (RTL آینه‌نشده، عدد و تاریخ غلط، دسترس‌پذیری شکسته). سر راه درستش کن، ولی هرگز به حساب تغییرِ راند نگذار، وگرنه ران پشت باگ‌فیکس قایم می‌شود.

## لوپ: ران بازطراحی از یک سشن بزرگ‌تر است

همان لوپ `mkprompt-goal` با دو تفاوت: فایل پیشرفت اینجا **دفتر راند** است، و شرط توقف «تمام شد» نیست، «ته کشید» است.

دفتر راند، یک خط برای هر راند: شماره، جواب صفحهٔ سفید، عدد قبل و بعد، چه چیزی حذف شد، آزمون آدم کجا گیر کرد. حافظهٔ ران همین است.

توقف: دو راند پشت‌سرهم که جواب صفحهٔ سفید همان چیزی باشد که ساخته شده، آزمون آدم جایی گیر نکند و عدد تکان نخورد. یک سقف راند هم بگذار. و یک چک آخر: اگر در کل دفتر راند هیچ چیزی حذف نشده، ران بازطراحی نکرده، فقط تزیین کرده.

## قالب

```
Redesign <هدف> for <آدم> doing <کار>, over as many rounds as it takes.

Every round, in this order. Before looking at what exists, answer "if this did not exist, what would we build for <آدم> trying to <کار>?" and write the answer down. Diff it against what is there; that diff is the round's candidate list. Take one structural change from it, build it, and prove it. You are free to delete a screen, merge two, drop a step, replace a flow with a default, or throw the whole thing away and rebuild it.

A round whose entire change is colour, spacing, type, shadow, radius or copy tone is a failed round: discard it and run the round again on the structural candidates you passed over. Form comes after the decision, from <منبع فرم>.

Test against a person, not your own taste: <آزمون، با اسم>. It never sees the round log or your reasoning.
The number for this run is <عدد>. Record it before and after every round; a round that does not move it writes down why.

Run this unattended, across as many sessions as it takes. Before any other work, create <دفتر راند> with one line per round: number, blank-page answer, number before and after, what was deleted, where the person test stalled. Then pace yourself: after each round, schedule your own next wake-up and keep going. Every shot: read <دفتر راند> and the git log to see where you are, run exactly one round, commit it, log it. Never re-plan from scratch and never ask what to do next. If you cannot schedule yourself where you are running, go to the end of this session instead; <دفتر راند> is what lets the next one resume.
Send reading, searching and log scanning to subagents that come back with a few lines, not file dumps, so your own context stays for the work. Keep the judgement yourself.

Verify as you go: <چطور روی چیز واقعی ثابت می‌شود>
Done when: two rounds in a row where the blank-page answer matches what is built, the person test stalls nowhere, and the number does not move. Hard cap <N> rounds. If the round log shows nothing was ever deleted, you decorated instead of redesigning: keep going. Then write what changed and why into <سند> and stop looping.
Don't stop until it's done.
```

## قبل از تحویل، یک تست

اسم محصول را در پرامپت بپوشان و بخوانش. اگر می‌شد همان را به یک محصول کاملاً دیگر داد و باز جور بود، هدف را ندیده‌ای: آدم و عدد و آزمون هنوز عمومی‌اند. برگرد و هر سه را از خودِ هدف دربیاور.

## تحویل: پیشنهاد تسک، نه فقط متن

پرامپت که آماده شد، دو کار بکن، به همین ترتیب:

1. **پیشنهاد تسک بساز** با `mcp__ccd_session__spawn_task`، تا کاربر با یک کلیک همان‌جا شروعش کند:
   - `cwd`: پوشهٔ همان کار (ریپوی هدف)، نه پوشهٔ سشن فعلی.
   - `prompt`: کل پرامپت، عیناً و کامل. باید خودایستا باشد؛ ایجنت این گفتگو را نمی‌بیند.
   - `title`: فعل امری، زیر ۶۰ کاراکتر.
   - `tldr`: یکی دو جمله زبان ساده، بدون مسیر فایل.
   - اگر کاربر خواست اصلاحش کنی، نسخهٔ تازه را spawn کن و چیپ قبلی را با `mcp__ccd_session__dismiss_task` بردار تا تسک تکراری نماند.
   - اگر این ابزار در دسترس نبود، فقط متن را بده و همان یک خط بگو که پیشنهاد تسک اینجا نیست.
2. **متن خام را هم در چت بده**، داخل یک بلوک کد و همزمان در کلیپ‌بورد (`clip` روی ویندوز، `pbcopy` روی مک)، برای وقتی که کاربر جای دیگری می‌چسباند.

## قواعد خروجی (مهم‌ترین بخش)

- کارت نزن: این متن ghost-written است و طبق قانون کارت خام می‌ماند تا قابل کپی باشد.
- بعد از بلوک فقط یک خط: «توی کلیپ‌بورد هم هست. پیشنهاد تسک هم بالا آماده است.» هیچ توضیح اجرایی، هیچ درس صفحهٔ سفید و آزمون آدم. جای همه‌شان داخل پرامپت است.
- زبان پرامپت: انگلیسی، مگر کاربر فارسی بخواهد. موجز و امری، بدون تعارف و مقدمه.
- طول متناسب با کار: هدف کوچک، پرامپت کوچک. هیچ بخش تشریفاتی اضافه نشود.

