agentleFS
connext-solutionsconnext-solutions/flowctl/.claude/skills/extend-engine/SKILL.md

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
  1. Very specific:

    Read packages/core/AGENTS.md (layout, gotchas) before starting.

    line 8
  2. Very specific:

    Write the failing test through the module's interface (unit if no browser is needed, else *.browser.test.ts on fixture-app).

    line 12
  3. Very specific:

    Update docs where users or agents look: root README quickstart (user-facing), packages/<pkg>/AGENTS.md table or gotchas, CONTEXT.md for a …

    line 16

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Extend the flowctl engine

Read packages/core/AGENTS.md (layout, gotchas) before starting. Every recipe is test first.

Always

  1. Write the failing test through the module's interface (unit if no browser is needed, else *.browser.test.ts on fixture-app). Run it, see it fail for the right reason.
  2. Implement the smallest change. Keep folders' layer order (flow ← browser ← run ← system1 ← explore).
  3. bun run check after each edit; bun run verify before saying done.
  4. Decide whether it needs an ADR (write-adr skill): 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.
  5. Update docs where users or agents look: root README quickstart (user-facing), packages/<pkg>/AGENTS.md table or gotchas, CONTEXT.md for a new domain term.

Recipes

ChangeSteps
Step kindflow/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 kindflow/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 operationsystem1/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 keyconfig.ts zod schema with a default, written like the existing sections → config.test.ts (default + override) → README quickstart if users set it
CLI commandLogic 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 exportAdd 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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.