بازگشت به کتابخانهکتابخانه2.2ساخت PRD با Skill اختصاصی
تکنیک Ralph WiggumTHE RALPH WIGGUM TECHNIQUEاجرای ایجنت کدنویس در حلقه — از یک اسکریپت Bash تا ارکستراسیون کامل
v1.0.0
LESSON 2.2فصل ۲PRD — نقشه پرواز ایجنت

ساخت PRD با Skill اختصاصی

  • ~۱۲ دقیقه
  • ۵ پرسش
  • متن را انتخاب کن تا هایلایت شود

نوشتن PRD خوب زمان می‌برد — و زیبایی کار اینجاست که خود Claude می‌تواند در نوشتنش کمک کند. کافی است یک Skill بسازیم که به مدل یاد بدهد ما PRDهایمان را «چطور» دوست داریم. بعد فقط می‌گوییم «I need a PRD» و مدل با فرمت ما، سؤال‌های شفاف‌کننده می‌پرسد و سند را تحویل می‌دهد.

آناتومی PRD Skill

فایل Skill در `‎.claude/skills/prd/SKILL.md` زندگی می‌کند:

---
name: prd
description: Create a product requirement document for handoff to an AI agent.
---

## Behavior
1. Gather requirements — ask clarifying questions until the scope is clear.
2. Research the codebase — explore the relevant parts first.
3. Create a new folder in prd/to-refine/ and write the PRD there.

## PRD directories
- prd/to-refine/   → model output lands here
- prd/backlog/     → human-approved, ready for Ralph
- prd/completed/   → archive for reference

## Guidelines
- Vague requirements lead to misaligned implementations.
- Include context: explain WHY, not just what.
- Reference existing code. Consider edge cases.
- Define success criteria. Keep the scope bounded.
- Use project conventions.
Skill
یک فایل Markdown با Frontmatter که رفتار و فرمت دلخواه تو را به مدل یاد می‌دهد. با اشاره به نامش در پرامپت، بارگذاری می‌شود.
Clarifying Questions
چون Skill می‌گوید «سؤال بپرس تا Scope شفاف شود»، رفتار مدل عملاً شبیه Plan Mode می‌شود — ولی ساخت‌یافته‌تر.

چرخه سه‌پوشه‌ای

الگوی کلیدی این Skill، چرخه Refine است: مدل خروجی‌اش را در `prd/to-refine` می‌گذارد؛ تو به‌عنوان انسان بازبینی می‌کنی و اگر خوب بود به `prd/backlog` می‌کشی؛ اسکریپت `ralph.js` هم (با یک تغییر کوچک) محتویات Backlog را لیست می‌کند و می‌گذارد PRD موردنظر را تعاملی انتخاب کنی — و اگر فقط یکی باشد، مستقیم شروع می‌کند.

DIAGRAMچرخه زندگی یک PRD
Skill + گفتگو
prd/to-refine
بازبینی انسانی
prd/backlog
حلقه Ralph
prd/completed

نمونه واقعی: وب‌شاپ اغذیه‌فروشی

پرامپت واقعی این بود:

I need a PRD. Clean up the Vue project and create a small web shop
for a snack bar. Let me add items to the cart (burgers, fries, pizza).
No checkout flow — homepage and cart functionality is enough.

مدل چند تصمیم برگشت داد که باید تأیید یا رد می‌کردیم — و اینجا تجربه مهندسی تو وارد بازی می‌شود:

  • State Management: مدل گفت Pinia یا Vuex «برای این Scope زیادی پیچیده است» و یک `useCart` Composable پیشنهاد داد — قابل قبول.
  • مدل برای آیتم‌های منو فیلد Emoji گذاشت. سوگیری معروف AI به ایموجی! برای تمرین مشکلی نیست، ولی در محصول واقعی بزرگ‌ترین امضای «این را AI ساخته» همین است.
  • اولویت‌ها را جابه‌جا کردیم: کنترل تعداد در سبد باید High می‌بود، افکت Hover و انیمیشن‌ها Low.

اجرای حلقه و یک درس مهم

PRD به Backlog رفت و `node ralph.js` اجرا شد. اولین بار حلقه به سقف پیش‌فرض ۱۰ Iteration خورد در حالی که وظایف بیشتر از ۱۰ تا بود — پس یا سقف را بالاتر بگیر (`node ralph.js 20`) یا دوباره اجرا کن؛ حلقه از همان‌جا که مانده ادامه می‌دهد، چون حافظه در فایل‌هاست.

نتیجه نهایی: منو، افزودن به سبد، تغییر تعداد، جمع کل و Empty State — همه کار می‌کرد. در کد هم منطق قشنگی دیده شد: موقع افزودن به سبد، اول دنبال آیتم تکراری می‌گردد و اگر بود فقط Quantity را زیاد می‌کند — نه دو ردیف «همبرگر، همبرگر».

function addToCart(item) {
  const existing = cart.value.find((i) => i.id === item.id);
  if (existing) existing.quantity++;
  else cart.value.push({ ...item, quantity: 1 });
}

به زبان ساده

یک Skill به مدل یاد می‌دهد PRD را «به روش تو» بنویسد. خروجی می‌رود to-refine، تو بازبینی می‌کنی، به backlog می‌کشی، حلقه برش می‌دارد.

مثال واقعی

«یک وب‌شاپ کوچک برای اسنک‌بار، بدون Checkout.» مدل Pinia را زیادی دانست و `useCart` ساخت؛ کنترل تعداد را High کردیم و ایموجی را به‌عنوان سوگیری AI شناختیم. حلقه اول به سقف ۱۰ خورد — دوباره اجرا شد و از روی فایل‌ها ادامه داد.

دانش‌سنجی

آزمون درس

۵ Q
01
PRD Skill چطور فعال می‌شود؟
02
چرخه سه‌پوشه‌ای PRD به چه ترتیبی است؟
03
حلقه به سقف ۱۰ Iteration خورد ولی وظایف بیشتر بود. چه شد؟
04
کدام‌یک نمونه «سوگیری AI» بود که در بازبینی PRD دیدیم؟
05
چرا فایل‌های Hello World قدیمی بعد از اتمام حلقه هنوز در پروژه بودند؟