MAJI-Skills
Health Gecti
- License — License: NOASSERTION
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 17 GitHub stars
Code Uyari
- Code scan incomplete — No supported source files were scanned during light audit
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Stop repeating yourself to Claude. 5 collaboration skills — token discipline, scope-drift guards, frustration detection. Measured -18% mean / -28% P90 output tokens. AGPL v3.
🛠 MAJI Skills
Stop repeating yourself to Claude.
Four patterns that make Claude listen the first time. Save ~75% tokens. Ship without rework. Free.
⬇️ Install in 30 seconds · ⭐ Star this repo · 🔗 Share on LinkedIn
🎯 Why You Should Use MAJI Skills
Every Claude Code session, you're fighting the same battles:
- 😩 Claude extrapolates beyond what you asked — fixes the typo AND refactors three files you didn't want touched
- 💸 Token bills creep up because Claude responds with paragraphs of preamble before the actual answer
- 🔁 You have to re-explain your working style every session — Claude forgets you want bullets, not essays
- 🚨 Claude treats "let's discuss this" as "let's build it now" — and you delete 11 commits to recover
- 😤 When you say "that's not right", Claude tries variant 2, variant 3 — instead of stopping to ask what you actually want
MAJI Skills fix all of this with a discipline layer that activates on every prompt.
What you get in 30 seconds:
- ✅ Claude recognises outcome-first prompts and skips the padding
- ✅ Decision modes — discuss / build / pause / pivot — eliminate ambiguity
- ✅ Frustration signals halt Claude instead of doubling down
- ✅ Pre-Action Gate prevents destructive surprises (force pushes, scope creep)
- ✅ ~75% token savings per exchange — banned padding phrases, compression modes, table-first output
- ✅ Works on any project, any language, any stack
- ✅ Free, AGPL v3 (strong copyleft), no signup, no telemetry
→ Install now · → See real before/after examples
✨ Skills in this Repo
5 core skills covering the highest-frequency dev workflows — chat, explain, debug, review, commit. Plus 5 experimental skills for less-frequent use cases.
Core Skills (5)
| Skill | Use case | Frequency | Tier |
|---|---|---|---|
| maji-mode | Foundation discipline (every Claude session) | Always | 🔴 Tier 1 — Install first |
| maji-commit | Auto-generate git commit messages | Daily | 🟠 Tier 2 — High daily value |
| maji-explain | Fast layered explanations of code/concepts | Daily | 🟠 Tier 2 |
| maji-debug | 5-step disciplined debug protocol | Daily | 🟡 Tier 3 — Per task |
| maji-review | Severity-grouped code review | Daily | 🟡 Tier 3 |
Experimental Skills (5)
These exist but aren't validated by real-world use yet. See experimental/ folder.
maji-test · maji-doc · maji-refactor · maji-summary · maji-todo
A skill graduates from experimental to core when daily/weekly use is proven and external feedback validates value.
Recommended Install Order
flowchart LR
T1[🔴 Tier 1<br/>Install first] --> M[maji-mode]
T2[🟠 Tier 2<br/>High daily value] --> C[maji-commit]
T2 --> E[maji-explain]
T3[🟡 Tier 3<br/>Per task] --> D[maji-debug]
T3 --> R[maji-review]
style T1 fill:#8B1A1A,stroke:#0A0A0A,color:#FFFFFF
style T2 fill:#A88838,stroke:#0A0A0A,color:#0A0A0A
style T3 fill:#0A0A0A,stroke:#0A0A0A,color:#FFFFFF
style M fill:#F5F1EA,stroke:#0A0A0A
style C fill:#F5F1EA,stroke:#0A0A0A
style E fill:#F5F1EA,stroke:#0A0A0A
style D fill:#F5F1EA,stroke:#0A0A0A
style R fill:#F5F1EA,stroke:#0A0A0A
Quick start: Install Tier 1 first (maji-mode). Add Tier 2 within first session. Add Tier 3 within first week.
How Skills Compose
maji-mode is the foundation. Other skills inherit its discipline (no preamble, banned phrases, action-verb endings).
flowchart TD
M([maji-mode<br/>foundation])
M --> C[maji-commit]
M --> E[maji-explain]
M --> D[maji-debug]
M --> R[maji-review]
R -.composes with.-> D
style M fill:#8B1A1A,stroke:#0A0A0A,color:#FFFFFF
style C fill:#A88838,stroke:#0A0A0A,color:#0A0A0A
style E fill:#A88838,stroke:#0A0A0A,color:#0A0A0A
style R fill:#F5F1EA,stroke:#0A0A0A
style D fill:#F5F1EA,stroke:#0A0A0A
maji-mode — Claude Collaboration Discipline
A discipline layer between you and Claude. Activates 4 patterns that make Claude listen properly the first time — saving tokens, reducing rework, and preventing scope drift.
maji-commit — Auto-generate Commit Messages
Reads your git diff and writes a clean commit message in conventional commits format. No manual typing, no overthinking the wording.
You stage changes → type "maji-commit" → Claude outputs:
feat(auth): add Google OAuth flow
Composes with maji-mode for terse, no-preamble output.
maji-explain — Fast, Layered Explanations
Explains code, libraries, errors, or concepts in 3 layers: 1-sentence answer → 5-bullet detail → deep-dive only on request. No "let me walk you through this".
useEffect runs side effects after a React component renders,
with optional dependency tracking.
Key points:
• Fires after the DOM updates, not during render
• Dependency array controls re-runs
• Return a function to clean up
• Gotcha: stale closures from missed deps
Want deeper detail on dependency arrays or cleanup timing?
maji-debug — Disciplined Debug Protocol
Turns Claude into a debug partner who slows down to think, not a guess-and-check refactor machine. 5-step protocol: read symptom → form hypothesis → verify → Pre-Action Gate → minimum-change fix.
SYMPTOM TypeError on login.ts:14 — user.email undefined.
HYPOTHESIS API response shape changed; user nested under data.
VERIFICATION Confirmed in api/types.ts — LoginResponse wraps user.
FIX response.user.email → response.data.user.email
WHY Aligns with current type. No other consumers.
maji-review — Disciplined Code Review
Reviews a PR, diff, or file and outputs structured feedback grouped by severity. No "Great work overall!" preamble. No trailing "let me know if you'd like to discuss". Just findings.
3 findings: 🔴 2 critical, 🟡 1 important.
🔴 Critical (2)
──────────────
src/auth.ts:3 — SQL injection via string interpolation
src/auth.ts:4 — Plaintext password comparison
🟡 Important (1)
──────────────
src/auth.ts:5 — Static token, not user-bound
Verdict: Block merge. Fix critical findings first.
Composes with maji-mode for evidence-first output.
🧊 Status: Validation Phase
The 5 core skills are frozen for 30 days of real-world validation (started 7 May 2026). No new skills will be added during this window. Existing experimental skills stay in experimental/.
A skill graduates from experimental to core when:
- Daily/weekly use proven by repo owner
- 1+ external contribution (PR, issue, testimonial)
- 30+ days of validation
After validation, decisions made based on real signal — not speculation.
🧠 How maji-mode Works
Click to expand flow diagram
flowchart TD
A[User Prompt] --> B{maji-mode<br/>active?}
B -->|No| Z[Standard Claude<br/>response]
B -->|Yes| C[Read prompt fully]
C --> D{Identify<br/>Decision Mode}
D -->|Discuss| E[Plan + ask<br/>clarifying questions]
D -->|Build| F[Pre-Action Gate]
D -->|Pause| G[Stop. Wait.]
D -->|Pivot| H[Strip + redirect.<br/>NO iteration.]
F --> I{All 4 gate<br/>checks pass?}
I -->|No| J[ASK before acting]
I -->|Yes| K[Execute]
E --> L[Output]
K --> L
G --> L
H --> L
J --> L
L --> M{Frustration<br/>signal detected?}
M -->|Yes| N[STOP. Reconsider.<br/>Don't iterate.]
M -->|No| O[End with action verb.<br/>Offer next step.]
N --> C
style A fill:#F5F1EA,stroke:#0A0A0A,color:#0A0A0A
style B fill:#A88838,stroke:#0A0A0A,color:#0A0A0A
style D fill:#A88838,stroke:#0A0A0A,color:#0A0A0A
style F fill:#8B1A1A,stroke:#0A0A0A,color:#FFFFFF
style I fill:#8B1A1A,stroke:#0A0A0A,color:#FFFFFF
style M fill:#8B1A1A,stroke:#0A0A0A,color:#FFFFFF
style N fill:#8B1A1A,stroke:#0A0A0A,color:#FFFFFF
style J fill:#A88838,stroke:#0A0A0A,color:#0A0A0A
The 4 patterns:
- Outcome before context — say what you want, Claude responds; rationale optional
- Mode-tagged prompts — discuss / build / pause / pivot — Claude treats them differently
- Frustration recognition — when you signal "wrong direction", Claude halts instead of doubling down
- Pre-action confirmation — destructive or scope-expanding actions need explicit OK
📊 Decision Modes Visualised
Click to expand decision modes diagramflowchart LR
P[User Prompt] --> M{Decision Mode}
M -->|"discuss first<br/>propose plan<br/>what do you think"| D[💬 DISCUSS<br/>Plan + clarify]
M -->|"proceed<br/>ship<br/>approve"| B[⚙️ BUILD<br/>Execute]
M -->|"hold on<br/>wait<br/>pause"| P2[⏸️ PAUSE<br/>Stop & wait]
M -->|"drop X<br/>start over<br/>change direction"| PV[🔄 PIVOT<br/>Strip + redirect]
style P fill:#F5F1EA,stroke:#0A0A0A
style M fill:#0A0A0A,stroke:#0A0A0A,color:#FFFFFF
style D fill:#A88838,stroke:#0A0A0A,color:#0A0A0A
style B fill:#8B1A1A,stroke:#0A0A0A,color:#FFFFFF
style P2 fill:#3A3A3A,stroke:#0A0A0A,color:#FFFFFF
style PV fill:#A88838,stroke:#0A0A0A,color:#0A0A0A
🎬 Real Before/After Examples
📌 Example 1 — Building a FeaturesequenceDiagram
actor U as User
participant C as Claude
rect rgb(245, 220, 220)
Note over U,C: WITHOUT maji-mode
U->>C: "Hey, I'm thinking maybe we could add a<br/>search feature, what do you think?"
C->>U: "Great idea! Several considerations:<br/>algorithms, indexing... should I explore first?"
U->>C: "Sure, I guess..."
C->>U: "I found these options... which sounds best?"
Note over U,C: 3 messages, nothing shipped
end
rect rgb(220, 245, 220)
Note over U,C: WITH maji-mode
U->>C: "Add search to dashboard. Discuss first."
C->>U: "Client-side filter or full-text DB?<br/>Recommend client-side. Approve?"
U->>C: "Approve"
C->>U: ✅ Implementation done
end
Saved: ~1500 tokens, 3 round-trips, mental overhead.
📌 Example 2 — The "Proceed" TrapWithout maji-mode
User: "Let's proceed phase by phase, plan stories and epics"
Claude: [scaffolds 10 stories, runs npm install, commits 11 times]
User: "Wait, what are you doing?" → has to delete everything.
With maji-mode
User: "Let's proceed phase by phase, plan stories and epics"
Claude: "Reading 'proceed' in discussion context — continuing to plan, not building yet."
No surprise commits.
Saved: ~3 hours and a deleted repo.
📌 Example 3 — Aesthetic MismatchWithout maji-mode
User: "That doesn't look right"
Claude: "Let me try a different color scheme..." [makes 5 changes]
User: "Still wrong"
Claude: "Let me try yet another approach..." [user rage-quits]
With maji-mode
User: "Not the right vibe"
Claude: "STOP — pivoting completely instead of iterating. Show me 1-2 reference sites with the look you want, or describe in 5 words."
User: "Linear style — minimal, dark, generous spacing" → clean pivot.
Saved: Massive frustration + 5+ wasted attempts.
📌 Example 4 — Destructive ActionWithout maji-mode
User: "Clean up old branches"
Claude: [force-deletes branches, resets remote tracking, some unmerged work disappears]
With maji-mode
User: "Clean up old branches"
Claude: "Pre-Action Gate: destructive op detected. Found 12 branches. Show list before delete?"
User reviews → surgical cleanup, no surprise loss.
Saved: Lost work prevention. Trust preserved.
📌 Example 5 — Token BurnWithout maji-mode (~200 tokens of padding alone)
"Great question! That's a really thoughtful approach. Let me think through this carefully and consider the various angles. I appreciate you bringing this up. Here's what I'm thinking..."
With maji-mode
"3 options. Recommend (b). Reason: ships fastest. [table]"
Saved: Across 50 messages = ~10,000 tokens = real $.
💸 Token Economy Math
xychart-beta
title "Token Cost Per Session"
x-axis ["Without maji-mode", "With maji-mode", "+ /jimat mode"]
y-axis "Tokens per exchange" 0 --> 700
bar [600, 150, 80]
| Item | Without maji-mode |
With maji-mode |
+ /jimat mode |
|---|---|---|---|
| Avg prompt+response | ~600 tokens | ~150 tokens | ~80 tokens |
| Savings per exchange | — | ~75% | ~87% |
| 100-message session | — | ~45,000 tokens saved | ~52,000 tokens saved |
| Power user (5 sessions/day) | — | ~$20/day saved on Pro tier | ~$23/day saved |
📦 Installation
Option 1 — User-level (recommended, applies to all projects)mkdir -p ~/.claude/skills
git clone https://github.com/Ijam18/MAJI-Skills.git
cp -r MAJI-Skills/maji-mode ~/.claude/skills/
Option 2 — Project-level (single project only)
mkdir -p ./.claude/skills
git clone https://github.com/Ijam18/MAJI-Skills.git
cp -r MAJI-Skills/maji-mode ./.claude/skills/
Option 3 — Always-on (loaded every session, every project)
Append the contents of maji-mode/SKILL.md to your ~/.claude/CLAUDE.md file:
git clone https://github.com/Ijam18/MAJI-Skills.git
cat MAJI-Skills/maji-mode/SKILL.md >> ~/.claude/CLAUDE.md
▶️ Usage
After installation, invoke at the start of any Claude Code session:
/maji-mode
Or it auto-activates via Claude's skill discovery if installed at user-level.
To verify it's active, your prompts should feel:
- More direct (less preamble)
- Better at scope (Claude asks before extrapolating)
- Token-aware (shorter responses by default)
👥 Who benefits most
| User type | Benefit fit |
|---|---|
| 🚀 Solo founders + indie hackers | High |
| 🌊 Vibe-coders (no formal CS) | Highest |
| 👨💻 Senior devs using AI as pair programmer | High |
| 🎨 Designers using Claude for code | High |
| 🎓 Teaching contexts | High |
| 🛠 Casual / weekend tinkerers | Lower (overhead may exceed benefit) |
❓ FAQ
How do I verify maji-mode is actually active?After install, type verify maji-mode in your Claude Code session. You should get a one-line confirmation showing 4 active patterns + current compression mode. If Claude responds with generic text instead, the skill isn't loaded — re-check install path.
No. The patterns reduce response length, which means Claude streams faster. You'll feel it especially on /dry and /jimat modes.
The skill format is Claude Code-specific, but the patterns are universal. Copy maji-mode/SKILL.md content into Cursor's .cursor/rules or Continue's system prompt and most patterns transfer. Decision modes, frustration signals, and banned phrases work with any LLM.
Yes — maji-mode/SKILL.md is just text. Fork the repo, edit the file, install your version. Common customizations:
- Remove banned phrases you don't mind (some users like "Great question!")
- Adjust compression default (some prefer slightly more verbose by default)
- Add your own magic phrases vocabulary
- Translate to your language
Works on any tier that supports Claude Code skills. Token savings matter most on metered API or hitting Pro tier limits — that's where the 75% reduction translates to real $$$.
How do I uninstall?Delete the skill folder:
rm -rf ~/.claude/skills/maji-mode
Or for project-level: rm -rf ./.claude/skills/maji-mode. If you appended SKILL.md to your ~/.claude/CLAUDE.md, edit that file to remove the section.
No. The skill is a static markdown file Claude reads locally. Zero telemetry, zero phone-home, zero tracking. AGPL v3 licensed — read the file, you'll see.
What if I miss the friendly tone?The patterns reduce padding but Claude still gives quality answers. If you want some warmth back, invoke compression less aggressively — skip /jimat mode and stick with default. Or fork and adjust the banned phrases list to allow some pleasantries.
Generally no — maji-mode defines response posture, not domain logic. It composes well with other skills (e.g., a code-review skill, a documentation skill). If you hit conflicts, file an issue with details.
Two options: (1) skip compression modes (/dry, /jimat) — default maji-mode is already terse but still readable. (2) Fork and remove the strict token discipline section — keep just the 4 patterns (outcome-first, decision modes, frustration signals, Pre-Action Gate) without banned phrases.
🤝 Contributing
PRs welcome. Patterns to add should be:
- ✅ Universal (not specific to one project / language / domain)
- ✅ Token-positive (saves tokens, doesn't cost more)
- ✅ Easy to explain in 1-2 sentences
- ✅ Backed by a real failure mode the pattern prevents
📜 License
AGPL v3 — strong copyleft. Use, modify, redistribute freely, but:
- Modifications and derivatives must also be AGPL v3
- If you run a modified version on a network server (SaaS), users must be able to access the source
- Cannot bundle in proprietary/closed-source products
- Must keep copyright notice and license text
See LICENSE.
🌱 About MAJI · Connect
MAJI (Malaysia Artificial Joint Institute) is an Applied AI movement that builds tools, runs workshops, and ships skills for people who want to use AI as a builder — not just a consumer.
Origin: Malaysia. Audience: anyone, anywhere.
Methodology: No Codes, Only Vibes — we don't teach coding, we teach building.
Questions, feedback, or sharing your experience? DMs open:
→ LinkedIn: Zarul Izham (Ijam)
→ Threads: @_zarulijam
Tag the repo when sharing — happy to feature builders using maji-mode in the wild.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi