Skip to content
Back to skills

Publish

ASecurity

گزارش را با readable بساز, بعد از تأیید روی پورتال منتشر کن, و ایمیل کوتاه با لینک بده. Triggers: «منتشر کن», «بذار روی پورتال», «صفحه‌اش کن», "publish this".

  • 11 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added August 31, 2026
ai-agentsbashnode

Works with

  • mcp

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 21, 2026

npx -y skills add smk-labs/claude-plugins --skill publish --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Publish?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Publish
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/smk-labs-publish/badge)](https://www.skillsdirectory.com/skills/smk-labs-publish)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: publish
description: >-
  گزارش را با readable بساز, بعد از تأیید روی پورتال منتشر کن, و ایمیل کوتاه با لینک بده.
  Triggers: «منتشر کن», «بذار روی پورتال», «صفحه‌اش کن», "publish this".
---

# publish: گزارش، صفحه، ایمیل

سه تحویل پشت سر هم. هیچ‌کدام بدون تأیید کاربر به بعدی نمی‌رود.

1. **گزارش.** با `/readable:report` یک فایل HTML مستقل بساز. اگر کارتی در چت هست، محتوای همان را عیناً بردار. چون خروجی روی وب میزبانی می‌شود، `--inline-figures` بده.
2. **تأیید.** مسیر فایل را به‌صورت لینک بده و بپرس منتشر شود یا نه. تا «بله» نگرفته‌ای هیچ چیزی آپلود نکن.
3. **صفحه.** یک دستور، از فایل تا لینک:

   ```bash
   node "<this skill dir>/publish.js" <path-to-report.html> [--slug my-report] [--viewer a@b.com]
   ```

   خودش زیپ می‌کند، `name` را از `<title>` سند برمی‌دارد، و `access_mode` پیش‌فرض `allowlist` است. JSON برمی‌گرداند؛ `url` را به کاربر بده. برای جایگزینی یک صفحهٔ موجود با همان لینک: `--page-id <id>`.
4. **ایمیل.** یک کارت readable کوتاه بساز، به لحن `/me:write-as-me`: دو سه جمله که بگوید این چیست و چرا مهم است، به‌علاوهٔ لینک صفحه. محتوای گزارش را تکرار نکن. آخرش به کاربر بگو از منوی همان کارت گزینهٔ Email را بزند تا آمادهٔ کپی شود.

## چرا اسکریپت، نه ابزار MCP

ابزار `pages_create_from_zip` آرشیو را base64 می‌گیرد. یک گزارش ۷۵۰ کیلوبایتی با فونت جاسازی‌شده حدود ۶۳۰ کیلوبایت base64 می‌شود، یعنی صدهزار توکن که باید از کانتکست رد شود و بایت‌هایش هم سالم درنمی‌آید. اسکریپت فایل را از دیسک می‌خواند و خودش POST می‌کند، پس هیچ‌وقت `pages_create_from_zip` یا `pages_create_from_text` را مستقیم صدا نزن و محتوای فایل را هم نخوان.

- ورودی می‌تواند یک فایل، یک پوشه (که باید `index.html` در ریشه داشته باشد)، یا یک زیپ آماده باشد.
- لاگین از همان توکنی می‌آید که `mcp-remote` نگه داشته. اگر گفت لاگین نیست، پیام خودش دستور را می‌دهد.
- `--out file.zip` فقط زیپ را می‌سازد و آپلود نمی‌کند، برای وقتی کاربر خودش می‌خواهد آپلود کند.

- زبان هر سه خروجی همان زبان مکالمه است.
- اگر انتشار شکست خورد، همان‌جا بگو، فایل گزارش را تحویل بده و جلوتر نرو.

Files in this skill

  • SKILL.md3.2 KB
  • publish.js10.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.