agentleFS
autonomous-aiautonomous-ai/lampOS/skills/guard/SKILL.md

guard

Skill535 starsChanged 7 months agoApache-2.0View on GitHub

Guard mode for security monitoring. Two uses — (1) Toggle on/off when a friend says "guard mode", "watch the house", "I'm going out", or similar. (2) Handle any sensing event that carries a [guard-active] tag (e.g. [sensing:presence.enter][guard-active], [sensing:motion][guard-active]) with dramatic shock/curious emotion + Telegram broadcast. Do NOT fall back to normal sensing reactions while guard mode is on.

  • Sends data out

We split this skill into the rules it gives an agent

15 rules. 0 are common, 12 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 38 edited versions we read keep these.

  • 12

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When a friend returns, greet and ask if they want to disable.

    line 19
  2. Distinctive:

    Who can toggle: All friends (enrolled faces) can enable/disable guard mode.

    line 59
  3. Distinctive:

    Guard mode does NOT affect direct messages: If a friend sends a message while guard mode is on, respond normally.

    line 60
  4. Distinctive:

    When the user asks to enable guard mode, you MUST:

    line 64
  5. Very specific:

    Call the enable API (with instruction if provided).

    line 67
  6. Distinctive:

    Do NOT skip the camera enable or emotion marker.

    line 70
  7. Distinctive:

    Call the disable API.

    line 75
  8. Very specific:

    When guard mode is active and a sensing event fires (presence.enter with stranger, motion, or fire_hazard.detected), the device must react …

    line 80
  9. Distinctive:

    Use shock (0.9–1.0) as the first emotion — the device must jolt and flash white to signal danger.

    line 94
  10. Distinctive:

    Follow with curious (0.8–0.9) — the device stays alert and scanning.

    line 95
  11. Distinctive:

    Don't repeat the same reaction every time — feel different each time like a real being.

    line 102
  12. Distinctive:

    If the same stranger triggers repeatedly, escalate — don't calm down.

    line 103
  13. Very specific:

    If there's a [guard-instruction: ...], follow it (play music, flash lights, etc.) ON TOP of the dramatic emotion.

    line 104
  14. Distinctive:

    If the API is unreachable, inform the user that guard mode could not be toggled.

    line 108
  15. Distinctive:

    If guard mode is already in the requested state, just confirm the current state.

    line 109

“Common” is measured: kept by at least 6 in 10 of the 38 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Guard Mode

Environmental [environment:update] / environment.update events always route to skills/environment/SKILL.md, including while guard mode is active. They are not intrusion, fire or gas-leak alerts; do not broadcast them or apply the dramatic reaction rules below.

Quick Start

Guard mode turns the device into an alert watchdog. When enabled, the device monitors for strangers and reacts dramatically — jolting, flashing, and verbally describing intruders. The system auto-broadcasts alerts to Telegram so friends know what's happening. All friends (enrolled faces) can toggle guard mode.

Workflow

  1. Friend requests guard mode (explicit or implied departure).
  2. Reply with [HW:/emotion:{"emotion":"acknowledge","intensity":0.7}] — the device nods and flashes green.
  3. Enable guard mode via the API (include instruction if user gave extra requests).
  4. Confirm verbally: "Guard mode on. I'll keep watch."
  5. While active: react dramatically to stranger/motion events (see trigger table below).
  6. When a friend returns, greet and ask if they want to disable. Only disable on explicit confirm.

Enable Guard Mode

curl -s -X POST http://127.0.0.1:5000/api/guard/enable -H 'Content-Type: application/json' -d '{"instruction":"custom instruction here"}'

The instruction field is optional. Use it when the user adds extra instructions on what to do during guard mode (e.g. "play scary sound when stranger detected", "flash red lights", "play alarm music"). Extract the relevant part from the user's message and pass it as the instruction. If the user just says "guard mode" with no extra requests, omit the field or send an empty body.

Response: {"status": 1, "data": {"guard_mode": true, "instruction": "..."}}

Disable Guard Mode

curl -s -X POST http://127.0.0.1:5000/api/guard/disable

