用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/lukemcqueen/hermes-cortex --skill software-factory命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Cross-server agent health monitoring using binary status vectors — deploy health endpoints on each agent, poll from orchestrator, alert on state transitions.
Wire a self-hosted Langfuse instance to Hermes Agent — generate API keys, configure env vars, enable the bundled plugin, install SDK, and verify traces flow.
Use before enforcement code changes or shared-repo commits.
正在显示 SKILL.md
| name | software-factory |
| description | Real features: 4-gate design with user approval per gate. |
| version | 1.0.0 |
| author | Hermes Cortex (adapted from Maciejdziuba's gist of Dex Horthy's HumanLayer playbook, David Ondrej podcast 2026) |
| license | MIT |
| platforms | ["linux","macos"] |
| metadata | {"hermes":{"tags":["planning","software-factory","gates","program-design","vertical-slices","context-engineering","tracer-bullet"],"related_skills":["dev-plan","story-decomposition","product-requirements","requirements-elicitation","change-test-loop","adversarial-verifier"]}} |
Dex Horthy's (HumanLayer) workflow: make every important decision before implementation code exists, where changing it costs a sentence instead of a rewrite. Work through four gates in order. Stop at each gate for explicit user approval. Never merge gates. Never write implementation code before the Gate 4 slice plan is approved.
"Once the model has written thousands of lines of code, it is harder to change. The sessions that generate design docs are context-light — you get the most model intelligence when you do the hard thinking early."
Run the full workflow when the task is a real feature: it will create or change multiple files, add an endpoint, table, or screen, or produce a diff the user would hate to review all at once (roughly 100+ lines).
Skip the gates entirely (just do the task) when any of these hold:
If unsure whether the task qualifies, ask once: "This looks big enough for the 4-gate workflow — run it, or do you want the fast version?" Respect the answer.
All workflow files live in docs/plans/<feature-slug>/:
docs/plans/<feature-slug>/
00-status.md state file: gate approvals + slice checklist
01-product.md
mockups/ Gate 1 screen mockups — plain HTML, one file per screen
02-architecture.md
03-program-design.md
04-slices.md
Create 00-status.md first, before Gate 1. Update it at every gate approval
and every slice completion. Template:
# Status: <feature name>
- Gate 1 — Product: pending | in progress | APPROVED <date>
- Gate 2 — Architecture: pending | in progress | APPROVED <date>
- Gate 3 — Program Design: pending | in progress | APPROVED <date>
- Gate 4 — Slice plan: pending | in progress | APPROVED <date>
## Slices
- [ ] Slice 1 — tracer bullet: <one line>
- [ ] Slice 2 — <one line>
## Notes for a fresh session
<anything decided in chat that a new session must know>
Resume rule: at the start of any session, if
docs/plans/<feature-slug>/00-status.md exists for the feature being
discussed, read every doc in that folder first, then continue from the first
unapproved gate or first unchecked slice. Never redo an approved gate unless
the user asks for it or a later gate invalidated it.
00-status.md and move on.00-status.md, and get re-approval before continuing.Work with the user to fill this template, saved as 01-product.md:
# Product: <feature name>
## Problem
<the user problem, in the end-user's words — not the developer's>
## Success metric
<one real number tied to the business (conversion, latency, tickets, revenue)
and how it's measured>
## Announcement — the blog post before the feature
<3–6 sentences announcing this feature to users. If you can't write it,
you're building the wrong thing.>
## Screens
<one line per mockup file in ./mockups/ — or "no UI">
Rules for this gate:
mockups/ — no framework, no build step, throwaway by design. Iterate on
the mockups with the user until they say "yes, that."Run the approval protocol.
Read the relevant existing code before writing this doc — never design
against an imagined codebase. Template, saved as 02-architecture.md:
# Architecture: <feature name>
## Fit
<which existing services/modules this touches, and how>
## Endpoints
<route + verb + purpose, one line each — or "none">
## Data
<new or changed tables/collections, with outlines of the queries that will
hit them>
## Flow
<the end-to-end call order for the main path: what calls what>
## External
<third-party APIs, env var ( ), — "">
Run the approval protocol.
The decisions the agent would otherwise make silently mid-implementation.
Template, saved as 03-program-design.md:
# Program Design: <feature name>
## Files
<every file created or changed, one line each on why it lives there>
## Types & signatures
<code blocks defining the types and method signatures — NO implementation
bodies. A human should be able to read these in seconds and say "right" or
"wrong.">
## Call stack
<for each main flow: what calls what, top to bottom>
## Test plan
Run the approval protocol.
First write the slice plan as 04-slices.md — one line per slice, in build
order — and run the approval protocol on it. Then build one slice at a time.
Slice rules:
After every slice:
00-status.md.When a gate produces a decision that outlives this feature, offer to record
it as an ADR in docs/adr/NNNN-<slug>.md — context, decision, consequences;
never rewrite old ADRs, supersede them. Record anything that lives outside
the repo but that an agent needs to know exists (env var names, payment
setup, test accounts, third-party dashboards) in docs/external/. Files on
disk are free context — every future session starts smarter.
dev-plan — lightweight single-file plan for smaller tasks; this skill is
the full 4-gate workflow for real features.story-decomposition — slice planning; Gate 4's vertical slices build on
it.requirements-elicitation / product-requirements — Gate 1's product
definition builds on them.adversarial-verifier — Gate 3's "real tests only" + the pre-patch test
check.