feat: update general skills/rules to adapt example course styles

This commit is contained in:
2026-09-05 21:22:44 +08:00
parent 0528ace58b
commit bb01742a6a
4 changed files with 234 additions and 52 deletions

View File

@@ -49,9 +49,11 @@ description: >-
---
## ۴. استعاره‌ها، سناریوهای ملموس و دیاگرام‌ها (Pedagogy & Visuals)
- **داستان/استعاره ملموس:** [تشبیه موضوع به یک کار روزمره برای درک بدون پیش‌نیاز فنی]
- **دیاگرام پیشنهادی (Mermaid):** [شرح فلوچارت یا نمودار مورد نیاز]
## ۴. جایگاه‌های تصاویر و نمودارها (Visual & Diagram Placeholders)
> **نکته:** در تدوین مشخصات، نیازی به طراحی پرامپت تصویر یا کد دیاگرام نیست. صرفاً مکان، نام فایل پیشنهادی و شرح کوتاهی از آنچه باید به تصویر کشیده شود مشخص می‌گردد تا ایجنت نویسنده با ابزارهای خود (پکیج diagrams یا قالب SVG) آن را بسازد.
- **تصویر کاور:** `images/cover.png` — [شرح مختصر ایده بصری کاور درس‌نامه]
- **نمودار ۱:** `images/[diagram-slug-1].png` — **موضوع:** [شرح مختصر از مفهوم، چرخه، معماری یا فرآیندی که باید ترسیم شود]
- **نمودار ۲:** `images/[diagram-slug-2].png` — **موضوع:** [شرح مختصر از مفهوم یا مقایسه بصری]
---

View File

