האדריכלות, כמפה.
אחת-עשרה Stops על הקו. בכל Stop, שלוש דרכים לעשות זאת: הרץ את הסקיל, prompt ל-AI שלך, או עשה ביד. העבר את העכבר מעל כל מונח מודגש להגדרה פשוטה בעברית.
Fork ל-Stack ב-GitHubפעם ראשונה? כנראה שתרצה מתחילים כאן — מדריך ידידותי במקום. זה אותו דבר אבל חם יותר, בלי ז'רגון, כתוב למישהו שפותח טרמינל בפעם הראשונה. העמוד הזה הוא הליווי הטכני לבונים.
בחר את מצב שמתאים לרגע שלך.
כל Stop במפה למטה מציעה שלושה נתיבים לאותו קו סיום. במה שלא תבחר, תסיים עם אותו חלק עובד של ה-Stack. בחר לפי כמה זמן ומוח אתה רוצה להוציא כרגע.
/exoskeleton-install). The skill walks the whole stop for you. You watch what happens and ללמוד תוך כדי קריאה. הנתיב המהיר ביותר. מומלץ להרצות ראשונה.bash + python3. On Windows, הרץ Claude Code בתוך WSL2 (הנתיב המתועד ל-Claude Code על Windows ממילא). PowerShell native או cmd not נתמך ואין תוכנית להוסיף אותו — האסימטריה שה-Guards האלה תלויים בה חיה ב-POSIX shell, לא ב-Windows shells.
The מפה.
ה-Workshop.
סביבת הפיתוח המקומית שלך חייבת לשקף איך production ייראה. בנה את ה-Workshop קודם — כל השאר תלוי בה.
שלושה חוקים: אותם container צורה כמו ב-production; תצוגה מקדימה חיה שעונה על ה-URL של עצמה; פקודה אחת מעלה את כל ה-Stack.
- ●macOS — התקן Docker Desktop ל-Mac (pick the right chip: Apple Silicon or Intel — check with
uname -m). Launch it; wait until the whale icon in the menu bar stops animating. - ●Linux — Docker Engine via the official one-liner:
curl -fsSL https://get.docker.com | sudo sh. Then add yourself to the docker group so you don't needsudoevery time:sudo usermod -aG docker $USER, then log out and back in (or runnewgrp docker). - ●Windows — התקן WSL2 קודם (פתח PowerShell כמנהל מערכת →
wsl --install→ reboot → finish the Ubuntu first-run setup), then install Docker Desktop ל-Windows עם ה-backend של WSL2 מופעל. Every command in this guide runs inside the WSL2 Ubuntu shell — not the Windows CMD or PowerShell you used for the WSL2 install.
docker info returns details (not "Cannot connect to the Docker daemon").▸ מצב 1 · הרץ את הסקיל
Invoke /exoskeleton-local. The skill asks for your stack, then:
- Generates
docker-compose.ymlmirroring your production shape — same base image, same DB engine, same web server. - מתקין את ה-source שלך כ-volume כך שינויי קבצים חיים בלי rebuild.
- Writes a
start.shthat verifies prereqs and brings the stack up. - Runs
./start.shfor you and confirms the stack is live.
כשהוא יסיים תראה:
# ./start.sh output ✓ Docker running ✓ Stack up Web: http://localhost:8080
▸ מצב 2 · Prompt ל-AI שלך
I want a Docker-based local dev environment that mirrors production: Web framework: [DJANGO / RAILS / NEXT.JS / etc.] Database: MARIADB (default — or postgres / sqlite) Live preview port: 8080 Write me docker-compose.yml + start.sh. Mount my source as a volume for live reload. Make start.sh executable. Run it. אמת with curl.
▸ מצב 3 · עשה זאת בעצמך
docker-compose.yml
services:
web:
image: [your-base-image]
volumes:
- .:/app
ports:
- "8080:8080"
depends_on: [db]
db:
image: mariadb:11
environment:
MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MARIADB_DATABASE: ${DB_NAME}
volumes: [dbdata:/var/lib/mysql]
volumes:
dbdata:
start.sh
#!/usr/bin/env bash
set -euo pipefail
docker compose up -d
echo "Web: http://localhost:8080"
Then chmod +x start.sh && ./start.sh.
curl -s http://localhost:8080מחזירה HTTP 200.- עריכת קובץ מפעילה live reload בלי rebuild.
ה-Stack בצורת production שלך רץ עכשיו על המחשב הנייד. אותם containers שהשרתים שלך ירוצו.
The ידני.
CLAUDE.md היא ההודעה הראשונה שה-AI רואה בכל סשן. לא תיעוד לבני-אדם. בצע אופטימיזציה לעיני ה-AI.
שלושה דברים נכנסים: חוקים קשיחים, ה- פרוטוקול בחירת כלים, ו-frameworks בעלי שם. עובדות שמשתנות חיות ב- knowledge graph, לא כאן.
▸ מצב 1 · הרץ את הסקיל
Invoke /exoskeleton-manual. It asks seven questions and writes:
CLAUDE.mdעם שם הפרויקט שלך, Layers, Stack, וחוקים קשיחים.- Three sub-agent definitions in
.claude/agents/. - Three slash commands in
.claude/commands/.
אורך יעד ל-CLAUDE.md: מתחת ל-500 שורות. רק חוקים נושאי-משא.
▸ מצב 2 · Prompt ל-AI שלך
Write me a CLAUDE.md operating manual.
Project: [NAME — one-line description]
Layers: [LIST — e.g. "DB, API, admin, mobile, public"]
Database: MARIADB (default — or postgres / sqlite)
Stack: [LANGUAGE + FRAMEWORK]
Sections needed: פרוטוקול לפני-שינוי, Tool Selection
Protocol, Four Guards, Sub-agent tiers, Commit rules.
Target: under 500 lines. Load-bearing only.
▸ מצב 3 · עשה זאת בעצמך
Create CLAUDE.md at your project root. Use the template at .claude/skills/exoskeleton/templates/CLAUDE.md.template as a starting point. Keep it under 500 lines.
- פתח סשן Claude Code חדש. שאל: „סכם את המשמעת שאתה עוקב אחריה.“
- ה-AI מציין את ה-frameworks שלך בחזרה — בלי שהזכרת אותם.
ה-AI בדיוק נכנס ל-repo שלך כבר יודע מה חשוב לך.
The כלים.
תן ל-AI חושים טובים יותר באמצעות MCP שרתים. כלי ברירת המחדל (קריאת קובץ מלא, grep, raw shell) שגויים על codebase אמיתי.
חמישה שרתי MCP עושים את רוב העבודה:
- Code intelligence — Serena. Retrieval ברמת סמלים דרך LSP. חותך הוצאת read-tokens ב-~10×.
- נתונים חיים — MCP מסד נתונים שמתאים ל-Stack שלך. AI שואל את הסכמה האמיתית במקום לנחש.
- אוטומציית דפדפן — Playwright MCP. AI לוחץ דרך התצוגה החיה שלך כמו משתמש.
- Doc retrieval — מביא חלקים של מסמכים ארוכים, לא את כל הקובץ.
- Knowledge graph — Stop 04.
▸ מצב 1 · הרץ את הסקיל
The /exoskeleton-local skill printed ה-MCP install list. Run each install command. The skill verifies each before moving on.
Then it updates CLAUDE.md with the Tool Selection Protocol (five questions, in order — code, doc, wiring, large output, conceptual).
▸ מצב 2 · Prompt ל-AI שלך
Install these MCP servers in my Claude Code:
1. Serena (code intel) - github.com/oraios/serena
2. jCodeMunch (repo-scale code intel, blast radius, dep graphs)
3. jDocMunch (section-level doc retrieval)
4. MemPalace (knowledge graph + memory drawers)
5. MariaDB live-DB MCP (default — or postgres / sqlite)
6. Playwright MCP for browser automation
For each: find the install command, run it, verify with a
small test query.
Then add a Tool Selection Protocol to CLAUDE.md. Five
questions, in order: code → doc → cross-cutting wiring →
large output → conceptual. Forbid Read on indexed code.
▸ מצב 3 · עשה זאת בעצמך
Use claude mcp add <name> ... per each tool's README. Test each. Update CLAUDE.md.
- שאל את ה-AI: "find every place we call
user.permissions." הוא משתמש ב-code intel, לא ב-grep. - שאל: „אילו עמודות נמצאות בטבלת users?“ הוא שואל את ה-DB החי.
ל-AI שלך יש עכשיו עיניים על הסכמה האמיתית. עמודות הזיותיות — נעלמו.
ה-Memory.
ה-AI בלי memory נכנס קר בכל סשן. ה-AI עם memory נכנס וכבר יודע מה תיקנת ביום שלישי שעבר.
שלושה סוגי ישויות להתחיל איתם: החלטה (למה בחרנו בזה), KnownBug (תיקנו את זה קודם), חוק (זה מה שלמדנו). hook שואל את ה-knowledge graph בכל סשן חדש ומריק ישויות רלוונטיות להקשר של ה-AI.
▸ מצב 1 · הרץ את הסקיל
Memory is bundled with /exoskeleton-guards (Stop 06). It installs the knowledge graph MCP, writes the SessionStart hook, the post-commit miner, and seeds three entity types.
Asks you for 5 recent bugs to seed as KnownBug entries.
▸ מצב 2 · Prompt ל-AI שלך
Build me a knowledge graph for this project.
Three entity types: החלטה, KnownBug, חוק.
Need:
1. A Python MCP server backed by SQLite. Tools:
kg_query, kg_add, kg_list.
2. A SessionStart hook (~12 lines of bash). Queries the
KG by current branch + recent diff. Dumps matches as
a system-reminder.
3. A post-commit hook that re-indexes the KG.
Then seed 5 KnownBug entries (I'll list).
▸ מצב 3 · עשה זאת בעצמך
Pick a KG store (Python + SQLite is simplest). Write a small MCP server. Write the SessionStart hook in .claude/hooks/session-start.sh. Seed entities manually.
- פתח סשן חדש על branch הקשור ל-KnownBug שנזרע.
- ההודעה הראשונה של ה-AI מתייחסת לישות — לפני שאתה שואל משהו.
הפעם הראשונה שה-AI נכנס ואומר „תיקנת את זה ביום שלישי, הנה למה“ — ה-AI בדיוק הפך לקולגה.
The היררכיה.
אופרטור אחד. אדריכל אחד שמתכנן. מומחים שמבצעים. האדריכל לעולם לא כותב קוד. האופרטור חותם על כל החלטה.
▸ מצב 1 · הרץ את הסקיל
The Hierarchy is wired by /exoskeleton-manual (Stop 02). It writes three sub-agent הגדרות ופקודת slash אחת.
הסוכנים: architect (המודל הגדול ביותר, רק מתכנן), executor (מודל בינוני, מיישם), researcher (read-only).
The slash command: /plan dispatches ה-Architect, waits for your sign-off, then dispatches ה-Executor.
▸ מצב 2 · Prompt ל-AI שלך
Create three Claude Code sub-agent definitions:
1. architect.md - largest-tier. Plans only. Never writes code.
Produces a plan: Mission / Layers / Order / Acceptance /
Verification / Commit msg. מחכה for operator sign-off.
2. executor.md - medium-tier. Implements plan literally.
Full git autonomy.
3. researcher.md - medium-tier. Read-only. SELECT-only DB.
And one slash command:
4. /plan <description> - dispatches Architect → operator
sign-off → Executor with approved plan.
▸ מצב 3 · עשה זאת בעצמך
Copy templates from .claude/skills/exoskeleton/templates/agents/ and templates/commands/plan.md.
- Invoke
/plan add a soft-delete field to the customer entity. - האדריכל מייצר תוכנית. מחכה שתאמר „קדימה“ לפני שקוד זז.
בדיוק עצרת את ה-AI מלעשות את הטעות היקרה ביותר בתוכנה: מתחיל עבודה שעוד לא הבין.
The ארבעה Guards.
לא-AI. Bash ו-Python. Regex + קבצי מצב. AI יכול לטעון כל עמדה בצורה משכנעת. אי-אפשר לשכנע regex. האסימטריה הזאת היא מה שעושה את כל ה-Stack בר-הפצה.
ארבעת ה-Guards: פרוטוקול לפני-שינוי (מזהיר על עריכות לקבצים נושאי-משא בלי query מקדים ל-KG), Schema-אמת (מסרב לפעולות DB הרסניות על טבלאות לא-בדוקות), Parity Check (שער pre-commit; מסרב אם Layers לא מסכימות), רענון KG (post-commit; בונה מחדש את מפת המערכת).
▸ מצב 1 · הרץ את הסקיל
Invoke /exoskeleton-guards. The skill copies four hook templates, replaces placeholders with your project specifics, makes them executable, activates the git hooksוביצוע smoke-test לכל Guard.
מצב ברירת מחדל להתקנות חדשות: WARN. שדרג ל- BLOCK ברגע שאתה סומך עליהם.
▸ מצב 2 · Prompt ל-AI שלך
Install four non-AI guards for my project. Bash + Python only.
1. .claude/hooks/pre-change-protocol.sh — PreToolUse hook
on Edit/Write. Warns when load-bearing files are about
to be edited without a prior KG query this session.
2. .claude/hooks/schema-verify.sh — PreToolUse on the
live-DB MCP. Parses SQL for destructive verbs
(INSERT/UPDATE/DELETE/ALTER/DROP/TRUNCATE/RENAME).
Refuses if target table wasn't inspected this session.
3. .githooks/pre-commit — parity check on every staged
file. Refuses if any two layers disagree.
4. .githooks/post-commit — background-runs the KG miner.
Wire them. Activate: git config core.hooksPath .githooks
Default mode: WARN.
▸ מצב 3 · עשה זאת בעצמך
Copy templates from .claude/skills/exoskeleton/templates/hooks/. chmod +x everything. Activate git hooks. Test each guard.
- נסה SQL הרסני בלי לבדוק את הטבלה. Schema-אמת מסרב.
- Commit שינוי לLayer אחת בלבד. Parity Check מסרב.
ה-AI בדיוק פגע בקיר שהוא לא יכול לעבור באמצעות טיעון. האסימטריה הזאת שלך עכשיו.
ה-Layers.
לרוב הפלטפורמות יש 3–7 Layers. לכל אחת קהל וכותב שונה. אם שתיים מהן מפסיקות להסכים על משמעות של שדה, מישהו מקבל שיחה למספר הלא נכון ביום חתונה.
▸ מצב 1 · הרץ את הסקיל
Invoke /exoskeleton-guards if you haven't. It ships a parity-check.sh.template.
For your first entity (recommend: customer or user): the skill asks which fields are on each layer, then writes the fields_in_* functions for you. Tests by staging a one-line change.
▸ מצב 2 · Prompt ל-AI שלך
Customize parity-check.sh.template for the [ENTITY] entity. For each of my five layers, find which fields exist: - Database: query my schema - API: parse my serializer / API definition - Admin: parse my admin form - Mobile: parse my Codable / model - Public: parse my public template Generate fields_in_*() functions. Smoke-test by staging a one-line edit. If two layers disagree, the gate refuses.
▸ מצב 3 · עשה זאת בעצמך
Copy parity-check.sh.template to parity-check.sh. For each entity, implement five fields_in_* functions. Each returns a sorted list of field names per layer.
- הוסף שדה חדש רק ב-DB. נסה לעשות commit. השער מסרב ומציין את ה-Layers החסרות.
המודל שלך עכשיו פיזית לא יכול לשלח פיצ'ר חצי-גמור.
ה-Sync.
רוב האפליקציות מתות ביום שהמשתמש אופליין. בנה לאולם עם WiFi גרוע, לא ל-happy path. ניתן לדילוג אם אין לך אפליקציית מובייל.
כל רשומה נושאת חבילת מטא-נתונים קטנה (מזהה, מונה גרסה, hash, דגל soft-delete, חותמות זמן לכל שדה). הטלפון מחזיק שיקוף מקומי. עריכות אופליין נכנסות לתור. הן מתנקזות בעת חיבור מחדש. ה-merge בצד השרת מוסמך לכסף ולמצב. (שם אקדמי: CRDT-סמוך.)
▸ מצב 1 · הרץ את הסקיל
Sync is too stack-specific for full automation. /exoskeleton-deploy instead walks you through the design choices, recommends a sync engine for your stack (Replicache, PowerSync, or roll-your-own), and writes a sync-contract.md ה-AI honors going forward.
▸ מצב 2 · Prompt ל-AI שלך
Build offline-first sync for my mobile app.
Stack: [LANGUAGE], DB: MariaDB (default)
Help me:
1. Choose a sync engine (Replicache, PowerSync, custom).
2. Define per-record metadata: identifier, version, hash,
soft-delete, per-field timestamps.
3. Set merge precedence: server wins for money + state;
phone wins for free-text.
4. Wire the mobile local mirror.
5. Write a sync-contract.md.
▸ מצב 3 · עשה זאת בעצמך
בחר מנוע. קרא את התיעוד שלו. הגדר את סכמת המטא-נתונים שלך. כתוב את לוגיקת ה-merge. תעד את החוזה.
- מצב טיסה דלוק. עשה שלוש עריכות. הפעל מחדש WiFi. עריכות מתנקזות בשקט. אין spinner, אין popup.
המשתמש שלך בדיוק שרד הפסקת WiFi בלי לדעת שהייתה אחת.
The אינטגרציות.
לכל מערכת חיצונית יש יום רע. תכנן ליום הזה. כל אינטגרציה נכשלת סגור.
עבור כל מערכת חיצונית שאתה תלוי בה (תשלומים, אימייל, יומן, אחסון, webhooks), עטוף את הקריאה כך שאם המערכת נכשלת, הקוד שלך מחזיר „ננסה שוב אחר-כך“ — לא „הצלחה“. בנוסף: פרימיטיבי rate-limit על POST endpoints ציבוריים, ו- SSRF Guard על כל URL fetch בצד שרת.
▸ מצב 1 · הרץ את הסקיל
/exoskeleton-deploy handles integrations as a sub-step. For each external system, the skill walks the contract, sets up the fail-closed wrapper, and documents it in integration-מפה.md.
▸ מצב 2 · Prompt ל-AI שלך
For every external integration (payments, email, calendar,
storage, webhooks):
1. Wrap with fail-closed logic. If external errors,
return "we'll retry later" — not "success."
2. Rate-limit every public POST endpoint.
3. SSRF guard: refuse fetches to internal IPs and cloud
metadata.
4. Document in integration-מפה.md.
For each, show me a phantom-success failure mode my current
code might have, and the fix.
▸ מצב 3 · עשה זאת בעצמך
עבור כל אינטגרציה: כתוב wrapper. בדוק את נתיב הכשל. הוסף rate-limit + Guard SSRF. תעד את החוזה.
- השבת רשת ל-payment processor שלך. נסה לחייב. פלטפורמה queues + אומרת אמת. אין הצלחה-רפאים.
הפלטפורמה שלך עכשיו אומרת אמת תחת לחץ.
ה-Deploy.
אותה טופולוגיית container ב-production כמו על השולחן. „עובד על המכונה שלי“ מפסיק להיות אופן כשל אפשרי כשהמכונות זהות.
Production רץ על VPS עם אותו docker-compose.yml כמו מקומי. reverse-proxy בשם Caddy מנפיק אוטומטית TLS לדומיין שלך. סקריפט ה-deploy מבצע גיבוי מסד נתונים לפני שנוגע בכלום; אם בדיקת התקינות שלאחר deploy נכשלת, הגרסה הקודמת משוחזרת אוטומטית.
▸ מצב 1 · הרץ את הסקיל
Invoke /exoskeleton-deploy. The skill לעולם לא רץ אוטומטית — אתה חייב להקליד אותה. היא:
- מאמת שה-Stack המקומי שלך ירוק קודם.
- שואל על SSH host, משתמש, נתיב key, דומיין.
- Generates
bin/vps/deploy.sh(backup → pull → up → health-check → rollback-on-fail). - Generates
bin/vps/rollback.sh, the Caddyfile, the env example. - מוביל אותך דרך ה-deploy המפוקח הראשון.
Secrets never get committed. .env with real values lives on the server, not in the repo.
▸ מצב 2 · Prompt ל-AI שלך
Set up production deployment.
VPS: [HOST/IP], user [SSH_USER], domain [DOMAIN].
Generate:
1. bin/vps/deploy.sh - backup → pull → up → health-check
→ rollback-on-fail. Takes a DB backup first.
2. bin/vps/rollback.sh - restore latest backup, revert
to HEAD~1, restart.
3. etc/Caddyfile.template - Caddy reverse-proxy with
auto-TLS for my domain.
4. etc/.env.example - every env var production needs,
with comments. Never commit real secrets.
Walk me through the first supervised deploy. Stop before
any destructive command and confirm.
▸ מצב 3 · עשה זאת בעצמך
השג VPS. התקן Docker. העתק את docker-compose.yml שלך + שירות Caddy. כתוב deploy.sh ו-rollback.sh ביד. בדוק קודם על שרת קורבן.
- Deploy רץ ב-< 2 דק. גיבוי לפני שנוגעים בכלום. בדיקת תקינות עוברת. URL ציבורי מחזיר 200.
- שבור את ה-deploy בכוונה. Rollback נורה אוטומטית. Production נשאר למעלה.
ה-Stack שלך רץ על שרת עם אותם containers כמו במחשב הנייד. Production קיים.
ה-Red Team.
נתוני לקוחות אמיתיים ראויים לבגרות אבטחה אמיתית. הגנה לעומק. מספר Guards לא קשורים על כל משטח רגיש, כך ש- אף כשל יחיד לא קטסטרופלי.
שני איומים להגן מפניהם
איום יומיומי: הסורק האקראי באינטרנט שמוצא את הפלטפורמה שלך במקרה ועובר על המשטח הציבורי בחיפוש אחר כל דבר default, exposed, או רדום.
איום Tail-Risk: התוקף הממוקד שבאמת רוצה את נתוני הלקוחות במסד הנתונים שלך.
האדריכלות מנצחת את הראשון בנוחות ומאטה את השני מספיק כך שכל דבר שהם נוגעים בו משאיר עקבות.
תשעת ה-Guards של הגנה לעומק
1. כסף + מכונות מצב מחושב מחדש ממקורות קנוניים בשרת. לעולם לא נסמך מהמסך.
2. POST endpoints ציבוריים rate-limited עם פרימיטיבי fail-closed.
3. URL fetches בצד שרת מוגן מפני IPs פנימיים ומטא-נתוני cloud (SSRF Guard).
4. סיסמאות מבוצע בו hash עם פונקציית key-derivation מודרנית memory-hard. משודרג אוטומטית בכניסה הבאה.
5. קודי 2FA עמיד-replay. קודים שבוצע בהם שימוש לא ניתנים לשימוש חוזר.
6. HTML מסופק על-ידי משתמש (תבניות אימייל, בלוקי page-builder) עברו sanitize בזמן שמירה, לא ב-render. תוכן שמור כבר בטוח.
7. קבצים שהועלו content-type נבדק מול ה-bytes האמיתיים, לא הסיומת.
8. CSP headers נאכף בכל תגובה. הפרות מדווחות.
9. TLS מונפק אוטומטית על-ידי Caddy ומחודש בשקיפות. שום דבר לא מדבר plaintext לעולם החיצוני.
▸ מצב 1 · הרץ את הסקיל
As its closing step, /exoskeleton-deploy walks the nine-guard checklist for your stack. For each item it asks: האם זה במקומו, איפה, מה נתיב הקובץ? Items already covered get noted in SECURITY.md. Items missing get a stub TODO with a recommended primitive (e.g. "rate-limit: use express-rate-limit / Flask-Limiter / Rack::Attack — pick one"). Stack-agnostic by design — the skill recommends the right primitive for your language, never invents one.
For ongoing red-team: dispatch a sub-agent with an adversarial review prompt against every diff. Findings get fixed forward or require a typed override recorded in SECURITY.md.
▸ מצב 2 · Prompt ל-AI שלך
Red-team my codebase against the nine-guard checklist: 1. Money + state recomputed server-side 2. POST endpoints ציבוריים rate-limited 3. SSRF guard on server-side URL fetches 4. Modern password hashing + auto-upgrade 5. 2FA replay protection 6. HTML sanitized at save 7. קבצים שהועלו content-type checked by bytes 8. CSP enforced + reported 9. TLS auto-issued For each: find one specific place I might be exposed. Tell me the fix without naming the exact attack shape (I don't want a writeup that becomes a checklist for attackers). Write findings into a SECURITY.md.
▸ מצב 3 · עשה זאת בעצמך
Walk the nine-item list yourself. For each: confirm the guard exists, write where it is in SECURITY.md, and add a test that demonstrates it works. Schedule a quarterly review.
- אתה יכול לענות „איפה ה-Guard הזה מיושם?“ עבור כל אחד מתשעת הפריטים, לפי נתיב קובץ.
- A basic security scanner (e.g.,
nuclei) against your public endpoints comes back clean for default + exposed checks.
פיצ'ר לא גמור כשהוא עובד. הוא גמור כשהוא נכשל בבטחה.
Exoskeleton — חבילת הסקילים.
המאמר נקרא Two Suits כי זה הסיפור. הדבר שעושה את העבודה נקרא exoskeleton. החבילה משלחת את כל מה שקראת עליו למעלה כסט של Claude Code skills שמופעלים בפקודה אחת.
/exoskeleton-install — orchestrator (מריץ את השאר לפי סדר)
/exoskeleton-local — Workshop (01) + כלים (03)
/exoskeleton-manual — ידני (02) + היררכיה (05)
/exoskeleton-guards — Memory (04) + Guards (06) + Layers (07)
/exoskeleton-deploy — אינטגרציות (09) + Deploy (10) + Red Team (11)
# Install the bundle $ cd your-repo $ cp -r path/to/exoskeleton .claude/skills/ $ claude > /exoskeleton-install
Repository: github.com/christianmerkel/exoskeleton (planned). Stack-agnostic — you provide the seven specifics in the prompts.
הרגלים שה-AI לא יכול לראות לא קיימים.
כתוב אותם פעם אחת. צפה בהם נדבקים.