Commonly-used-high-value-skills hermes-graphify-gsd-runtime-operator
Use when operating or debugging a repo-local Hermes + graphify + GSD autonomous runtime, especially when checking writer ownership, execution-surface eligibility, handoff/blocked state, stale cron or lease metadata, and whether the main project repo is still the only recommended writer surface.
git clone https://github.com/seaworld008/Commonly-used-high-value-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/seaworld008/Commonly-used-high-value-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/openclaw-skills/hermes-graphify-gsd-runtime-operator" ~/.claude/skills/seaworld008-commonly-used-high-value-skills-hermes-graphify-gsd-runtime-operator && rm -rf "$T"
T=$(mktemp -d) && git clone --depth=1 https://github.com/seaworld008/Commonly-used-high-value-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/openclaw-skills/hermes-graphify-gsd-runtime-operator" ~/.openclaw/skills/seaworld008-commonly-used-high-value-skills-hermes-graphify-gsd-runtime-operator && rm -rf "$T"
openclaw-skills/hermes-graphify-gsd-runtime-operator/SKILL.mdHermes + graphify + GSD Runtime Operator
Overview
Use this skill to operate an already-integrated repo-local autonomous runtime.
This skill is for observing, diagnosing, and correcting runtime state after the workflow exists:
- who currently owns the writer lease
- whether the current repo is an eligible/recommended writer surface
- whether handoff or blocked state is active
- whether state/lease files are stale
- whether an old sandbox/worktree cron is still hijacking the writer role
When to Use
Use when the user asks any of these:
- “现在是谁在写?”
- “为什么 auto-progress 还显示 running?”
- “sandbox 不是已经停了吗,为什么 lease 还在?”
- “这个 repo 还能不能当 writer?”
- “帮我把旧 sandbox writer 清掉”
- “检查 handoff / blocked / planning mirror / lease 是否一致”
Do not use this skill to bootstrap the workflow from scratch. Use the companion integration skills first.
Core Operating Model
Preferred steady state:
- main project repo = primary writer execution surface
- extra worktrees are read-only analysis areas or temporary experiments unless explicitly promoted
- operator commands are the fact source, not intuition
First Checks
Always start with the repo-local operator surface:
./scripts/ai-workflow.sh doctor ./scripts/ai-workflow.sh auto-execution-surface-show ./scripts/ai-workflow.sh auto-runner-show ./scripts/ai-workflow.sh auto-progress ./scripts/ai-workflow.sh auto-workflow-state-show
Interpretation:
means the repo looks complete enough to participateexecution_surface: ready
means the repo passes the execution-surface checkwriter_eligible=yes
means the repo matches the configured primary rootprimary_root_match=yes
means the repo is the intended writer surfacewriter_recommended=yes
If
writer_recommended=no, do not install cron or bind runtime metadata here.
Runtime Triage Order
1. Check the current writer contract
Read:
- execution-surface status
- global runner state
- planning mirror
- effective state
- current lease
Use
auto-runner-show and auto-progress before any mutation.
2. Distinguish live lock from stale metadata
A common trap is stale files saying
running after the process is already gone.
Check both:
- operator views (
,auto-runner-show
)auto-progress - actual lock/process reality
If needed, verify directly with shell tools such as:
ps -ef | grep -F 'hermes-auto-continue-trigger.sh' | grep -v grep crontab -l
If lock/process reality and JSON state disagree, trust live process/lock facts first, then reconcile metadata.
3. Check both Hermes cron and system cron
Do not assume
hermes cron list --all is enough.
Reality-tested rule:
being empty does not prove the machine has no active scheduler entryhermes cron list --all- also inspect system
crontab -l
This matters when an old sandbox/worktree cron continues to trigger a stale writer.
4. Handle stale sandbox/worktree writers carefully
If observed writer metadata points at an unexpected worktree:
- inspect the live PID / command line
- inspect system cron entries and tags
- remove the stale cron entry first
- stop the stale process
- only then reconcile state/lease metadata back to the intended main repo
Do not just edit JSON first and leave the old cron alive; it will reassert itself.
Handoff and Blocked State
Use these commands:
./scripts/ai-workflow.sh auto-handoff-show ./scripts/ai-workflow.sh auto-handoff-set <reason> <detail> [requested_input] [resume_condition] [next_action] ./scripts/ai-workflow.sh auto-handoff-clear ./scripts/ai-workflow.sh auto-resume-if-ready
Interpretation:
= could not proceed right now (busy, refusal, conflict)blocked
= intentionally waiting for human or external inputhandoff
When handoff is active, prefer preserving the structured payload:
reasondetailrequested_inputresume_conditionnext_action
Do not clear handoff casually if the required input has not actually arrived. Prefer machine-readable
resume_condition probes when the runtime should recover automatically on the next cron/timer cycle.
Planning Mirror
Use:
./scripts/ai-workflow.sh auto-workflow-state-show
Purpose:
- gives
/ GSD a machine-readable mirror of runtime state.planning - should align with global state and effective state
If planning mirror says one thing and global runtime says another, note the divergence explicitly and reconcile only after checking the live process/lock situation.
Common Failure Patterns
Pattern 1: Empty Hermes cron, but writer still active
Cause:
- system crontab still contains an old runtime entry
Action:
- inspect
crontab -l - remove the stale cron tag
- stop the stale trigger process
- reconcile state/lease
Pattern 2: State says running, but no visible process
Cause:
- stale metadata
Action:
- verify kernel/user-space lock reality
- if lock is actually free, rewrite state/lease to inactive with an operator reason
Pattern 3: Sandbox still appears as writer after policy changed
Cause:
- historical cron or stale lease
Action:
- prove whether sandbox is still truly running
- if not, clear the stale metadata
- if yes, remove the cron/process first
Pattern 4: Current repo passes execution-surface check but still should not write
Cause:
- it is not the configured primary root
Action:
- check
primary_root_match - only allow runtime binding / cron install on
writer_recommended=yes
Verification Checklist
Before claiming runtime/operator work is done, verify:
./scripts/ai-workflow.sh doctor ./scripts/ai-workflow.sh auto-execution-surface-show ./scripts/ai-workflow.sh auto-runner-show ./scripts/ai-workflow.sh auto-progress hermes cron list --all crontab -l
And make sure all of these are coherent:
- current repo shows
if it is meant to writewriter_recommended=yes
reflects realitywriter state- global state file and effective state agree, or divergence is explicitly explained
- planning mirror is not silently stale
- no old sandbox/worktree cron remains active
Common Mistakes
- Treating operator JSON as more trustworthy than live process reality
- stale metadata is common; verify real processes and locks
- Checking Hermes cron only
- system cron may still be active
- Clearing lease/state before removing the stale scheduler source
- the next cron tick will recreate the bad state
- Assuming a sandbox should stay canonical forever
- if the main project repo is now the writer surface, remove the stale sandbox runtime instead of working around it
- Forgetting to re-check operator views after cleanup
- always rerun
andauto-runner-showauto-progress
Minimal Success Definition
A good operator outcome means:
- the intended main repo reports
writer_recommended=yes - stale sandbox/worktree writers are gone
- current writer state is accurate
- state/lease/planning mirror are coherent enough for the next development step