openclaw-skills/hermes-graphify-gsd-nonintrusive-workflow/SKILL.md
Use when integrating Hermes Agent, graphify, and GSD into a local development workflow without modifying upstream repositories, especially when the user wants upgrade-safe wrappers, project-level workflow scripts, graph-aware planning, and a reusable setup that survives future upstream updates.
npx skillsauth add seaworld008/commonly-used-high-value-skills hermes-graphify-gsd-nonintrusive-workflowInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill to build an upgrade-safe local AI development workflow that combines:
If the repo already has this workflow and the task is now about runtime diagnosis, writer ownership, stale cron/state/lease cleanup, or handoff/operator recovery, switch to hermes-graphify-gsd-runtime-operator.
Core rule: do not modify upstream Hermes, graphify, or GSD repository code unless the user explicitly wants to contribute upstream. Prefer thin wrappers, project-local scripts, and repo documentation.
Important prerequisite:
hermes is missing, stop and ask the user to install Hermes first.Use this skill when the user asks for any of these:
ai-workflow.shDo not use this skill when the user wants to directly change Hermes, graphify, or GSD upstream source behavior. In that case, work in the relevant upstream repo instead.
hermespython -m graphifynode <get-shit-done>/sdk/dist/cli.js~/.local/bin/scripts/README.md, AGENTS.md, docs/.planning/ and graphify-out/When this skill is used on a fresh machine:
command -v hermesRecommended commands:
# graphify — latest package, then global Hermes integration
# Baseline checked 2026-04-24: graphifyy 0.5.0.
# prefer a Python that actually has pip available; Hermes venv python is a valid fallback
PY_BIN="${PYTHON_BIN:-$HOME/.hermes/hermes-agent/venv/bin/python3}"
[ -x "$PY_BIN" ] || PY_BIN="$(command -v python3)"
if "$PY_BIN" -c 'import sys; print(int(sys.prefix != sys.base_prefix))' 2>/dev/null | grep -q '^1$'; then
"$PY_BIN" -m pip install -U "graphifyy>=0.5.0"
else
"$PY_BIN" -m pip install --user -U "graphifyy>=0.5.0"
fi
~/.local/bin/graphify install --platform hermes || graphify install --platform hermes
# GSD — latest global runtime + SDK
npx -y get-shit-done-cc@latest --codex --global --sdk
Notes:
graphifyy, while the CLI remains graphifygraphifyy[video] when needed) and Codex-specific chunk files; wrappers must not delete .graphify_chunk_*.json until semantic extraction has collected themgraphify-out/graph.json and graphify-out/GRAPH_REPORT.md as required outputs; manifest files are useful diagnostics, not a hard contractgraphify --help still warns after updating Hermes, also check other installed platform copies such as ~/.claude/skills/graphify/.graphify_version and rerun graphify install --platform <platform> there--codex --global --sdk is the default global baseline for this workflow; choose another runtime only when the user explicitly wants it.codex/ files, do a second repo-local install later during project integrationCreate thin wrappers when needed:
~/.local/bin/graphify~/.local/bin/gsd-sdkPurpose:
Per repo, add:
scripts/graphify-sync.shscripts/ai-workflow.shAGENTS.md guidanceREADME.md workflow section.gitignore entries for .planning/ and graphify-out/When the user wants the repo to keep advancing with minimal manual prompting, add a repo-local auto-continue layer:
post-commit, optionally post-merge)cron or systemd timer) that re-checks progress every N minutesRecommended responsibilities:
Recommended repo-local files:
scripts/hermes-auto-continue-config.shscripts/hermes-auto-continue-status.shscripts/hermes-auto-continue-trigger.shscripts/hermes-auto-continue-checkpoint.sh (manual no-commit checkpoint trigger)scripts/hermes-auto-continue-summary.sh (generate the last-run summary artifact)scripts/hermes-auto-continue-task-board-init.shscripts/hermes-auto-continue-task-board-status.shscripts/hermes-auto-continue-task-board-update.shscripts/hermes-auto-continue-task-board-complete-if-ready.shscripts/hermes-auto-continue-task-board-sync-docs.shscripts/hermes-auto-continue-resume-if-ready.shscripts/hermes-auto-continue-notify.shscripts/hermes-gsd-phase-engine-status.shscripts/hermes-gsd-next-state.shscripts/hermes-gsd-sync-runtime-mirror.shscripts/hermes-graphify-strategy-hints.shscripts/hermes-auto-continue-learnings.shscripts/hermes-auto-continue-mark-complete.shscripts/install-hermes-auto-continue-cron.sh.husky/post-commit.husky/post-mergeRecommended optional relay artifacts:
.planning/auto-continue-last-summary.md.planning/task-board.json.planning/auto-gsd-next-state.json.planning/notifications/.planning/learnings/.planning/skill-candidates/HERMES_AUTO_CONTINUE_NOTIFY_DELIVERHERMES_AUTO_CONTINUE_NOTIFY_SCHEDULEHERMES_AUTO_CONTINUE_NOTIFY_COMMANDHERMES_AUTO_CONTINUE_NOTIFY_EVENTSHERMES_AUTO_CONTINUE_MAX_PASSES_PER_TRIGGERHERMES_AUTO_CONTINUE_PASS_IDLE_SECONDSHERMES_AUTO_CONTINUE_CRON_SCHEDULEWhen this workflow grows into an autonomous repo-local runtime, prefer these additional constraints by default:
Recommended operator contract:
./scripts/ai-workflow.sh doctor./scripts/ai-workflow.sh gsd-doctor./scripts/ai-workflow.sh gsd-next-state./scripts/ai-workflow.sh gsd-skill-show <name>./scripts/ai-workflow.sh gsd-workflow-show <name>./scripts/ai-workflow.sh graphify-hints./scripts/ai-workflow.sh auto-learnings <event> [title] [detail]./scripts/ai-workflow.sh auto-status./scripts/ai-workflow.sh auto-progress./scripts/ai-workflow.sh auto-runner-show./scripts/ai-workflow.sh auto-execution-surface-show./scripts/ai-workflow.sh auto-workflow-state-show./scripts/ai-workflow.sh auto-handoff-show./scripts/ai-workflow.sh auto-resume-if-readytemplates/ai-workflow.sh in this skill now exposes those subcommands and delegates to the repo-local auto-continue scriptsRecommended execution-surface guard for any repo allowed to write:
package.jsonpnpm-lock.yamlsrc-tauri/ or the repo's real backend root.planning/STATE.mdscripts/graphify-sync.shdoctor, trigger, and cron/timer install paths should all refuse to proceed on an incomplete execution surfaceRecommended writer-surface contract:
writer_eligibleprimary_root_matchwriter_recommendedwriter_recommended=yesCore rule:
Recommended machine-readable planning contract:
PROJECT.md, REQUIREMENTS.md, ROADMAP.md, STATE.md).planning/task-board.json.planning/auto-gsd-next-state.json.codex/get-shit-done/, treat GSD workflow files as the lifecycle source of truth and use the task board as execution cachegsd-next, discuss / plan / execute / verify workflow docs when available)in_progress tasktodoREQUIREMENTS.md / ROADMAP.md only when the board is missing or staletodo, in_progress, blocked, done, dropped)complete-if-ready evaluation before marking a task doneSTATE.md and ROADMAP.mdidtitlestatusprioritydepends_onacceptanceartifactsblocked_bylast_updateddone only through a lightweight completion gate that checks dependencies, acceptance evidence, and artifact existenceTrigger semantics note:
post-commit, optional post-merge, explicit manual checkpoint scripts, and periodic cron/timer reconciliation.scripts/hermes-auto-continue-checkpoint.sh) at agreed milestone boundaries rather than assuming message completion will fire hooks.discord:chat_id, telegram:chat_id:thread_id, or another concrete deliver string)..planning/auto-continue-last-summary.md after each run, then create a one-shot Hermes cron notification job only when an explicit deliver target is configured..planning/notifications/, then optionally invoke an external delivery command when HERMES_AUTO_CONTINUE_NOTIFY_COMMAND is configured.GRAPH_REPORT.md, PROJECT.md, REQUIREMENTS.md, ROADMAP.md, STATE.md, and runtime summary/mirror files when present).gsd-next first and let GSD decide whether the system currently needs discuss, plan, execute, or verify.query, path, and explain before guessing at cross-module structure.path, query, explain, or wiki are especially valuable.resume_condition probes such as:
file_exists:<path>file_missing:<path>task_done:<task_id>task_status:<task_id>:<status>ready_to_complete:<task_id>writer_recommendedboard_has_next_taskrepo_lock_freeproject_lock_freeFor autonomous continuation loops, use a completion sentinel instead of guessing from partial task lists.
Recommended design:
.planning/auto-continue-complete.jsondocs/auto-continue-completion-evidence.mdCOMPLETE only when:
completeThis avoids the common failure mode where automation stops after a subtask, a phase checklist, or a focused test subset passes.
Run these before claiming success:
command -v hermes
hermes --version
command -v graphify
graphify --help
command -v gsd-sdk
gsd-sdk --version
./scripts/graphify-sync.sh status
./scripts/graphify-sync.sh smart
For first-time bootstrap, also verify:
hermes existed before any automation begangraphify install --platform hermes~/.claude/skills/graphify/.graphify_version) and update those toonpx -y get-shit-done-cc@latest --codex --global --sdkAlso verify:
.planning/ exists when planning context is expected.codex/ exists if local GSD runtime is usedgraphify-out/graph.json and graphify-out/GRAPH_REPORT.md exist after graph builddoctor / auto-progress / auto-runner-show all report the same primary writer factsauto-execution-surface-show reports writer_recommended=yes only for the intended main repo./scripts/graphify-sync.sh smartgraphify-out/GRAPH_REPORT.md.planning/STATE.md and .planning/ROADMAP.md./scripts/graphify-sync.sh smartBest division of labor:
Always preserve these constraints:
If something breaks after upstream updates, fix in this order:
--user--userpip install -U ... or pip install --user -U ... accordinglygraphify-out/graph.json and graphify-out/GRAPH_REPORT.mdmanifest.json unless you have verified that a specific version still emits it~/.claude/skills/graphify/.graphify_version can trigger a warning even when ~/.hermes/skills/graphify/ is currentflock or equivalent)hermes cron list --all being empty does not prove there is no system cron entrycrontab -l when the observed writer and the intended writer disagreerunning but kernel locks are already free, treat it as stale metadata and reconcile it explicitly instead of trusting the stale file foreverLoad these bundled files when implementing:
templates/bootstrap-toolchain.shtemplates/graphify-wrapper.shtemplates/gsd-sdk-wrapper.shtemplates/ai-workflow.shtemplates/hermes-auto-continue-config.shtemplates/hermes-auto-continue-status.shtemplates/hermes-auto-continue-trigger.shtemplates/hermes-auto-continue-checkpoint.shtemplates/hermes-auto-continue-summary.shtemplates/hermes-auto-continue-task-board-init.shtemplates/hermes-auto-continue-task-board-status.shtemplates/hermes-auto-continue-task-board-update.shtemplates/hermes-auto-continue-task-board-complete-if-ready.shtemplates/hermes-auto-continue-task-board-sync-docs.shtemplates/hermes-auto-continue-resume-if-ready.shtemplates/hermes-auto-continue-notify.shtemplates/hermes-gsd-phase-engine-status.shtemplates/hermes-gsd-next-state.shtemplates/hermes-gsd-sync-runtime-mirror.shtemplates/hermes-graphify-strategy-hints.shtemplates/hermes-auto-continue-learnings.shtemplates/hermes-auto-continue-mark-complete.shtemplates/install-hermes-auto-continue-cron.shtemplates/husky-post-commit-auto-continue.shtemplates/husky-post-merge-auto-continue.shreferences/first-install.mdreferences/upgrade-contract.mdreferences/auto-continue-best-practices.mdreferences/ai-workflow-auto-continue-snippet.mdWhen using this skill:
ai-workflow.sh surface, auto-continue scripts, and operator docs all expose the same command names before packaging the workflow for teammatestools
飞书审批:查询和处理审批待办/已办/实例,搜索可发起审批定义、查看定义详情并发起原生审批实例。当用户要处理审批任务、查看审批实例、搜索或发起审批时使用。审批待办不是飞书任务;非审批类待办走 lark-task。不负责创建审批定义;三方审批定义不走原生提单。
development
Use when a user needs reproducible repository sizing, language composition, file counts, or code-versus-comment ratios with pygount; record exclusions and verify measurement scope before interpreting results.
development
Route a development task to the official Hermes Agent skill, Graphify Codex artifact set, Open GSD Core bundle, or optional GSD Pi bundle without duplicating their installers or state machines.
development
飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名,以及按关键词搜索当前用户可见的机器人 / 智能体(agent)。当用户提到一个名字要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。