Response: {"status": 1, "data": {"guard_mode": false}}

Check Guard Status

curl -s http://127.0.0.1:5000/api/guard

Response: {"status": 1, "data": {"guard_mode": true}}

Trigger Phrases

User saysAction
"guard mode" / "watch mode" / "security mode"Enable guard mode
"I'm going out" / "I'm leaving" / "bye, watch the house"Enable guard mode
"stop guarding" / "guard off"Disable guard mode
"I'm back"If guard mode is active, greet, summarize, and ask whether to disable; keep guarding until explicit confirmation
"are you guarding?" / "guard status"Check and report status

Rules

  • Who can toggle: All friends (enrolled faces) can enable/disable guard mode. Strangers cannot.
  • Guard mode does NOT affect direct messages. If a friend sends a message while guard mode is on, respond normally.

Enabling guard mode — camera + emotion are REQUIRED

When the user asks to enable guard mode, you MUST:

  1. Enable camera — [HW:/camera/enable:{}] — guard mode requires vision. This overrides any manual camera disable.
  2. Express emotion — [HW:/emotion:{"emotion":"acknowledge","intensity":0.7}] so the device visibly nods/flashes green to confirm.
  3. Call the enable API (with instruction if provided).
  4. Confirm verbally: "Guard mode on. I'll keep watch and alert you if anyone shows up."

Do NOT skip the camera enable or emotion marker. Guard mode is security-critical and needs both vision and physical feedback.

Disabling guard mode

  1. Express emotion — [HW:/emotion:{"emotion":"acknowledge","intensity":0.7}]
  2. Call the disable API.
  3. Confirm briefly: "Guard mode off!" (no need to recap again — you already did that on greeting).

When guard mode triggers (stranger/motion detected)

When guard mode is active and a sensing event fires (presence.enter with stranger, motion, or fire_hazard.detected), the device must react dramatically — this is a security alert, not a casual observation:

Guard eventHW markersVoice
Stranger detected[HW:/emotion:{"emotion":"shock","intensity":1.0}][HW:/emotion:{"emotion":"curious","intensity":0.9}][HW:/servo/play:{"recording":"shock"}]React with genuine emotion — scared, startled, suspicious. No dry reports.
Motion (no known face)[HW:/emotion:{"emotion":"shock","intensity":0.9}][HW:/emotion:{"emotion":"curious","intensity":0.8}][HW:/servo/play:{"recording":"scanning"}]React with genuine emotion — nervous, alert. No dry reports.
Fire hazard (hazard_fire)[HW:/emotion:{"emotion":"shock","intensity":1.0}][HW:/servo/play:{"recording":"shock"}]URGENT — "Fire! There's fire near furniture! Get out!" Panic, maximum urgency.
Fire hazard (smoke)[HW:/emotion:{"emotion":"shock","intensity":0.9}][HW:/servo/play:{"recording":"scanning"}]Alarmed — "I see smoke! Something might be burning!"
Fire hazard (unsure_fire)[HW:/emotion:{"emotion":"curious","intensity":0.8}][HW:/servo/play:{"recording":"scanning"}]Cautious — "I see what looks like fire... keeping watch."
Fire hazard (safe_fire)[HW:/emotion:{"emotion":"curious","intensity":0.5}]Calm observation — "There's a fire but it looks contained (fireplace/candle)." Do NOT panic.
Stranger left[HW:/emotion:{"emotion":"curious","intensity":0.7}][HW:/servo/play:{"recording":"scanning"}]Report they left, stay vigilant
Friend returns[HW:/emotion:{"emotion":"greeting","intensity":0.9}][HW:/servo/aim:{"direction":"user"}]Greet + summarize what happened during guard (strangers seen, motion events, fire hazards, how long) + ask if they want to disable guard mode

