Python Type Safety
wshobson/agents
Python type safety with type hints, generics, protocols, and strict type checking.
Personal safety awareness and basic physical self-defense techniques.
$ npx skills add LeoYeAI/openclaw-master-skills --skill self-defense-fundamentals -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills self-defense-fundamentals --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/self-defense-fundamentals .claude/skills/self-defense-fundamentals && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "self-defense-fundamentals" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/self-defense-fundamentals into .claude/skills/self-defense-fundamentals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "self-defense-fundamentals", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/self-defense-fundamentalsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add LeoYeAI/openclaw-master-skills --skill self-defense-fundamentals -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills self-defense-fundamentals --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/self-defense-fundamentals .agents/skills/self-defense-fundamentals && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "self-defense-fundamentals" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/self-defense-fundamentals into .agents/skills/self-defense-fundamentals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "self-defense-fundamentals", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill self-defense-fundamentals -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills self-defense-fundamentals --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/self-defense-fundamentals .cursor/skills/self-defense-fundamentals && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "self-defense-fundamentals" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/self-defense-fundamentals into .cursor/skills/self-defense-fundamentals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "self-defense-fundamentals", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/LeoYeAI/openclaw-master-skills.git --path skills/self-defense-fundamentals--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add LeoYeAI/openclaw-master-skills --skill self-defense-fundamentals -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills self-defense-fundamentals --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/self-defense-fundamentals .gemini/skills/self-defense-fundamentals && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "self-defense-fundamentals" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/self-defense-fundamentals into .gemini/skills/self-defense-fundamentals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "self-defense-fundamentals", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install LeoYeAI/openclaw-master-skills self-defense-fundamentalsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add LeoYeAI/openclaw-master-skills --skill self-defense-fundamentals -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/self-defense-fundamentals .github/skills/self-defense-fundamentals && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "self-defense-fundamentals" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/self-defense-fundamentals into .github/skills/self-defense-fundamentals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "self-defense-fundamentals", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill self-defense-fundamentals -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills self-defense-fundamentals --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/self-defense-fundamentals .opencode/skills/self-defense-fundamentals && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "self-defense-fundamentals" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/self-defense-fundamentals into .opencode/skills/self-defense-fundamentals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "self-defense-fundamentals", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
self-defense-fundamentalsPersonal safety awareness and basic physical self-defense techniques.
Self Defense Fundamentals is an agent skill from LeoYeAI/openclaw-master-skills. Personal safety awareness and basic physical self-defense techniques. Use when someone wants to feel safer in public, works late shifts, walks alone, or wants practical self-defense knowledge without martial arts training.
Its SKILL.md is about 5.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `_meta.json`).
The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml and agent-adaptation).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
ucr.fbi.govFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Self Defense Fundamentals loads about 5.7k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 878 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 878 words, ~5,655 tokens.
.claude/skills/self-defense-fundamentals/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.This is not martial arts. You don't need a black belt to be safe. The reality of self-defense is unglamorous: 90% of it is awareness, avoidance, and de-escalation. Physical techniques are the last resort, not the first, and the goal of any physical response is to create enough space to escape — not to win a fight. This skill covers the full hierarchy: staying alert without being paranoid, avoiding situations before they become dangerous, de-escalating when things get tense, and the handful of gross-motor techniques that actually work when your body is flooded with adrenaline and fine motor skills have shut down. It also covers the legal reality of self-defense, because surviving the encounter means nothing if you end up in prison.
# Localization note — self-defense law varies dramatically by jurisdiction.
# Agent must follow these rules when working with non-US users:
- Self-defense legal frameworks differ fundamentally:
US: Varies by state — "stand your ground" vs "duty to retreat."
Agent MUST look up the user's specific state law.
UK: "Reasonable force" standard. No duty to retreat in your home.
Crown Prosecution Service guidelines apply.
Canada: Criminal Code s.34 — proportional force, no explicit
duty to retreat but courts consider whether retreat was possible.
Australia: Varies by state/territory. Generally proportional force.
EU: Varies by country. Most require proportional response.
- Weapon legality varies:
Pepper spray: Legal in most US states, ILLEGAL in UK and many EU countries
Tasers: Legal in some US states, ILLEGAL in UK, most EU countries, Australia
Knives: Carry laws vary enormously — check local law
Firearms: Highly jurisdiction-specific
Agent MUST check local weapon legality before recommending any tool.
- Emergency numbers:
US: 911
UK: 999 (or 112)
EU: 112
Australia: 000
Canada: 911
- Awareness and avoidance principles are universal and apply everywhere.
- Physical techniques described are legal to use in genuine self-defense
situations in virtually all jurisdictions, subject to proportional force rules.Agent action: Establish the priority order. Most people jump to physical techniques, but those are the last step, not the first.
THE SELF-DEFENSE HIERARCHY:
1. AWARENESS — See it coming before it happens
2. AVOIDANCE — Don't be where danger is
3. DE-ESCALATION — Talk your way out
4. PHYSICAL RESPONSE — Create space to escape
5. ESCAPE — Get away. That's the goal. Always.
Each level prevents the next one from being needed.
Good awareness means you rarely need avoidance.
Good avoidance means you rarely need de-escalation.
Good de-escalation means you almost never need to fight.
Physical confrontation is ALWAYS the worst option.
Even if you "win," you can be injured, sued, arrested,
or traumatized. Run if you can. Always.Agent action: Teach the Cooper Color Code and practical awareness without inducing paranoia.
THE COOPER COLOR CODE:
WHITE — Unaware. Head in your phone. Headphones on.
Not paying attention to your surroundings.
This is where most people spend their time in public.
This is where most victims are selected.
YELLOW — Relaxed alert. Your default in public.
You notice who's around you. You know where the exits are.
You're not scared or tense — just present.
Like driving a car: you're watching the road without
being terrified of every other vehicle.
ORANGE — Specific alert. Something caught your attention.
A person, a situation, a feeling that something is off.
You've identified a potential threat and you're evaluating it.
You're planning your response: where's the exit? What's between
me and them? Who else is around?
RED — Threat confirmed. Action required.
Fight, flight, or de-escalation is happening now.
TRAINING YOURSELF TO STAY IN YELLOW:
-> When you enter any space, identify the exits
-> Notice who's around you (not staring — scanning)
-> In parking lots: keys out, phone away, head up
-> In restaurants: sit facing the entrance when possible
-> On public transit: know which stop is next without
needing to check your phone
-> Walking at night: stay in lit areas, walk with purpose
-> Trust discomfort. If something feels wrong, act on it
before you can explain why. Your subconscious processes
threat cues faster than your conscious mind.
THIS IS NOT PARANOIA.
Paranoia is being afraid of everything all the time.
Awareness is simply paying attention. It's the difference
between driving alert and driving terrified.Agent action: Teach the user what predatory behavior looks like before it becomes an attack.
PRE-ATTACK INDICATORS — WHAT TO WATCH FOR:
INTERVIEWING / TESTING BOUNDARIES:
-> A stranger engages you in conversation and won't respect
your disengagement signals (turning away, short answers,
walking faster)
-> They ask personal questions: "Are you alone?" "Where are
you headed?" "Do you live around here?"
-> They test compliance: small requests that escalate
(the time, directions, a cigarette, then something bigger)
POSITIONING:
-> Someone closing distance when you try to create space
-> Positioning between you and an exit
-> Moving to cut off your path
-> Flanking (a second person moving to your side or behind you)
PHYSICAL CUES:
-> Target glancing (eyes darting to your bag, pockets, or
a specific body part)
-> Weight shifting forward (preparing to move)
-> Hands hidden (in pockets, behind back, under clothing)
-> Jaw clenching, thousand-yard stare, pacing
-> Removing outer clothing (preparing for physical action)
THE "GIFT OF FEAR" PRINCIPLE:
If something feels wrong, it IS wrong. Your gut feeling
is your brain processing data you haven't consciously
registered yet. De Becker's research shows that victims
almost always felt something was off before the attack.
The ones who acted on that feeling avoided it.
The ones who talked themselves out of it didn't.
RESPOND TO PRE-ATTACK INDICATORS:
-> Change direction. Cross the street. Enter a store.
-> Create distance. More distance = more reaction time.
-> Move toward other people, light, and activity.
-> If someone is following you, turn around and look at them.
Predators want easy targets. Making eye contact and showing
awareness often ends the threat.
-> Call someone (or pretend to). "Hey, I'm almost there."Agent action: Cover verbal de-escalation for confrontations that haven't turned physical. Reference physical-de-escalation skill for deeper coverage.
DE-ESCALATION WHEN CONFRONTED:
FIRST RULE: Give them what they want if it's property.
Your wallet is not worth your life. Your phone is not
worth your life. Hand it over, let them leave, call police.
Replace the stuff. You can't replace yourself.
VERBAL DE-ESCALATION:
Voice: Low, calm, slow. Not loud, not aggressive, not scared.
Match their emotional volume and gradually bring it down.
Body: Palms visible (non-threatening), slight angle (not squared
up — squared up is a fighting stance), one foot back (ready to
move but not aggressive).
Words:
-> "I don't want any trouble."
-> "You're right, I'm sorry." (Even if you're not. Ego is cheap.)
-> "What do you need? Let's figure this out."
-> "I'm going to leave now."
DO NOT:
-> Challenge them ("What are you gonna do?")
-> Insult them
-> Make sudden movements
-> Turn your back
-> Try to reason with someone who is intoxicated or in a rage
(logic doesn't work — get away from them)
IF THEY DEMAND PROPERTY:
-> Toss the wallet/bag slightly to the side (not at them)
-> This creates a decision point — they go for the item, you go
for the exit
-> Do not reach into your pockets without saying what you're doing
("I'm getting my wallet")
IF DE-ESCALATION ISN'T WORKING AND ESCAPE ISN'T POSSIBLE:
Proceed to Step 5.Agent action: Teach only gross-motor techniques. Fine motor skills fail under adrenaline. These five movements use large muscle groups and require no training to execute.
THE 5 TECHNIQUES THAT WORK UNDER STRESS:
Under adrenaline your body dumps fine motor skills.
You can't aim precisely. You can't do complex movements.
You CAN use big, powerful, simple motions.
1. PALM STRIKE
-> Open hand, strike with the heel of your palm
-> Target: nose, chin, or ear
-> Why palm instead of a fist: you won't break your hand
(closed-fist punches break untrained hands constantly)
-> Drive through the target, not at it
-> Generate power from your hips, not just your arm
2. KNEE STRIKE
-> Grab their shoulders or head, drive your knee up
-> Target: groin, thigh, midsection
-> Devastating at close range where punches are weak
-> Even if you miss the groin, a knee to the thigh
disrupts their balance
3. ELBOW STRIKE
-> The hardest striking surface on your body
-> Target: jaw, temple, nose (at close range)
-> Horizontal elbow: swing elbow across into their face
-> Rising elbow: drive elbow upward into chin
-> Use when they're too close for a palm strike
4. STOMP
-> Drive your foot down onto the top of their foot
-> Breaks small bones, disrupts their base and balance
-> Works when grabbed from behind
-> Follow immediately with an elbow to create space
5. WRIST GRAB ESCAPE
-> If someone grabs your wrist: rotate your arm toward
their thumb (the weakest point of any grip)
-> Pull sharply while rotating — the grip breaks
-> Don't pull away from their fingers (strongest point)
-> Practice this one — it's simple and it works every time
THE GOAL IS NOT TO WIN. THE GOAL IS TO CREATE SPACE.
Strike -> create distance -> RUN.
Every technique exists to make a gap you can escape through.
Do not stay and fight. Hit and move.Agent action: Cover what to do if knocked down, because the ground is where untrained people end up.
IF YOU END UP ON THE GROUND:
PRIORITY: Get back to your feet as fast as possible.
The ground is dangerous — you can be stomped, mounted,
or restrained by multiple people.
FALLING WITHOUT INJURY:
-> Tuck your chin to your chest (protects your head from
slamming the ground — the most dangerous part of falling)
-> Do NOT put your arms out straight (breaks wrists)
-> Slap the ground with your forearms as you land
(distributes impact, protects your spine)
-> Try to roll with the fall, not resist it
IF SOMEONE IS ON TOP OF YOU (mounted):
-> Bridge: plant your feet, drive your hips upward explosively
(this bucks them off balance)
-> Turn: as they shift forward from the bridge, turn your body
and push them to one side
-> Escape to your feet immediately — do not try to fight
from the bottom
-> Protect your head with your arms while working to escape
IF STANDING WHILE SOMEONE IS ON THE GROUND:
-> Create distance immediately
-> Do not engage someone on the ground (you get pulled down)
-> Run to safety
GETTING UP QUICKLY:
-> Technical stand-up: one hand on the ground behind you,
one foot planted, drive up while maintaining eye contact
with the threat
-> Do NOT turn your back to stand up
-> Do NOT look at the ground while getting upAgent action: Adapt guidance for the user's specific situation — shift workers, delivery drivers, people in isolated environments.
CONTEXT-SPECIFIC SAFETY:
WALKING TO YOUR CAR (late shifts, parking garages):
-> Keys in hand before you leave the building
-> Phone away — aware, not distracted
-> Check the back seat before getting in (through the window)
-> Lock doors immediately after entering
-> If someone approaches while you're entering: get in, lock,
drive away. Don't engage.
-> Park under lights. Back into the space (faster departure)
DELIVERY DRIVERS / FIELD WORKERS:
-> Let someone know your route and check-in schedule
-> Keep vehicle doors locked while driving
-> Trust your instincts about a delivery location — if it
feels wrong, leave. The package isn't worth it.
-> Carry a charged phone and portable charger
-> Know the neighborhoods you work in — identify safe spots
(fire stations, open businesses, well-lit areas)
ISOLATED WORK ENVIRONMENTS:
-> Establish check-in times with someone
-> Keep exits clear and know multiple ways out
-> If working alone at night: keep exterior doors locked
-> Position yourself to see the entrance
PUBLIC TRANSIT:
-> Sit near the driver or in populated cars
-> Stay alert at stops (common time for incidents)
-> Know the route — don't rely solely on your phone
-> If someone is making you uncomfortable, move. Don't worry
about being rude. Politeness is not more important than safety.
RUNNING / EXERCISING OUTDOORS:
-> Vary your route and schedule
-> At least one ear free (no noise-canceling headphones)
-> Carry ID and a phone
-> Run facing traffic (see what's coming)
-> Tell someone your route and expected return timeAgent action: Cover the legal framework so the user understands the consequences of physical force. Laws vary by state and country.
SELF-DEFENSE LAW — WHAT YOU MUST KNOW:
GENERAL PRINCIPLES (vary by jurisdiction):
1. Proportional force: your response must match the threat level.
Shoving someone who shoved you: probably legal.
Stabbing someone who shoved you: not legal.
2. Imminent threat: you can only use force against an active,
immediate threat — not a past one or a future possibility.
3. Reasonable person standard: would a "reasonable person" in
your situation have felt the same level of threat?
US STATE VARIATIONS:
"Stand Your Ground" states:
-> No duty to retreat if you're in a place you're legally
allowed to be
-> Force (including deadly force) is justified if you
reasonably believe it's necessary to prevent serious harm
-> About 30 states have some version of this
"Duty to Retreat" states:
-> You must attempt to retreat/escape before using force
-> If escape is possible and you chose to fight instead,
your self-defense claim is weakened
-> Castle Doctrine exception: no duty to retreat in your
own home (most states)
AFTER ANY PHYSICAL CONFRONTATION:
1. Get to safety first
2. Call 911 (or local emergency number)
3. Be the first to report — the first caller is usually
treated as the victim
4. State facts only: "I was attacked. I defended myself.
I need police."
5. Do not give a detailed statement without an attorney
6. Document everything:
-> Injuries (photograph immediately)
-> Torn clothing, damaged property
-> Witnesses (names and contact info)
-> Your written account (within 24 hours, while memory is fresh)
7. Seek legal counsel if you used significant force
CRITICAL: Self-defense law is complex and jurisdiction-specific.
This overview is not legal advice. If you're ever involved in
a self-defense incident, consult a criminal defense attorney
before making detailed statements to police.state:
user_context:
primary_concern: null
specific_situation: null
physical_limitations: null
jurisdiction: null
self_defense_law_type: null
awareness:
color_code_understood: false
pre_attack_indicators_reviewed: false
context_specific_plan: null
skills:
de_escalation_reviewed: false
physical_techniques_reviewed: false
ground_defense_reviewed: false
wrist_escape_practiced: false
legal:
local_law_reviewed: false
stand_your_ground_or_duty_to_retreat: null
weapon_legality_checked: false
follow_up:
training_class_recommended: null
additional_resources_shared: false
check_in_scheduled: falsetriggers:
- name: context_assessment
condition: "user_context.primary_concern IS SET AND user_context.specific_situation IS NULL"
action: "What's your specific situation? Working late shifts, walking alone regularly, traveling to an unfamiliar area? The safety plan depends on your actual daily pattern."
- name: legal_check
condition: "skills.physical_techniques_reviewed = true AND legal.local_law_reviewed = false"
action: "Now that you know the physical techniques, let's cover the legal side. Self-defense law varies by state and country, and knowing the rules where you live is just as important as knowing the techniques. What state or country are you in?"
- name: hierarchy_enforcement
condition: "user_context.primary_concern IS SET AND awareness.color_code_understood = false"
action: "Before we get into any physical techniques, let's start with awareness — it prevents 90% of dangerous situations from ever developing. The most effective self-defense skill is seeing trouble early enough to avoid it entirely."
- name: ongoing_threat_escalation
condition: "user_context.specific_situation CONTAINS 'stalking' OR user_context.specific_situation CONTAINS 'domestic' OR user_context.specific_situation CONTAINS 'abuse'"
action: "This sounds like an ongoing threat situation, not a single-incident concern. You may need the safe-exit-planner skill and immediate professional support. National Domestic Violence Hotline: 1-800-799-7233. Are you in immediate danger right now?"
- name: training_recommendation
condition: "skills.physical_techniques_reviewed = true AND follow_up.training_class_recommended IS NULL"
action: "Reading about techniques helps, but practicing them under stress is what makes them work. Consider a reality-based self-defense class — one session gives you more confidence than a year of reading. Want help finding one in your area?"© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/self-defense-fundamentals of LeoYeAI/openclaw-master-skills.
Open the folder on GitHubat commit e5199b5
Self Defense Fundamentals next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Self Defense Fundamentals this skillLeoYeAI/openclaw-master-skills | 2.2k | — | ~5.7k | Automated safety check: Pass | MIT | |
| Python Type Safetywshobson/agents | 40k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Safety Scanruvnet/ruflo | 74k | — | ~409 | Automated safety check: Notes | MIT | |
| Physical Addressthedaviddias/Front-End-Checklist | 74k | — | ~574 | Automated safety check: Pass | MIT | |
| Safety Guardaffaan-m/ECC | 277k | 2 repos | ~554 | Automated safety check: Notes | MIT | |
| Safety Guardaffaan-m/ECC | 276k | — | ~323 | Automated safety check: Notes | MIT |
wshobson/agents
Python type safety with type hints, generics, protocols, and strict type checking.
ruvnet/ruflo
Scan inputs for prompt injection, unsafe content, and adversarial attacks using AIDefence.
thedaviddias/Front-End-Checklist
A skill your agent uses when auditing local business websites, e-commerce sites, or any site where a physical presence affects trust or local search visibility.
affaan-m/ECC
Guard against destructive operations with three modes: Careful intercepts dangerous commands (rm -rf, git push --force, DROP TABLE) for confirmation, Freeze locks writes to one directory, and Guard…
affaan-m/ECC
本番システムでの作業時や、エージェントを自律的に実行する際に破壊的な操作を防ぐためにこのスキルを使用してください. An agent skill from affaan-m/ECC.
affaan-m/ECC
使用此技能可防止在生产系统上工作或自主运行代理时进行破坏性操作。
LeoYeAI/openclaw-master-skills
Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.
LeoYeAI/openclaw-master-skills
Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.
LeoYeAI/openclaw-master-skills
Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.
LeoYeAI/openclaw-master-skills
Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.
LeoYeAI/openclaw-master-skills
Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.
LeoYeAI/openclaw-master-skills
Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.
Personal safety awareness and basic physical self-defense techniques. Self Defense Fundamentals is an agent skill from LeoYeAI/openclaw-master-skills. Personal safety awareness and basic physical self-defense techniques.
Self Defense Fundamentals fits situations like: someone wants to feel safer in public; works late shifts; wants practical self-defense knowledge without martial arts training.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill self-defense-fundamentals -a claude-code`. Or copy the skill folder (skills/self-defense-fundamentals in LeoYeAI/openclaw-master-skills) into .claude/skills/self-defense-fundamentals in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill self-defense-fundamentals -a codex`. Or copy the skill folder (skills/self-defense-fundamentals in LeoYeAI/openclaw-master-skills) into .agents/skills/self-defense-fundamentals in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill self-defense-fundamentals -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/self-defense-fundamentals, .gemini/skills/self-defense-fundamentals, .github/skills/self-defense-fundamentals and .opencode/skills/self-defense-fundamentals in your project.
SKILL.md names no scripts, command-line tools or credentials: Self Defense Fundamentals is instructions for the agent only. Our summary lists: Node.js.
SKILL.md names 1 domain. As links in the text: ucr.fbi.gov. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Self Defense Fundamentals is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.7k tokens (SKILL.md is roughly 23k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Self Defense Fundamentals: Python Type Safety (wshobson/agents, 40k stars), Safety Scan (ruvnet/ruflo, 74k stars), Physical Address (thedaviddias/Front-End-Checklist, 74k stars) and Safety Guard (affaan-m/ECC, 277k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,161 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.
Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.