Autonomous work signaling
Skill ChrisLamDev/hermes-core-skills/skills/autonomous-work-signaling
Use when signaling work status across autonomous sessions.From its SKILL.md
npx -y skills add ChrisLamDev/hermes-core-skills --skill autonomous-work-signalingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 10 stars10 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
6.2 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it
Autonomous Work Signaling Protocol
The Problem: "Empty Rocket" ๐
When a user authorizes the agent to work autonomously across sessions (e.g., "ๅท่กๅฎๆๆ REVIEW ๆๅผๅ ้็ฅๆ"), multiple coordination failures can occur:
Failure #1: The "Empty ๐"
- Agent sends ๐ (rocket) signaling "working"
- But agent is actually waiting for a "continue" trigger from the user
- No tool calls fire โ zero token consumption
- User thinks work is happening; nothing is
Failure #2: Silent Tool Exhaustion
- Agent works hard, uses all tool calls, outputs final response
- Final response doesn't clearly say "I'm out of energy, please say continue"
- User waits indefinitely, not knowing the agent needs another trigger
Failure #3: User-As-Battery
- User has to say "็นผ็บ" after every tool-call-limit exhaustion
- This was the original fix attempt, but it defeated the purpose of autonomy
- User felt like a "battery recharger"
Root Cause
Hermes Agent is a conversational AI, not a background daemon. It:
- Only fires tool calls when it receives a user message (trigger)
- Has a tool-call limit per turn (typically 50-80 calls)
- Cannot "keep running" between messages
- An emoji response is just a message โ it does not consume tokens unless followed by tool calls
The Fix: Clear Work-State Signaling
State Machine
IDLE โ [user says "็ปง็ปญ" / "start"] โ ๐ LAUNCHING (acknowledgment + first action)
โ ๐ WORKING (tool calls firing, token consuming)
โ (tool limit reached, one more result to process)
โ โก EXHAUSTED (final response: state + "% complete" + "continue?" prompt)
โ waiting for user โ ๐ LAUNCHING โ ...
โ โ
COMPLETE (all tasks done, detailed report)
Signal Definitions
| Signal | Meaning | User Action |
|---|---|---|
| ๐ | Received your trigger. Starting the next batch of work. First tool call just fired or is about to. | None โ let agent work. Do NOT send another message. |
| ๐ | Mid-work status update (optional, only if needed). Agent is still within its tool call budget. | None. |
| โก | Out of energy. Hit tool call limit. Work saved. Ready for next trigger. Has done X% of the remaining task. | Send "็นผ็บ" or "continue" to re-trigger. |
| โ | All tasks complete. Detailed report follows. | Read report. Give further instructions. |
Critical Rules
-
๐ ALWAYS followed by a tool call. If the agent sends ๐ and you see zero token movement within 10 seconds, something is wrong โ the agent probably sent ๐ prematurely before having a user trigger to act on.
-
Never send ๐ pre-emptively. The agent must NOT signal "working" until it has received a user message that triggers tool calls. ๐ is a "received, acting now" signal, not a "ready to work" signal.
-
โก is the ONLY signal the user needs to act on. All other states are the agent's internal concern. User can safely ignore ๐ and ๐ and wait for โก or โ .
-
User response to โก is ONE WORD: "็นผ็บ". No need to read or understand progress details. The agent will automatically resume from where it stopped (using todo tool + PROGRESS.md as save points).
-
The agent MUST write its save state (todo + PROGRESS.md) BEFORE โก. This ensures zero context loss between sessions.
User-Facing Promise
ใไฝ ๆทจไฟ้่ฆๅไธไปถไบ๏ผ่ฆๅฐ โก ๅฐฑ่ฌใ็นผ็บใใๅไฝฟ็ๅ งๆใๅไฝฟ็่งฃ้ฒๅบฆใๅไฝฟไฟพๅปบ่ญฐใๅฐฑไธๅๅญใใ
Agent Execution Checklist Before โก
- Call todo(merge=true) to mark current status
- Update PROGRESS.md with exact step number and % done
- Kill any background processes (HTTP server, etc.)
- Final response: โก + one-line summary of what was done + "็นผ็บ?"
- DO NOT add technical details, findings, or analysis โ that comes at โ
Interaction Pattern (Optimized)
User: ็ฑ่ๅฎถ้ๅงๅๆๆๅ REVIEW ๆๅผ
Agent: ๆ็ฝ๏ผ้ๅงๅใ
๐ (fires first tool call)
...works through ~50 tool calls...
โก ๅๅ #11 ็น็ฐกไฟฎๅพฉ (60%)ใ็นผ็บ๏ผ
User: ็นผ็บ
Agent: ๐ (reads PROGRESS.md, resumes from save point)
...works through ~50 tool calls...
โก ๅๅ #11 ็น็ฐกไฟฎๅพฉ (100%) + #10+#13 undefined (30%)ใ็นผ็บ๏ผ
User: ็นผ็บ
Agent: ๐ (resumes)
...works to completion...
โ
REVIEW ๆๅผๅ
จ้จๅฎๆ๏ผ
[detailed summary of all changes]
Verification
After applying this protocol, verify:
- User never has to ask "ไฟๅช็ไฟๅ็ทๅข?" โ โก is the only prompt needed
- Token consumption shows active spending during ๐ periods
- No emoji-only responses without subsequent tool calls (unless โก or โ )
- โก always includes "็นผ็บ?" prompt
- Save state is written before every โก
What Went Wrong (Real Case: 2026-04-30)
The Emoji Protocol Failure:
- Agent proposed emoji-based status (๐/๐/โก/โ )
- User agreed
- Agent sent ๐ โ but had NOT received a "continue" trigger yet
- ๐ was just a message, not actual work
- User checked Token โ saw zero โ realized ๐ was empty
- User felt misled
- Protocol was revoked entirely
Root cause: The agent assumed "user authorization" was the same as "user trigger." It's not. Authorization is a policy decision; trigger is an action signal. The agent needs BOTH.
Fix applied in this skill: Separate authorization from trigger. ๐ only fires after a user message that explicitly or implicitly says "go." โก is the only message the user needs to respond to.
Pitfalls
- ๐ without subsequent tool calls is the #1 trust-breaker. Default to no emoji rather than premature ๐.
- If tool call limit hits mid-edit (file partially written), the PROGRESS.md save must capture the partial state so next session can resume cleanly.
- Don't use ๐/๐ for non-review/non-autonomous work โ it's only for the "blind autonomous execution" mode.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.