@@ -1,66 +1,133 @@
---
name: quera-lesson-author
description: >-
Use this skill when drafting or refining full document-based lessons (lesson.md)
from an approved spec.md file, following Quera College pedagogical and formatting rules.
Use this skill when drafting or refining full document-based lessons (README.md)
from an approved spec.md file, following Quera College pedagogical, visual, and formatting standards (FastAPI College reference).
---
# Quera Lesson Author (نگارش درس‌نامه‌های متنی کوئرا کالج)
این مهارت راهنمای تبدیل یک سند مشخصات تایید شده (`spec.md`) به متن نهایی و جذاب درس‌نامه (`lesson.md`) است.
این مهارت راهنمای جامع و استاندارد برای ایجنت‌های نویسنده است تا بتوانند یک سند مشخصات تایید شده (`spec.md`) را به یک درس‌نامهٔ کامل، جذاب، استاندارد و آمادهٔ انتشار در کوئرا کالج (`README.md`) تبدیل کنند.
الگو، ساختار و لحن این راهنما دقیقاً بر اساس استانداردهای پیاده‌سازی‌شده در **دورهٔ FastAPI کوئرا کالج** تدوین شده است.
---
## چک‌لیست قبل از نگارش
1. آیا فایل `spec.md` در پوشهٔ درس وجود دارد و اهداف آن مشخص است؟
2. آیا شیوه‌نامه نگارش فارسی کوئرا (`.agents/rules/quera-styleguide.md`) بررسی شده است؟
## ۱. ساختار پوشه‌بندی هر درس‌نامه
---
هر درس‌نامه در پوشهٔ اختصاصی خود درون فصل مربوطه قرار دارد و باید شامل فایل متن درس‌نامه و پوشهٔ تصاویر اختصاصی باشد:
## ساختار نگارشی درس‌نامه (`lesson.md`)
```markdown
# [عنوان درس‌نامه]
[مقدمه جذاب و قلاب داستانی: چرا این موضوع برای کسی که می‌خواهد با هوش مصنوعی محصول بسازد حیاتی است؟]
---
## [عنوان بخش اول: مفهوم اصلی به زبان ساده]
[توضیح شفاف همراه با استعاره‌های روزمره و مقایسه‌های ملموس]
```mermaid
flowchart LR
A[ایده اولیه] --> B[پرامپت ساختاریافته]
B --> C[کد تولید شده با AI]
C --> D[بررسی و تست خروجی]
```text
chapters/ch<XX>-<name>/<YY>-<lesson-slug>/
├── spec.md # سند مشخصات و قرارداد یادگیری درس (ورودی ایجنت)
├── README.md # متن کامل درس‌نامه کوئرا کالج (خروجی نهایی ایجنت)
└── images/ # پوشهٔ اختصاصی تصاویر، نمودارها و دیاگرام‌های درس
├── cover.png # تصویر کاور استاندارد درس‌نامه (یا cover.svg)
├── [diagram-1].png / .svg
└── [diagram-2].png / .svg
```
> [!NOTE]
> [نکته تکمیلی درباره عملکرد هوش مصنوعی یا پیش‌زمینه مورد نیاز]
> **نکتهٔ نام‌گذاری فایل:** فایل اصلی درس‌نامه در کوئرا کالج نامش `README.md` است (نه `lesson.md`).
---
## [عنوان بخش دوم: پیاده‌سازی عملی و کار با ابزار]
## ۲. گردش‌کار نگارش درس‌نامه (Author Agent Workflow)
[گام‌های عملی استفاده از ادیتور/ابزار به همراه تصویرسازی ذهنی]
ایجنت نویسنده باید این ۵ گام را به ترتیب طی کند:
> [!TIP]
> **پرامپت پیشنهادی برای ادیتور:**
> ```text
> [متن دقیق و تمیز پرامپت آماده استفاده]
> ```
1. **بررسی قرارداد `spec.md`:**
* اهداف یادگیری بلوم (Understand, Apply, Evaluate) را به دقت بخوانید.
* مرزهای محتوا را رعایت کنید: موارد **In-Scope** باید کامل پوشش داده شوند و به هیچ‌وجه نباید وارد موضوعات **Out-of-Scope** شوید.
* جدول واژگان تخصصی و اصطلاحات انگلیسی/فارسی را بررسی کنید.
* لیست **جایگاه‌های تصاویر و نمودارها (Visual Placeholders)** را استخراج کنید.
2. **تولید تصاویر و نمودارهای بصری (Visuals & Diagrams):**
* برای هر Placeholder مشخص‌شده در `spec.md`، تصویر یا دیاگرام متناظر را تولید و در پوشهٔ `images/` ذخیره کنید.
* از نمودارهای مدرن و تمیز با ابزارهایی مثل پکیج پایتونی `diagrams` (`https://github.com/mingrammer/diagrams`) یا کدهای برداری SVG با تم تیرهٔ کوئرا کالج (مشخصات تم در بخش ۵) استفاده کنید.
* هر درس‌نامه باید حتماً دارای یک تصویر کاور (`cover.png` یا `cover.svg`) و حداقل ۱ تا ۴ نمودار مفهومی باشد.
3. **نگارش متن درس بر اساس کالبدشکافی کوئرا:**
* ساختار استاندارد بخش‌ها (قلاب داستانی، نقشه درس، مفاهیم اصلی، جعبه‌های کال‌اوت، کدهای هایلایت‌شده و جمع‌بندی) را پیاده کنید.
4. **اعمال استانداردهای فرانت‌اند کوئرا (HTML & CSS Components):**
* جعبه‌های هشدار، نکته و بیشتر بدانید را با تگ‌های `<details class="...">` پیاده کنید.
* خطوط مهم کد را با تگ‌های `<mark class="...">` هایلایت نمایید.
* تصاویر را در جدول‌های تک‌خانه‌ای وسط‌چین همراه با کپشن تفصیلی درج کنید.
5. **بازبینی نهایی و انطباق با معیارهای پذیرش (Acceptance Checklist).**
---
## [عنوان بخش سوم: خطرات و توهم‌های رایج هوش مصنوعی]
## ۳. ساختار و کالبدشکافی استاندارد درس‌نامه (`README.md`)
> [!WARNING]
> **مراقب این تله باشید:**
> [توضیح خطایی که ایجنت‌ها ممکن است در این مرحله مرتکب شوند و نحوه هدایت مجدد آن‌ها]
متن نهایی درس‌نامه باید از این قالب دقیق پیروی کند:
---
````markdown
# [عنوان درس‌نامه به فارسی روان]
[مقدمه و قلاب داستانی (Hook): یک موقعیت ملموس، سناریوی واقعی محصولی یا پرسش کلیدی که انگیزهٔ مطالعه را در دانشجو ایجاد می‌کند. مثلاً: «فرض کنید تغییر کوچکی روی یک اندپوینت پرداخت اعمال کرده‌ایم و می‌خواهیم همان امروز آن را دیپلوی کنیم...»]
| ![کاور درس‌نامهٔ [عنوان]](./images/cover.png) |
| :-: |
[نقشهٔ راه درس‌نامه (Overview): توضیح کوتاه ۲ تا ۳ جمله‌ای از اینکه در این درس قرار است چه مراحلی طی شود، چه ابزارهایی بررسی می‌شوند و در پایان دانشجو به چه خروجی ملموسی می‌رسد.]
## [عنوان بخش اول: مفهوم پایه یا چرایی موضوع]
[توضیح عمیق و شفاف مفهوم همراه با استعاره‌های ملموس و مقایسه‌های روزمره]
| ![عنوان یا توضیح کوتاه نمودار](./images/concept-diagram.png) |
| :-: |
| [توضیح تفصیلی، آموزنده و چندخطی زیر نمودار که پیام کلیدی و ارتباط اجزا را بیان می‌کند.] |
[ادامهٔ شرح درس...]
<details class="red">
<summary>**هشدار: [عنوان هشدار درباره خطای رایج، تله یا توهم هوش مصنوعی]**</summary>
[شرح خطای رایج یا توهم ایجنت و نحوهٔ پیشگیری و مهار آن. توضیح اینکه چرا این خطا رخ می‌دهد و چطور باید رفتار صحیح را ارزیابی کرد.]
</details>
## [عنوان بخش دوم: پیاده‌سازی عملی، ابزارها یا کُد]
[توضیح شیوهٔ استفاده از ابزار یا پیاده‌سازی گام‌به‌گام]
```python app.py python
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
<mark class="green" title="پاسخ ساده برای بررسی سلامت سرویس">return {"service": "online", "status": "ok"}</mark>
```
> [باکس نقل‌قول بلافاصله پس از بلوک کد: تشریح خط‌به‌خط و دقیق کدهای بالا، کارکرد هر تابع، متغیرها و رفتاری که خروجی تولید می‌کند. هرگز کد بدون توضیح رها نمی‌شود.]
<details class="green">
<summary>**نکته: [قانون طلایی یا بهترین الگو (Best Practice)]**</summary>
[توضیح ترفند یا الگوی حرفه‌ای که کارایی را بالا می‌برد یا از اتلاف وقت دانشجو جلوگیری می‌کند.]
</details>
## [عنوان بخش سوم: مقایسه، سناریوهای خطا یا حالت‌های پیشرفته]
[بررسی حالت‌های خطا، تست یا مقایسهٔ گزینه‌های مختلف]
| معیار | روش الف | روش ب |
| :-: | :-: | :-: |
| سرعت اجرا | سریع | کند |
| انعطاف‌پذیری | بالا | محدود |
| هزینه | کم | بالا |
<details class="violet">
<summary>**بیشتر بدانید: [مبحث تکمیلی و معماری عمیق‌تر]**</summary>
[مطالعهٔ عمیق‌تر برای دانشجویانی که می‌خواهند از پشت‌صحنه یا تاریخچه و معماری مطلع شوند.]
</details>
## جمع‌بندی و گام بعدی
@@ -69,5 +136,110 @@ flowchart LR
- **نکته ۲:** [خلاصه نکته کلیدی]
- **نکته ۳:** [خلاصه نکته کلیدی]
> در درس بعدی به سراغ **[عنوان درس بعد]** می‌رویم تا یاد بگیریم چگونه ...
[پل ارتباطی به درس بعد]: در درس‌نامهٔ بعدی به سراغ **«[عنوان درس بعد]»** می‌رویم تا یاد بگیریم چطور ...
````
---
## ۴. اجزای خاص رابط کاربری و فرمت‌بندی کوئرا کالج (Quera Custom UI)
### ۱.۴. جدول نمایش تصاویر و دیاگرام‌ها (Centered Image Tables)
در کوئرا کالج، تصاویر مستقیماً رها نمی‌شوند؛ بلکه همیشه درون یک جدول مارک‌داون تک‌خانه‌ای وسط‌چین با کپشن توضیحی قرار می‌گیرند:
```markdown
| ![متن جایگزین کوتاه](./images/filename.png) |
| :-: |
| متن توضیح تفصیلی و آموزنده زیر تصویر که پیام نمودار را تشریح می‌کند. |
```
### ۲.۴. جعبه‌های پیام و آکاردئون‌های رنگی (`<details class="...">`)
به جای الرت‌های مرسوم گیت‌هاب، از تگ‌های `<details>` با کلاس‌های رنگی کوئرا استفاده می‌شود:
* **کلاس قرمز (`class="red"`) — هشدارها، تله‌ها و توهم‌های هوش مصنوعی:**
```html
<details class="red">
<summary>**هشدار: [عنوان هشدار]**</summary>
متن هشدار و راه‌های پیشگیری از خطا...
</details>
```
* **کلاس سبز (`class="green"`) — نکات طلایی و شیوه‌های بهینه (Best Practices):**
```html
<details class="green">
<summary>**نکته: [عنوان نکته]**</summary>
متن نکته و توصیهٔ کلیدی...
</details>
```
* **کلاس بنفش (`class="violet"`) — مباحث عمیق‌تر و بیشتر بدانید:**
```html
<details class="violet">
<summary>**بیشتر بدانید: [مبحث تکمیلی]**</summary>
توضیحات پیشرفته و لینک به مستندات رسمی...
</details>
```
* **کلاس آبی (`class="blue"`) — یادداشت‌ها و پس‌زمینه‌ها.**
### ۳.۴. بلوک‌های کد و هایلایت خطوط (`<mark>`)
بلوک‌های کد به صورت سه‌تکه تعریف می‌شوند:
````markdown
```<زبان> <نام_فایل> <زبان>
def example():
<mark class="green" title="توضیح هايلايت">کد مورد نظر برای جلب توجه</mark>
```
````
* رنگ‌های مجاز برای `class`: `blue`، `green`، `violet`، `yellow`، `red`.
* ویژگی `title`: توضیحی کوتاه که هنگام قرار گرفتن ماوس روی خط هایلایت‌شده ظاهر می‌شود.
* **الزام حتمی:** بلافاصله زیر هر بلوک کد، یک پاراگراف نقل‌قول (`> ...`) قرار می‌گیرد که کدها را به زبان ساده تشریح می‌کند.
---
## ۵. راهنمای تولید و استایل دیاگرام‌ها (Visuals & SVG Styleguide)
نمودارها و دیاگرام‌های درس‌نامه باید از نظر بصری فوق‌العاده باکیفیت و حرفه‌ای باشند (مانند خروجی پکیج `diagrams` یا فایل‌های SVG اختصاصی دوره FastAPI):
1. **ابعاد و ساختار پایه SVG:**
* عرض ثابت: `width="1100"` و `viewBox="0 0 1100 <height>"` (ارتفاع معمولاً بین `360` تا `690` بسته به محتوا).
* پس‌زمینهٔ گرادیان تیرهٔ مدرن: از `#0B1220` به `#111B2E` با گوشه‌های گرد (`rx="20"`).
* فونت متن‌ها: `Segoe UI, Vazirmatn, system-ui, -apple-system, sans-serif`.
2. **پالت رنگی المان‌ها:**
* رنگ‌های برجسته: آبی فیروزه‌ای (`#00BDF0`)، بنفش (`#8B5CF6`)، سبز زمردی (`#10B981`)، زرد/نارنجی (`#F59E0B`)، قرمز هشداری (`#EF4444`).
* رنگ متون: سفید خالص (`#FFFFFF`) برای تیترها، خاکستری روشن (`#C7D2E1` یا `#E2E8F0`) برای برچسب‌ها، خاکستری خنثی (`#8CA0B8`) برای توضیحات فرعی.
3. **واترمارک لوگوی کوئرا:**
* در گوشهٔ پایین سمت راست تمام نمودارها، لوگوی وکتور کوئرا قرار می‌گیرد:
```xml
<g transform="translate(880 378) scale(0.14)" opacity="0.92" fill="#FFFFFF">
<!-- مسیر وکتور لوگوی کوئرا -->
</g>
```
---
## ۶. نگارش فارسی و قواعد زبانی (Persian Typography)
* **اصطلاحات فنی دو زبانه:** در اولین مواجهه، واژهٔ فارسی پررنگ و انگلیسی ایتالیک داخل پرانتز می‌آید:
`**تست خودکار (*Automated Testing*)**` | `**مهندسی پرامپت (*Prompt Engineering*)**`
* **رعایت دقیق نیم‌فاصله‌ها:** در تمام افعال استمراری («می‌شود»، «می‌دانیم»)، جمع‌ها («درس‌نامه‌ها»، «ایجنت‌ها»)، پسوندهای تفضیلی («سریع‌تر»، «مهم‌ترین») و کلمات ترکیبی («تست‌کیس»، «دست‌نخورده»، «کلمه‌به‌کلمه»).
* **گیومه‌های فارسی:** استفاده از « » برای نقل‌قول‌ها و مفاهیم خاص به جای " ".
* **لحن:** دوستانه، اول‌شخص جمع («می‌بینیم»، «می‌سازیم»)، آموزنده و گام‌به‌گام؛ متناسب با کسی که کدنویس حرفه‌ای نیست اما قصد ساخت یک محصول کامل را دارد.
---
## ۷. چک‌لیست نهایی ایجنت نویسنده (Quality Gate)
قبل از پایان نگارش درس‌نامه، بررسی کنید:
- [ ] آیا تمام موارد **In-Scope** از `spec.md` پوشش داده شده و هیچ مبحث **Out-of-Scope** مطرح نشده است؟
- [ ] آیا کاور (`images/cover.png`) و تمام دیاگرام‌های Placeholder در پوشهٔ `images/` قرار گرفته‌اند؟
- [ ] آیا تصاویر در جدول‌های مارک‌داون تک‌خانه‌ای وسط‌چین همراه با کپشن تفصیلی درج شده‌اند؟
- [ ] آیا حداقل دو باکس `<details class="...">` (یکی هشدار `red` و یکی نکته `green`) در متن وجود دارد؟
- [ ] آیا بلوک‌های کد دارای `<mark>` و توضیح تحلیلی در باکس نقل‌قول (`> ...`) هستند؟
- [ ] آیا اصطلاحات انگلیسی به همراه معادل فارسی مصوب آورده شده‌اند؟
- [ ] آیا نیم‌فاصله‌ها و گیومه‌های فارسی به طور کامل رعایت شده‌اند؟
- [ ] آیا در پایان درس، خلاصهٔ نکات و پیش‌نمایش درس بعدی درج شده است؟