feat(loop-me): v0.1.0 — workflow-spec design gate adapted from mattpocock/skills @ 84fdeffd (done-when-implementer-asks-no-questions + independent check)
This commit is contained in:
@@ -116,6 +116,7 @@ an explicit `adapted-from` marker in its frontmatter.
|
||||
| `grilling` | `adapted-from: mattpocock/skills @ 84fdeffd` (MIT) — family collapsed to one skill (pi hides `disable-model-invocation` wrappers) |
|
||||
| `brainstorming` | `adapted-from: obra/superpowers @ 6.2.0` (MIT) — divergent phase, visual-companion dropped |
|
||||
| `diagnosing-bugs` | `adapted-from: mattpocock/skills @ 84fdeffd` (MIT) + superpowers 6.2.0 concepts (Iron Law, red flags) |
|
||||
| `loop-me` | `adapted-from: mattpocock/skills @ 84fdeffd` (MIT) — workflow-spec design gate |
|
||||
| `writing-skills` | `adapted-from: obra/superpowers @ 6.2.0` (MIT) — TDD-for-skills core + ideya 8 self-skill-authoring |
|
||||
| all other `skills/*` | `author: ours` |
|
||||
|
||||
|
||||
@@ -86,6 +86,7 @@ bash scripts/build.sh caveman # один
|
||||
| `grilling` | `adapted-from: mattpocock/skills @ 84fdeffd` (MIT) — семейство схлопнуто в один скил (pi прячет `disable-model-invocation` обёртки) |
|
||||
| `brainstorming` | `adapted-from: obra/superpowers @ 6.2.0` (MIT) — расходящаяся фаза, visual-companion выброшен |
|
||||
| `diagnosing-bugs` | `adapted-from: mattpocock/skills @ 84fdeffd` (MIT) + superpowers 6.2.0 (Iron Law, red flags) |
|
||||
| `loop-me` | `adapted-from: mattpocock/skills @ 84fdeffd` (MIT) — дизайн-гейт workflow-спец |
|
||||
| `writing-skills` | `adapted-from: obra/superpowers @ 6.2.0` (MIT) — TDD-for-skills ядро + идея 8 self-skill-authoring |
|
||||
| остальные `skills/*` | `author: ours` |
|
||||
|
||||
|
||||
BIN
dist/loop-me.skill
vendored
Normal file
BIN
dist/loop-me.skill
vendored
Normal file
Binary file not shown.
133
skills/loop-me/SKILL.md
Normal file
133
skills/loop-me/SKILL.md
Normal file
@@ -0,0 +1,133 @@
|
||||
---
|
||||
name: loop-me
|
||||
adapted-from: mattpocock/skills @ 84fdeffd12f2ee307994d1eb6feb48173b6e0502 (MIT)
|
||||
version: 0.1.0
|
||||
description: >
|
||||
Design workflow specs for recurring patterns worth delegating — a stateful
|
||||
grilling session whose only output is workflow specs. Trigger (user):
|
||||
«спроектируй workflow», «опиши мои повторяющиеся процессы», «что у меня
|
||||
можно делегировать», «специфицируй процесс», "design a workflow", "loop me",
|
||||
"what can I delegate". Differs from grilling: grilling sharpens an existing
|
||||
plan/decision (convergence); loop-me finds + fully specifies recurring
|
||||
processes (workflow specs) until an implementer could build them without a
|
||||
single question.
|
||||
---
|
||||
|
||||
# Loop me
|
||||
|
||||
Design **workflow specs** for the recurring patterns in the user's life that
|
||||
are worth **delegating** — to an agent, a poller, a script, another person.
|
||||
Run the grilling discipline (relentless, a round of questions at a time, a
|
||||
recommended answer attached to each) aimed at the vocabulary and goal below.
|
||||
|
||||
The session is done when every workflow spec meets the **definition of done**
|
||||
— nothing is done while a question remains.
|
||||
|
||||
## The loop lens
|
||||
|
||||
A **loop** is a recurring pattern in the user's life: their career, their
|
||||
week, their morning, a single repeated activity. Picturing a life as loops
|
||||
within loops reveals how predictable its activities really are — which is what
|
||||
makes them worth delegating. Use the lens to find loops worth specifying, and
|
||||
propose ones the user hasn't noticed.
|
||||
|
||||
A **workflow** is the spec of one loop, made real. You run a workflow on a
|
||||
loop — the loop is its running instantiation.
|
||||
|
||||
**Ask about the user's world first** (tools, channels, terminology, frequency,
|
||||
pain points) before specifying anything. Sharpened fuzzy terms into canonical
|
||||
ones as they surface, and record them.
|
||||
|
||||
## Vocabulary
|
||||
|
||||
A shared language, reached for only when a workflow calls for it — never a
|
||||
checklist. **Mandate nothing structural**: a workflow needs no AI, no
|
||||
checkpoint, and no schedule unless the grilling shows it does.
|
||||
|
||||
- **Trigger** — what fires each run: an **event** (a new email, a new issue)
|
||||
or a **schedule** (every morning). Event-triggering is usually the more
|
||||
efficient.
|
||||
- **Checkpoint** — a human-in-the-loop point where the user is asked to verify
|
||||
or decide. Some workflows have none and run autonomously; some use no AI at
|
||||
all.
|
||||
- **Push right** — defer the checkpoint as far as it will go. Do maximal work
|
||||
before involving the human, so they are asked once, late, with everything
|
||||
prepared.
|
||||
- **Brief** — what a checkpoint presents: a tight, decision-ready summary —
|
||||
what was produced, why, and a link down to the asset itself — never the raw
|
||||
output. The user reads a brief, not a draft. Speed of review is imperative.
|
||||
|
||||
## Definition of done
|
||||
|
||||
A workflow spec is done when **an implementer agent could build it without
|
||||
asking a single question**. Grill until then; nothing is done while a question
|
||||
remains.
|
||||
|
||||
Concretely, a spec must answer, explicitly:
|
||||
|
||||
- **Trigger** — what starts a run (event / schedule / manual), with the exact
|
||||
signal.
|
||||
- **Steps** — ordered, unambiguous; each step has an owner (agent / script /
|
||||
human / poller) and an input→output contract.
|
||||
- **Data & sources** — where inputs come from, where outputs go, credentials
|
||||
needed (redacted, referenced by name).
|
||||
- **Checkpoints** — where (if anywhere) a human is asked, and what the brief
|
||||
looks like.
|
||||
- **Failure modes** — what can go wrong per step, and the default handling
|
||||
(retry / park / notify / abort).
|
||||
- **Verification** — how the implementer (or the poller) proves a run
|
||||
succeeded — a verifier command or an observable completion signal.
|
||||
|
||||
If you cannot write any of these without asking, ask. If the user cannot
|
||||
answer, the workflow is not ready to specify — narrow it.
|
||||
|
||||
### Independent check (before done)
|
||||
|
||||
Before declaring a spec done, verify it with a fresh-context non-implementer
|
||||
agent (review-kit method): give it the spec alone and ask "what would you need
|
||||
to ask before building this?" Any question it raises means the spec is not
|
||||
done — resolve it in the spec, don't answer the agent.
|
||||
|
||||
## Spec location
|
||||
|
||||
Where workflow specs live (per project-discipline Rule 1):
|
||||
|
||||
- regular project → `.wiki/concepts/<topic>-workflow.md`
|
||||
- workshop zone → `.brainstorm/<topic>.md` (running record), then the
|
||||
promotion pipeline takes over
|
||||
- user preference overrides the default
|
||||
|
||||
The session's raw notes on the user's world (tools, channels, terminology)
|
||||
go in the same running record / a `NOTES.md`-style section — kept thin and
|
||||
canonical, not a dump.
|
||||
|
||||
## Implementation handoff
|
||||
|
||||
Once a spec is done (definition of done met + independent check passed):
|
||||
|
||||
1. Break it into tasks on the project's `.tasks/` board (task-format; a
|
||||
poller-driven workflow gets `**Weight:**` + `**Notify:**`).
|
||||
2. Add a verifier to each implementation task (ralph-loop-execution style) —
|
||||
the spec's Verification line is the verifier command.
|
||||
3. Promote the spec to the wiki (workshop: promotion pipeline; project:
|
||||
`.wiki/concepts/`).
|
||||
|
||||
Do NOT delegate a workflow whose spec is not done — the implementer would
|
||||
have to ask questions the grilling should have resolved.
|
||||
|
||||
## Cross-agent applicability
|
||||
|
||||
Pure dialogue + spec methodology — no harness-specific tool references. The
|
||||
"implementer agent" / "fresh-context check" is any agent runtime (pi, Claude,
|
||||
codex, hermes); on a runtime without sub-agent spawning, do the fresh-context
|
||||
check by re-reading the spec against the definition-of-done list with fresh
|
||||
eyes after a break.
|
||||
|
||||
## Out of scope
|
||||
|
||||
- Does NOT stress-test a finished plan (that's grilling).
|
||||
- Does NOT run the divergent brainstorm (that's brainstorming).
|
||||
- Does NOT define the task-board format (see task-format) or the verifier
|
||||
loop mechanics (see ralph-loop-execution).
|
||||
- Does NOT decide WHAT is worth delegating — the lens proposes, the user
|
||||
decides.
|
||||
Reference in New Issue
Block a user