✅ One working method and 44 skills for Claude Code. Every skill ends in a script that checks the work.
NJ-Kit by Nader Alzghoul (NJ-Burrito): free, open-source Claude Code skills and plugin, in Arabic and English. Website · LinkedIn
🧠 What: a free method and 44 skills for Claude Code.
✅ Why: a script prints PASS or FAIL. No "should work".
🚀 Start: paste 2 lines into Claude Code. Go ↓
🌐 Website: nj-burrito.github.io/NJ-Kit · بالعربية
🧭 Jump to: Start here · How it works · What's new · Skills · PASS/FAIL · NJ-Narration · Compare · Safety · Questions · Credits · Contribute · NJ-Font · العربية
| You want… | Take this | Time |
|---|---|---|
| 🧩 Claude Code, fastest | Plugin ↓ · 27 skills | ⏱️ 1 min |
| 🧰 All 44 on a new machine | Kit installer ↓ | ⏱️ 5 min |
📂 Another agent that reads SKILL.md |
Copy one skill ↓ | ⏱️ 1 folder |
| 🔤 The typeface | NJ-Font ↓ (coming soon) | ⏱️ soon |
All free. 👆 Pick one and skip the rest.
| Step | What happens |
|---|---|
| 🔍 1 Analyse | Name the deliverable and what "done" means |
| 📖 2 Find the skill | Use a tested skill before improvising |
| 📋 3 Plan | Short steps, each leaving a checkpoint file |
| ⌨️ 4 Execute | Do the work, checking as it goes |
| ✅ 5 Gate | A script prints PASS or FAIL. FAIL: one fix, run again |
| 🔄 6 Review | Compare the result with the request, item by item |
1. In Claude Code, paste:
/plugin marketplace add NJ-Burrito/NJ-Kit
/plugin install nj-kit@nj-kit
2. Say: "use nj-method" ✅ Done. You have 27 skills.
Needs: 🐍 Python 3.10+
git clone https://github.com/NJ-Burrito/NJ-Kit
cd NJ-Kit
python nj-kit/scripts/install.py --check # 👀 preview, changes nothing
python nj-kit/scripts/install.py # ✅ install
python nj-kit/scripts/fetch_assets.py --all # 📦 download NJ-Kit assets v1📖 More: where skills go, the assets, options
- 📍 Skills land in
~/.claude/skills/(every repo on this machine). - 🎯
--scope projectputs them in one repo instead. - 📦 NJ-Kit assets v1 is a GitHub release (tag
assets-v1). - It holds the heavy parts kept out of git:
- the graphify package
- the nj-researcher source registry
- the tashkeel evidence runs
- 🔐
fetch_assets.pychecks each file's sha256 before writing it. - 📋
--listshows them. - ⚡ uv is recommended for Python.
- 📖 Full guide: nj-kit/README.md
Release: v2.3.3 on GitHub. Still 27 plugin skills, 44 with the kit installer.
- 🗣️
nj-writervoice gate: a product name listed underlatin_brandsinvoice-styles.jsonstays Latin in the Arabic TTS text and is said exactly as in English; the gate no longer asks to spell it out. Unlisted Latin words still fail.
Release: v2.3.2 on GitHub. Still 27 plugin skills, 44 with the kit installer.
- 🏷️
nj-jirabug template: the evidence rules now name the Arabic file-name rule from 2.3.1 and point tonj-qa/scripts/evidence_name.py. - 🧪
nj-qaself-check:test_nj_qa.pynow covers the evidence-name rules, including the refusals inreport-checkandpreview-check.
Release: v2.3.1 on GitHub. Still 27 plugin skills, 44 with the kit installer.
- 🏷️ Evidence names are Arabic in
nj-qaandnj-jira:<المشكلة>-<الخدمة>-<التاريخ>-<الوقت>, time asHH.MM.nj-qa/scripts/evidence_name.pymakes the name, andreport-checkandpreview-checkrefuse any other picture or video name. Existing runs keep their names (NJQA_LEGACY_EVIDENCE=1). - 🧪
nj-qa: a blocked or untestable note can carry ablock_cause(data,systemortool), and the checks refuse any other value. - 🌐 The website's skill list is generated from the plugin's
SKILL.mdfiles, and CI fails when the committed site is stale.
Release: v2.3.0 on GitHub.
| Skill | What it adds |
|---|---|
| 📊 nj-chart | Charts, dashboards and KPI rows that read at a glance, in Arabic or English, light or dark. Built on Flint by Microsoft (MIT) |
| 🧪 nj-qa | A crew of agents tests a service's Jira notes on the live system: one leader per service, a tester per route, scavengers for defects nobody listed. Scripts enforce the limits (nj_qa.py) |
| 🟠 agent-halo | Every browser window an agent opens gets a coloured border and the agent's name, so you can tell windows apart. Screenshots and page text never see it |
Also: scripts/publish-check.py, the gate every release now passes before it is pushed (no credentials, no private project data, no machine paths, no font files). Full list: CHANGELOG.md.
27 come with the plugin. The kit installer adds 17. Every one ends in a PASS or FAIL gate.
🧩 In the plugin · 27 skills · generated from each SKILL.md
| Skill | What it does |
|---|---|
| agent-halo | Every browser window an agent opens carries a coloured border and the agent's type at the top, so a person can tell agent windows apart |
| arabic-english-proofreading | Proofread Arabic, English or bilingual text (SRS, official submissions, manuals, UI strings) |
| bg-music | Holds a bundled licence-cleared CC0 SFX library and music beds with cue presets, and sources from Openverse, Jamendo, Freesound, ccMixter, Wikimedia with licence, credit line and retrieval date per track |
| devil | Adversarial critique of a plan, design, architecture or vendor choice before it is acted on: ranked objections, the assumption each attacks, the cheapest settling test |
| impact-copy | House style since 17 Sept 2026: impact-first, metric-driven copy for commercials, captions, brag docs, release notes |
| nj-agent-ops | NJ Governance v4 (v3 briefs still accepted) transport under nj-delegate: telemetry refused at write time (relay.py), path claims that enforce single-writer, KPI audit via verify, results through files, one wake per batch, a low-effort interpreter spawned on a trigger |
| nj-automation-suite | Create an automation-tests folder (a portable, self-contained Playwright suite): layout, lib/paths.ts portability (env vars, auto-discovery, no absolute paths), HTML report + per-service Jira HTML, AI-RUN-NOTES.md, AGENT.md, PDFs (Thmanyah TrueType only), launchers, Docker image-only share, sweep-chrome, sign-in lock |
| nj-chart | Charts, dashboards and metric reports that read at a glance, in Arabic or English, light or dark, built on the Flint chart engine (MCP server flint) |
| nj-delegate | NJ Governance v4: the Lead (Opus) administers and decides, Sonnet leads build in their own worktrees, Haiku helpers do bounded mechanical work (depth 2, at most 20 agents counted, helpers required by the ITEMS rule) |
| nj-director | Film direction (not agent delegation — see nj-delegate for that) |
| nj-jira | Open the owner's Jira, analyse a ticket into a report and an automation, file Bugs with evidence (screenshots, related Story, assignee), QA re-check our Bugs (verify -> comment + Done, or Re Opened) and keep the tracker |
| nj-jira-to-automation | Turn a Jira ticket (or a service's open Bugs) into a runnable automation: analyse into notes, check each on the portal, write one standalone test per note (jiraCheck / jiraSkipped / noteEnv), mark filed-request notes blocked, resume on a ticket, run once |
| nj-learn | Capture a lesson the moment work teaches one and write it where it will be read: the owning skill, CLAUDE.md, memory, or the nj-kit manifest |
| nj-method | A default method for every request: analyse the ask, look up installed skills before improvising, plan with named checkpoints, execute, review against what was asked |
| nj-narration | Cast and engineer a TTS voice for any story: casting brief from the character, licensed sources, signal-only rubric, top 3 for the ear; direction sheet, pronunciation lexicon, reference prep, commissioned-talent consent; engine, caps, one take; edge clean, mastering chain, loudness, gates, healing |
| nj-qa | NJ-QA: the owner's agent-crew method for testing a service's Jira notes on the live system, with one Opus leader per service, Haiku harvesters, one Sonnet tester per route and Haiku scavengers hunting unlisted defects, ending in a preview he decides on |
| nj-qa-pipeline | End-to-end QA pipeline that combines the Jira skills: Jira -> notes -> staging check -> acceptance report -> automation -> full route walks (one agent per service, extra agents per route share) -> Bug filing -> QA re-check -> tracker -> Docker + share + 7z |
| nj-rank | Register finished work, keep its evidence paths, and file it to Jira as Done Tasks assigned to the user; close the user's own open Tasks |
| nj-security-review | Review third-party skills, plugins and MCP servers for prompt injection, concealment, permission bypass, self-installing hooks, credential access, exfiltration, obfuscation |
| nj-supervise | How to brief a delegated worker and how to know it is actually working |
| nj-wrapup | Close a work session or a tested service end to end: discover what already exists, classify results through gates, file Bugs and Tasks with evidence (clean rows only, risky rows held), reconcile every count against Jira, register the work in nj-rank, and render the boss email (Arabic + English) and the QA-team message from the reconciled trace |
| nj-writer | Writes narration and script words: commercials, e-learning, walkthroughs, podcasts, event/recruitment/investor pieces, Arabic or English |
| pdf-typography | PDFs whose text stays real: selectable and searchable |
| session-handoff | Close a session by writing a handoff.md the next session reads first, instead of dragging degraded context through /compact |
| voice-clean | Clean and master spoken voice (voiceover, narration, podcast, reel) to broadcast loudness with ffmpeg only: the Premiere chain EQ, DeEsser, DeNoise, Compressor, Amplify, Limiter in one command |
| website-fine-print | Pre-ship site audit: privacy exposure, hygiene (broken links, overflow, favicon, titles, 404, copyright year), policy claims versus third parties contacted, page-observable security |
| workflow-diagram | Draw or fix an SRS workflow figure «مخطط سير العمل» from evidence: one box per element the model walks, left-to-right, an «إجراء» decision after any multi-exit task |
🧰 Bundled with the kit · 17 more · research, design, decks
| Group | Skills |
|---|---|
| 🔬 By NJ · 9 | nj-evidence · nj-knowledge-book · nj-researcher · nj-style-film · nj-motion-deck · nj-laya · nj-pinterest · srs-verifier · safe-delete |
| 🎨 Third-party design · 7 | brandkit · design-taste-frontend · high-end-visual-design · minimalist-ui · redesign-existing-projects · hyperframes-studio · general-video |
| 🕸️ Third-party graph · 1 | graphify |
- 🧰 The kit installer puts them in place.
- 📦 Heavy parts come from NJ-Kit assets v1:
python nj-kit/scripts/fetch_assets.py --all - 📁 Folder:
nj-kit/bundled· 🙏 Credits: THIRD_PARTY.md
You can combine them. NJ-Kit skills are plain SKILL.md folders, so they work next to skills from any of these.
| Project | What it is | Reach for it when |
|---|---|---|
| ✅ NJ-Kit | A working method and 44 skills. Every skill ends in a PASS or FAIL script. Arabic and English | You want the agent to prove a task is done |
| anthropics/skills | Anthropic's public repository for Agent Skills | You want the skills Anthropic publishes itself |
| obra/superpowers | An agentic skills framework and software development methodology | You want a software development methodology built from skills |
| awesome-claude-code | A hand-picked list of Claude Code resources: skills, agents, plugins, tools | You want to browse what exists |
Descriptions from each project's own GitHub page, 24 Oct 2026.
A typeface by Nader Alzghoul. Coming soon: the font files are not published yet, so NJ-Font/ holds only a README. The commands below are what will work once they land.
🍎 macOS / 🐧 Linux
git clone https://github.com/NJ-Burrito/NJ-Kit
cd NJ-Kit
cp NJ-Font/ttf/*.ttf ~/Library/Fonts/ # macOS
mkdir -p ~/.local/share/fonts && cp NJ-Font/ttf/*.ttf ~/.local/share/fonts/ && fc-cache -f # Linux🪟 Windows (no admin needed)
git clone https://github.com/NJ-Burrito/NJ-Kit
cd NJ-Kit
$dir = "$env:LOCALAPPDATA\Microsoft\Windows\Fonts"; New-Item -ItemType Directory -Force $dir | Out-Null
Get-ChildItem NJ-Font\ttf\*.ttf | ForEach-Object {
Copy-Item $_ $dir
New-ItemProperty "HKCU:\Software\Microsoft\Windows NT\CurrentVersion\Fonts" -Name "$($_.BaseName) (TrueType)" -Value "$dir\$($_.Name)" -Force | Out-Null
}🌐 Web
@font-face { font-family: "NJ-Font"; src: url("NJ-Font/woff2/NJ-Font-Regular.woff2") format("woff2"); font-display: swap; }- 📁 Fonts land in your user font folder.
- 🔄 Restart open apps to see them.
- 📖 More: NJ-Font/README.md
| 🔑 No secrets | Keys and URLs come from your environment or ~/.claude/secrets/ |
| 🗑️ Safe deletes | To the recycle bin, never rm -rf |
| 🧪 Real gates | A skill can't say PASS unless the check ran |
| 🛡️ Guard hook | Sub-agents can't read secret paths |
🧠 What is NJ-Kit?
A free, open-source Claude Code plugin: one working method and 44 skills. Every skill ends in a script gate that prints PASS or FAIL. MIT licence, by Nader Alzghoul.
📂 What are Claude Code skills?
A skill is a folder with a SKILL.md file of instructions, plus any scripts it needs. Claude Code reads each skill's description and loads the skill when a task matches it.
✅ What is a gate?
A script at the end of a skill that checks the result and prints PASS or FAIL. On FAIL, the skill makes one fix and runs the gate again.
🆚 How is it different from Anthropic's skills repository?
Anthropic's repository is its public collection of Agent Skills. NJ-Kit is an independent kit built around one working method, and every one of its skills ends in a PASS or FAIL script. You can install both. Compare ↑
🤖 Does it work with agents other than Claude Code?
Any agent that reads SKILL.md files can use the skill folders directly, with no installer. The plugin route is for Claude Code.
🏢 Is NJ-Kit made by Anthropic?
No. An independent project by Nader Alzghoul, not affiliated with or endorsed by Anthropic.
💸 Is it free?
Yes. MIT licence.
📂 Do I need all of it?
No. Copy one skill folder into ~/.claude/skills/ and it works on its own.
🌍 Arabic?
Yes. Arabic and English are both first-class, RTL included.
🗺️ Will paths work on my machine?
Yes. Nothing is tied to one machine.
- ⚙️ Set the variables a skill names:
NJ_PLUGIN_ROOT,JIRA_BASE_URL,PORTAL_URL… - 🏠 Or keep the defaults under your home folder.
In the plugin since 2.0.2. A skill that picks and cleans a narrator's voice, and prints PASS or FAIL for every step.
- 🎯 Scout a voice that fits the character. Describe age, origin, accent and mood; the skill turns it into numbers and measures licensed voices against them.
- 🛠️ Engineer it once, at the source. The reference clip is cleaned once and every line is voiced once. No re-voicing until one sounds right.
- 🩹 Heal noise without cutting words. Hiss before or after a sentence is removed, and a gate checks the speech itself is untouched.
- 🎬 Direct it before it speaks. A direction sheet per character, a pronunciation lexicon, and consent and recording templates for hired voice actors. A child's voice is never cloned.
- 🔎 Describe a source voice by numbers. A CPU-only script reports pitch, formants, dialect and quality with a basis and a confidence on every line, never claims to have listened, and can block a clip that sounds like a child. It never judges a finished take.
One example (made-up data, to show the shape of the output; not a real measurement, not a real person):
BRIEF narrator, woman, 40 to 55, calm, British English, dry room
TARGET pitch 165 to 210 Hz, 130 to 150 words a minute, little echo
SOURCES public domain or written consent only, one clip per speaker
REFERENCE CLIP (the one you will clone)
REF-QUALITY FAIL 0.6 s of room tone at the start
# cleaned once, word-safe, then measured again
REF-QUALITY PASS
EACH GENERATED LINE (one take)
TAKE-QUALITY PASS
VOICE-EDGE-NOISE FAIL 1.9 s of hiss after the last word
# cleaned without touching the speech
VOICE-EDGE-NOISE PASS speech samples identical
NEXT the top 3 voices go to your ear. You decide.
Install: the same two lines as NJ-Kit (Plugin ↑). nj-narration is one of the 27 plugin skills; after installing, say "use nj-narration".
Plugin only: /plugin install nj-kit@nj-kit. Any other agent that reads SKILL.md: copy the folder nj-plugin/skills/nj-narration.
Honest note: NJ-Narration ships no voices and no audio samples. It includes no voice engine and picks none for you: you bring a licensed voice and an engine you are allowed to use. The numbers decide what reaches your ear; your ear decides last.
Every skill ends in a gate: a script that checks the result instead of trusting it.
- 🖨️ The last line it prints is
PASSorFAIL, and the exit code matches (0 or 1). - 📍 A FAIL names what failed: the file, the line, the rule. It never prints a secret it found.
- 🔁 On FAIL: one fix, then run the gate again. No "should work".
- 🧪 Most scripts carry a
--selftestthat proves each FAIL path still fires.
This repo follows it too: python scripts/publish-check.py before every push, python scripts/skill-table.py --check for this README. CI runs both.
- 📜 NJ-Kit is MIT.
- 📊
nj-chartdrives Flint by Microsoft Corporation (MIT). It adds rules and wiring and does not copy Flint's code. - 🎨 Bundled third-party skills and vendored libraries keep their own licences: THIRD_PARTY.md.
- 🔤 No font files ship here. Skills that name a typeface load it from your machine and fall back to a system font.
- 📁 One skill per folder, with a
SKILL.md(nameanddescriptionin the frontmatter). - ✅ End it in a gate that prints PASS or FAIL.
- 🔐 No secrets, no client or project data, no absolute paths: read them from environment variables or
~/.claude/secrets/. - 🧪 Run
python scripts/publish-check.pyandpython scripts/skill-table.pybefore you open a pull request.
Details: CONTRIBUTING.md.
| 👤 Portfolio | Nader's work |
| 🧪 QA Wrap | Test the page, get the bug report. Source |
| 📄 Business-Wrap | Evidence in, one document in two languages. Source |
| 🧾 Profile-Wrap | Your LinkedIn on autopilot, you stay the boss. Source |
| 🎬 Story-Wrap | The series «مكتب المفقودات» |
| 🐙 GitHub · 💼 LinkedIn · ✉️ Contact | |
| 🌐 This kit's website | English · Arabic |
NJ-Kit منهج عمل مجاني و44 مهارة لـ Claude Code. تنتهي كل مهارة بسكربت يفحص النتيجة ويطبع PASS أو FAIL، فتعني «تم» أن فحصًا جرى فعلًا.
- 🚀 ابدأ: الصق السطرين في Claude Code، فتحصل على 27 مهارة في نحو دقيقة. السطران ↑
- 🧰 الحزمة كاملة: يضيف مثبّت الحزمة الـ17 الباقية. المثبّت ↑
- 📂 أي وكيل: يقرأ ملفات
SKILL.md؟ انسخ مجلد مهارة واحدة، بلا مثبّت. - 🌍 العربية والإنجليزية بالمستوى نفسه، مع دعم الكتابة من اليمين إلى اليسار ومدقق لغوي للنص العربي.
- 🎙️ NJ-Narration (ضمن الإضافة،
nj-narration): مهارة تختار صوت الراوي المناسب للشخصية، وتهندسه مرة واحدة من المصدر، وتعالج الضجيج قبل الجملة وبعدها دون قصّ الكلمات. لا تأتي بأي أصوات ولا بعينات صوتية. مثال بالنص ↑ - 🆕 جديد في 2.3.3 (الإصدار v2.3.3 على GitHub): بوابة الصوت في
nj-writerتسمح لاسم منتج مسجّل فيlatin_brandsأن يبقى بالأحرف اللاتينية في نص التعليق العربي فيُنطق كما هو بالإنجليزية. وفي 2.3.2 (الإصدار v2.3.2 على GitHub): قالب البلاغ فيnj-jiraيذكر الآن قاعدة أسماء ملفات الأدلة بالعربية، واختبارnj-qaالذاتي يغطي قواعد هذه الأسماء. وفي 2.3.1 (الإصدار v2.3.1): أسماء ملفات الأدلة بالعربية فيnj-qaوnj-jira، وقائمة المهارات في الموقع تُولَّد من ملفاتSKILL.md. وفي 2.3.0 (الإصدار v2.3.0): nj-chartللرسوم البيانية ولوحات المؤشرات (على محرك Flint من Microsoft برخصة MIT)، وnj-qaلاختبار ملاحظات Jira بفريق من الوكلاء، وagent-haloلإطار ملوّن يميّز نافذة كل وكيل. - 🔐 لا بيانات خاصة: يمرّ كل إصدار على
scripts/publish-check.pyقبل النشر، فلا كلمات مرور ولا بيانات مشاريع ولا مسارات أجهزة ولا ملفات خطوط. - 💸 مجانية ومفتوحة المصدر برخصة MIT، وغير تابعة لشركة Anthropic ولا معتمدة منها.
- 🌐 الموقع بالعربية: nj-burrito.github.io/NJ-Kit/ar
| Who | Contact | |
|---|---|---|
| 🛠️ Creator | Nader Alzghoul (@NJ-Burrito) | naderalzghoulbusiness@gmail.com · Portfolio · LinkedIn |
Want to be listed here? See CONTRIBUTING.md.
Contributing · Security · Changelog · Third-party credits
Free and open source under the MIT licence. Not affiliated with or endorsed by Anthropic.

