extend-engine
Skill1 starsChanged 5 days agoApache-2.0View on GitHub
Use when adding or changing a flowctl capability - a step kind, assertion kind, System 1 operation, config key, CLI command, MCP tool, or a public export of core. Gives the files to touch in TDD order and the checks that must pass.
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 0 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 8
Read packages/core/AGENTS.md (layout, gotchas) before starting.
- Very specific: line 12
Write the failing test through the module's interface (unit if no browser is needed, else *.browser.test.ts on fixture-app).
- Very specific: line 16
Update docs where users or agents look: root README quickstart (user-facing), packages/<pkg>/AGENTS.md table or gotchas, CONTEXT.md for a …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Extend the flowctl engine
Read packages/core/AGENTS.md (layout, gotchas) before starting. Every recipe is test first.
Always
- Write the failing test through the module's interface (unit if no browser is needed, else
*.browser.test.tson fixture-app). Run it, see it fail for the right reason. - Implement the smallest change. Keep folders' layer order (
flow ← browser ← run ← system1 ← explore). bun run checkafter each edit;bun run verifybefore saying done.- Decide whether it needs an ADR (
write-adrskill): yes if it changes an invariant, the flow YAML format, the System 1 protocol, a result shape, an exit code or a default users rely on. - Update docs where users or agents look: root README quickstart (user-facing),
packages/<pkg>/AGENTS.mdtable or gotchas,CONTEXT.mdfor a new domain term.
Recipes
| Change | Steps |
| Step kind | flow/schema.ts (zod) → flow/steps.ts (normalise + serializeStep) → browser/executor.ts → browser test on fixture-app (add the control to /lab if missing) → recorder if exploration can produce it |
| Assertion kind | flow/schema.ts → run/verifier.ts → seeded-bug skill (a bug only this assertion catches) → unit test for parsing, accuracy test for catching. Remember assertions poll until assertTimeout |
| System 1 operation | system1/protocol.ts (OPS) + system1/prompts.ts (OP_TEXT) → explore/request.ts → explore/act.ts → policy.test.ts case → fake System 1 (fixture-app/src/system1.ts) → golden test diff reviewed → contract tier run (billed; ask first) |
| Config key | config.ts zod schema with a default, written like the existing sections → config.test.ts (default + override) → README quickstart if users set it |
| CLI command | Logic in core first (with its test) → cli/src/index.ts (parse, call, format) → cli/test/cli.browser.test.ts → cli/README.md usage + exit codes |
| MCP tool (phase 2b) | Core behaviour first → mcp/src/server.ts registerTool with a zod shape → test through InMemoryTransport.createLinkedPair() → keep results compact; nothing on stdout but the protocol |
| Public export | Add to core/src/index.ts → update the list in core/test/api.test.ts on purpose → mention it in core/README.md |
Done means
bun run verify green, the new behaviour has a test that failed before, docs updated, ADR written if step 4 said so.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