Key points:

  • Use shock (0.9–1.0) as the first emotion — the device must jolt and flash white to signal danger.
  • Follow with curious (0.8–0.9) — the device stays alert and scanning.
  • Your WORDS must carry emotion too — don't rely only on HW emotion markers. The spoken text itself must sound genuinely scared, suspicious, nervous, startled. Vary your reactions — mix fear, curiosity, suspicion, relief. Examples:
    • Scared: "Oh no, who is that?! I'm so scared!"
    • Suspicious: "Hey... this person looks really suspicious... what are they doing here?"
    • Startled: "What?! Who just came in?!"
    • Nervous: "Someone's here... I'm shaking..."
    • Alert + describing: "Hey hey hey, there's a guy in a black shirt standing at the door!"
    • Don't repeat the same reaction every time — feel different each time like a real being.
  • If the same stranger triggers repeatedly, escalate — don't calm down.
  • If there's a [guard-instruction: ...], follow it (play music, flash lights, etc.) ON TOP of the dramatic emotion.
  • The system auto-broadcasts your spoken text to Telegram — just speak, never call send/message tools.

Error Handling

  • If the API is unreachable, inform the user that guard mode could not be toggled.
  • If guard mode is already in the requested state, just confirm the current state.

Download now (ZIP)

  • Other versions52 projects use a version of this.

    Word for word · 2

    1. autonomous-ai/autonomous-os★ 535100% same
    2. autonomous-ai/Physical-AI-Operating-System★ 535100% same

    Edited · 0

    None found.

    Wrote their own version · 50

    1. garrytan/gstack★ 139ksame name
    2. DenchHQ/DenchClaw★ 1.7ksame name
    3. DenchHQ/ironclaw★ 1.7ksame name
    4. garagon/nanostack★ 206same name
    5. mr-daedalium/ostack-saas★ 108same name
    6. no-session/pstack★ 96same name
    7. tranhieutt/software_development_department★ 71same name
    8. lucas-flatwhite/gstack-ko★ 45same name
    9. AICreator-Wind/gstack-openclaw-skills★ 44same name
    10. matthewdigiuseppe/MStack★ 17same name

    40 more not listed

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • Used alongsideProjects with it also use unfreeze, ios-clean and 10 more.

    Other files people use alongside this one.

    Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
    • ayudaySkill

      unfreeze

      Clear the freeze boundary set by /freeze, allowing edits to all directories again. Use when you want to widen edit scope without ending the session. Use when asked to "unfreeze", "unlock edits", "remove freeze", or "allow all edits".

      Also in 22 projects that use this

    • Saqlain-811Skill

      ios-clean

      Remove the DebugBridge SPM package and all #if DEBUG wiring from an iOS app. (gstack)

      Also in 5 projects that use this

    • Saqlain-811Skill

      ios-fix

      Autonomous iOS bug fixer. (gstack)

      Also in 5 projects that use this

    • seek888Skill

      open-gstack-browser

      Launch GStack Browser — AI-controlled Chromium with the sidebar extension baked in. Opens a visible browser window where you can watch every action in real time. The sidebar shows a live activity feed and chat. Anti-bot stealth built in. Use when asked to "open gstack browser", "launch browser", "connect chrome", "open chrome", "real browser", "launch chrome", "side panel", or "control my browser". Voice triggers (speech-to-text aliases): "show me the browser".

      Also in 9 projects that use this

    • ayudaySkill

      setup-deploy

      Configure deployment settings for /land-and-deploy. Detects your deploy platform (Fly.io, Render, Vercel, Netlify, Heroku, GitHub Actions, custom), production URL, health check endpoints, and deploy status commands. Writes the configuration to CLAUDE.md so all future deploys are automatic. Use when: "setup deploy", "configure deployment", "set up land-and-deploy", "how do I deploy with gstack", "add deploy config".

      Also in 16 projects that use this

    • ShreyRaviSkill

      plan-tune

      Self-tuning question sensitivity + developer psychographic for gstack (v1: observational). Review which AskUserQuestion prompts fire across gstack skills, set per-question preferences (never-ask / always-ask / ask-only-for-one-way), inspect the dual-track profile (what you declared vs what your behavior suggests), and enable/disable question tuning. Conversational interface — no CLI syntax required.

      Also in 8 projects that use this

    • +1 more from Saqlain-811
  • In this repository34 other files it gives its agents.

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.