Dashboard
- What it does
- A mod for Claude Code: type /today and a side pane opens with today's posts and where each one stands: Script, Render, review and posting.
- Who it is for
- People who publish content regularly, work in Claude Code, and want to see the state of today's posts in one place.
- When to use it
- When you prepare more than one post a day and want to know where each one stands without opening every file.
- What you get
- A pane that reads one file in your project and redraws by itself within 3 seconds whenever you edit it, plus a status line under the Prompt with how many posts are published and ready. Read-only: it writes no file, posts nothing and messages no one.
Read before you run it
How to use it
- Download the file and unzip it, read the code in
hooks/register.tsx, then run this command to see everything the mod calls:claude plugin validate safaa-dashboard - In your project folder, copy the example file
example/today.jsontocontent/today.jsonand write your posts in it. - Start Claude Code from your project folder with this command, then type
/today:claude --plugin-dir /path/to/safaa-dashboard - Change the state of any post in the file and save it; the pane redraws within 3 seconds. Details are in the README inside the folder (in Arabic).
- To turn it off: disable it from the Installed tab in
/plugin, or start Claude Code with--safe-mode
Download the mod
Needs Claude Code 2.1.287 or later in the Terminal. One zip file with the code, an example file and an Arabic README; every file is open on GitHub.
Full details, as in the repository (Arabic)
ماذا يفعل: Mod لـClaude Code. تكتب /today فتنفتح لوحة جانبية فيها منشورات اليوم، وأين وصل كل منشور: Script، وRender، والمراجعة (Advisor)، والنشر.
البيانات من ملف واحد في مشروعك: content/today.json. تعدّل الملف بيدك، فتتحدّث اللوحة وحدها خلال 3 ثوانٍ.
لمن: من ينشر محتوى بانتظام ويعمل في Claude Code، ويريد أن يرى حالة منشورات اليوم دون أن يفتح كل ملف.
اقرأ هذا أولاً
الـMod كود يعمل داخل Claude Code بصلاحياتك، وليس في عزل (Sandbox). يقول الدليل الرسمي:
"Mods aren't sandboxed." و"A mod is code that runs with your permissions. It can read and write your files, start processes, and make network requests."
لذلك اقرأ الكود قبل أن تشغّله. الكود كله في ملف واحد: hooks/register.tsx.
وشغّل هذا الأمر، فيعرض لك كل ما يستدعيه الـMod:
claude plugin validate safaa-dashboard
هذا الـMod يقرأ فقط. في فحصنا ظهرت هذه الاستدعاءات وحدها: clock.every وclock.now وcommand.register وfs.read وstate.get/set وui.open وui.resolve وui.status. لا يكتب ملفاً، ولا يتصل بالإنترنت، ولا يشغّل برامج، ولا ينشر، ولا يراسل أحداً.
المتطلبات
- Claude Code إصدار 2.1.287 أو أحدث في الـTerminal (من الدليل الرسمي). تحقق بالأمر:
claude --version - جرّبناه في الـTerminal فقط. لم نجرّبه في تطبيق Desktop ولا في VS Code.
التثبيت
- نزّل
safaa-dashboard.zipوفك الضغط، فيظهر مجلدsafaa-dashboard. - اقرأ الكود وشغّل
claude plugin validateكما في الأعلى. -
في مجلد مشروعك، أنشئ ملف البيانات من المثال:
bash mkdir -p content cp /path/to/safaa-dashboard/example/today.json content/today.json -
شغّل Claude Code من مجلد مشروعك مع الـMod:
bash claude --plugin-dir /path/to/safaa-dashboard -
اكتب
/todayفتنفتح اللوحة. وتحت الـPrompt سطر حالة مثل: «اليوم: 0/3 نُشر · 1 جاهز».
يظهر الـMod في /plugin باسمه الداخلي safaa-today.
أين يقرأ الملف
المسار content/today.json نسبي للمجلد الذي شغّلت منه Claude Code. إذا شغّلته من مجلد آخر، تقول اللوحة: content/today.json not found.
تريد مساراً آخر؟ غيّر هذا السطر في hooks/register.tsx:
const FILE = 'content/today.json'
كيف تعدّل الحالات
افتح content/today.json وعدّل الحقول، ثم احفظ. اللوحة تقرأ الملف كل 3 ثوانٍ.
| الحقل | القيم |
|---|---|
date |
تاريخ اليوم، يظهر في أعلى اللوحة |
id |
اسم قصير لا يتكرر لكل منشور |
title |
عنوان المنشور |
kind |
نوعه، مثل Reel أو Carousel |
script وrender |
todo أو draft أو done |
advisor |
todo أو pass أو fail، ومعه score رقم اختياري |
posted |
true بعد أن تنشر بنفسك فقط |
العلامات في اللوحة: ● تم، ◐ مسودة، · لم يبدأ، ✕ لم ينجح.
المنشور «جاهز» في سطر الحالة عندما يكون advisor = pass وrender = done ولم يُنشر بعد.
إذا كان في الملف خطأ في صيغة JSON، تعرض اللوحة رسالة الخطأ بدل المنشورات.
الإيقاف
- من تبويب Installed في
/plugin: عطّل الـMod أو احذفه. - أو شغّل Claude Code بالخيار
--safe-mode، فلا يعمل أي Mod في تلك الجلسة.
للمطوّرين
- الاختبارات:
claude plugin test safaa-dashboard(3 اختبارات فيtests/). - فحص الأنواع:
tsc -p safaa-dashboard --noEmit. يحتاج ملفات الأنواع التي يكتبها Claude Code في.claude-plugin/types/عندما يحمّل الـMod أول مرة، وهي ليست داخل الـzip.
حالة الاختبار
claude plugin validate نجح، وtsc بلا أخطاء، وclaude plugin test نجح 3 من 3، وتشغيل حي واحد في الـTerminal (n=1). التفاصيل وما لم يُجرَّب في نتائج الفحص.
المصدر: دليل Claude Code الرسمي، صفحتا Mods (قُرئتا في 15 أكتوبر 2026):
https://code.claude.com/docs/en/plugins/mods/overview
https://code.claude.com/docs/en/plugins/mods/create
من SAFAA.IO · رخصة MIT