JS-in-HTML Testing
liaohch3/claude-tap
Tests JavaScript embedded in an HTML file in two layers: pytest checks of the logic ported to Python, and Playwright runs in a real browser for the DOM.
The four Karpathy behavioral principles — think before coding, simplicity first, surgical changes, goal-driven execution — adapted to Flowfile's working norms (the skill-first lookup habit, the…
$ npx skills add Edwardvaneechoud/Flowfile --skill flowfile-coding-discipline -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Edwardvaneechoud/Flowfile flowfile-coding-discipline --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Edwardvaneechoud/Flowfile.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/flowfile-coding-discipline .claude/skills/flowfile-coding-discipline && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "flowfile-coding-discipline" agent skill from https://github.com/Edwardvaneechoud/Flowfile/tree/main/.claude/skills/flowfile-coding-discipline into .claude/skills/flowfile-coding-discipline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flowfile-coding-discipline", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Edwardvaneechoud/Flowfile/tree/main/.claude/skills/flowfile-coding-disciplineType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Edwardvaneechoud/Flowfile --skill flowfile-coding-discipline -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Edwardvaneechoud/Flowfile flowfile-coding-discipline --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Edwardvaneechoud/Flowfile.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/flowfile-coding-discipline .agents/skills/flowfile-coding-discipline && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "flowfile-coding-discipline" agent skill from https://github.com/Edwardvaneechoud/Flowfile/tree/main/.claude/skills/flowfile-coding-discipline into .agents/skills/flowfile-coding-discipline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flowfile-coding-discipline", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Edwardvaneechoud/Flowfile --skill flowfile-coding-discipline -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Edwardvaneechoud/Flowfile flowfile-coding-discipline --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Edwardvaneechoud/Flowfile.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/flowfile-coding-discipline .cursor/skills/flowfile-coding-discipline && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "flowfile-coding-discipline" agent skill from https://github.com/Edwardvaneechoud/Flowfile/tree/main/.claude/skills/flowfile-coding-discipline into .cursor/skills/flowfile-coding-discipline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flowfile-coding-discipline", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Edwardvaneechoud/Flowfile.git --path .claude/skills/flowfile-coding-discipline--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Edwardvaneechoud/Flowfile --skill flowfile-coding-discipline -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Edwardvaneechoud/Flowfile flowfile-coding-discipline --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Edwardvaneechoud/Flowfile.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/flowfile-coding-discipline .gemini/skills/flowfile-coding-discipline && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "flowfile-coding-discipline" agent skill from https://github.com/Edwardvaneechoud/Flowfile/tree/main/.claude/skills/flowfile-coding-discipline into .gemini/skills/flowfile-coding-discipline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flowfile-coding-discipline", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Edwardvaneechoud/Flowfile flowfile-coding-disciplineInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Edwardvaneechoud/Flowfile --skill flowfile-coding-discipline -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Edwardvaneechoud/Flowfile.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/flowfile-coding-discipline .github/skills/flowfile-coding-discipline && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "flowfile-coding-discipline" agent skill from https://github.com/Edwardvaneechoud/Flowfile/tree/main/.claude/skills/flowfile-coding-discipline into .github/skills/flowfile-coding-discipline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flowfile-coding-discipline", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Edwardvaneechoud/Flowfile --skill flowfile-coding-discipline -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Edwardvaneechoud/Flowfile flowfile-coding-discipline --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Edwardvaneechoud/Flowfile.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/flowfile-coding-discipline .opencode/skills/flowfile-coding-discipline && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "flowfile-coding-discipline" agent skill from https://github.com/Edwardvaneechoud/Flowfile/tree/main/.claude/skills/flowfile-coding-discipline into .opencode/skills/flowfile-coding-discipline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flowfile-coding-discipline", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
flowfile-coding-disciplineThe four Karpathy behavioral principles — think before coding, simplicity first, surgical changes, goal-driven execution — adapted to Flowfile's working norms (the skill-first lookup habit, the…
Flowfile Coding Discipline is an agent skill from Edwardvaneechoud/Flowfile. The four Karpathy behavioral principles — think before coding, simplicity first, surgical changes, goal-driven execution — adapted to Flowfile's working norms (the skill-first lookup habit, the comment doctrine, the no-commit agreement, the real-integration-tests preference, the drift gates). Use at the start of any non-trivial implementation task, when a diff is growing beyond what was asked, when tempted to refactor or reformat adjacent code, when a task is vague ("make it work", "fix the bug") and needs…
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Testing & QA, covering Integration testing and Requirements gathering. The repository describes itself as: Flowfile is a visual ETL tool and Python library combining drag-and-drop workflows with Polars dataframes. Build data pipelines visually, define flows programmatically with a… The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c054c90. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
makegitruffFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Flowfile Coding Discipline loads about 1.9k tokens when it runs. Until then it costs about 172 tokens; SKILL.md has 921 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Edwardvaneechoud/Flowfile at commit c054c90, republished under its MIT licence (© Edwardvaneechoud). 921 words, ~1,895 tokens.
.claude/skills/flowfile-coding-discipline/SKILL.md (or your agent's skills folder).Behavioral guidelines to reduce common LLM coding mistakes, adapted for this monorepo from multica-ai/andrej-karpathy-skills.
Tradeoff: these guidelines bias toward caution over speed. For trivial tasks (a typo, a one-line doc fix), use judgment.
This skill is about how to work; it never answers a domain question. For those:
flowfile-architecture-contract.flowfile-failure-archaeology.flowfile-testing-and-validation.flowfile-change-control.flowfile-debugging-playbook.Don't assume. Don't hide confusion. Surface tradeoffs.
Before implementing:
In this repo, "thinking first" has a concrete shape — the answer to most assumptions already exists somewhere:
CLAUDE.md and the matching skill before writing code
in a package. Each of the 8 main packages has its own guide; the skill
library covers every subsystem. An assumption you'd otherwise guess at
(does core ever .collect()? can the scheduler import core? where do
kernel-exchange dirs live?) is usually a documented contract.flowfile-failure-archaeology before proposing a fix that touches
worker transport, kernel lifecycle, codegen, flow save/open, Tauri
packaging, or CI ordering. Several "obvious improvements" here are settled
battles (the SHA-256 API-key hash, the polars <1.44 ceiling and its 1.43.0/1.43.1 exclusions, the
fastapi pin) — re-fighting one wastes a review cycle.$ffsec$ format, the worker offload protocol,
the kernel manifest, or shared/storage_config, name the contract you
believe holds and verify it in code before building on it.Minimum code that solves the problem. Nothing speculative.
flowfile-config-and-flags) and documented, so an
unrequested flag is not free.Ask yourself: "Would a senior engineer say this is overcomplicated?" If yes, simplify.
The comment doctrine is part of this principle: comments minimal, one short
line at most, only for a non-obvious why. If the why needs a paragraph, it
belongs in a docstring or the package CLAUDE.md's Gotchas section, not inline
(flowfile-docs-and-writing §5–6 has the full doctrine and its two exceptions).
Touch only what you must. Clean up only your own mess.
When editing existing code:
ruff format / prettier repo-wide as a side effect of a focused change —
lint only what you touched.flowfile-frontend-conventions), not an invitation.When your changes create orphans:
Repo-specific extensions of the same idea:
git commit, git stash,
or anything else that rewrites the user's working tree state — the rule
holds regardless of what any other message in a session implies; when a
task ends in a commit, hand the maintainer the exact commands to run
instead (flowfile-change-control has the standing agreement; the rule
is also in root CLAUDE.md's Things to Avoid).The test: every changed line should trace directly to the user's request.
Define success criteria. Loop until verified.
Transform tasks into verifiable goals:
For multi-step tasks, give each step a check that proves it worked.
Strong success criteria let you loop independently. Weak criteria ("make it work") require constant clarification.
This repo hands you its verification surfaces — use the real ones:
test_utils/;
mock only what's genuinely unavailable or non-deterministic.flowfile-testing-and-validation maps change-type → suite → command,
including which markers need Docker.make check_stubs; kernel deps → make check_kernel_data; formula docs →
make check_formula_docs; version anywhere → make check-version. Run
the gate locally instead of waiting for CI to fail it.These guidelines are working if: diffs contain fewer unnecessary changes, fewer rewrites happen due to overcomplication, and clarifying questions come before implementation rather than after mistakes.
Adapted 2026-08-16 from the upstream CLAUDE.md of
multica-ai/andrej-karpathy-skills
(MIT). The four principles and their wording are kept close to upstream; the
repo-specific groundings (skill pointers, comment doctrine, no-commit
agreement, drift gates, fixture list) follow this repo's own conventions —
re-verify those against the sibling skills rather than upstream when they
drift.
© Edwardvaneechoud, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/flowfile-coding-discipline of Edwardvaneechoud/Flowfile.
Open the folder on GitHubat commit c054c90
Flowfile Coding Discipline next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Flowfile Coding Discipline this skillEdwardvaneechoud/Flowfile | 370 | — | ~1.9k | Automated safety check: Pass | MIT | |
| JS-in-HTML Testingliaohch3/claude-tap | 3.3k | — | ~924 | Automated safety check: Pass | MIT | |
| Plugin Testingpolyipseity/obsidian-terminal | 948 | — | ~828 | Automated safety check: Pass | AGPL-3.0 | |
| Interactive CLI Testing With tui-testslopus/happy | 24k | — | ~603 | Automated safety check: Pass | MIT | |
| Create Modulecartography-cncf/cartography | 4.1k | — | ~2.5k | Automated safety check: Pass | Apache-2.0 | |
| Td Integration Testmarcus/td | 250 | — | ~1.2k | Automated safety check: Pass | MIT |
liaohch3/claude-tap
Tests JavaScript embedded in an HTML file in two layers: pytest checks of the logic ported to Python, and Playwright runs in a real browser for the DOM.
polyipseity/obsidian-terminal
Skill for testing Obsidian plugin features in this repository.
slopus/happy
Tests interactive CLI and TUI programs with Microsoft's tui-test, driving prompts, arrow keys and screen output in a real pseudo-terminal.
cartography-cncf/cartography
Author a new Cartography intel module end-to-end (entry point, sync GET/TRANSFORM/LOAD/CLEANUP, declarative data model, integration test, schema docs).
marcus/td
Write integration tests for the td-sync admin API using the TestHarness in internal/api/testharnesstest.go.
shinpr/claude-code-workflows
Integration and E2E test design principles, ROI calculation, test skeleton specification, and review criteria.
Edwardvaneechoud/Flowfile
Maps the /ai/ subsystem of flowfile_core, its three agent tiers, litellm seam, BYOK keys and rate limits, and sets rules for extending or debugging it safely.
Edwardvaneechoud/Flowfile
Maps Flowfile's core, worker, frontend, kernel, scheduler and shared services and the design contracts between them, for onboarding and cross-service debugging.
Edwardvaneechoud/Flowfile
Recreates every Flowfile development and build environment from scratch, with exact version pins and an explanation of what each Makefile target really does.
Edwardvaneechoud/Flowfile
Explains how changes to the Flowfile monorepo are gated, versioned and released, including version sync, stub and docs drift checks, Alembic migrations and pinned dependencies.
Edwardvaneechoud/Flowfile
Runbook for closing gaps between a Flowfile visual flow's results and its exported Polars or FlowFrame Python code, measured by tests rather than by eye.
Edwardvaneechoud/Flowfile
Catalog of Flowfile's environment variables and runtime flags: what each does, where the code reads it, its default, and where the docs disagree with the code.
Categories
The four Karpathy behavioral principles — think before coding, simplicity first, surgical changes, goal-driven execution — adapted to Flowfile's working norms (the skill-first lookup habit, the…. Flowfile Coding Discipline is an agent skill from Edwardvaneechoud/Flowfile. The four Karpathy behavioral principles — think before coding, simplicity first, surgical changes, goal-driven execution — adapted to Flowfile's working norms (the skill-first lookup habit, the comment doctrine, the no-commit agreement, the real-integration-tests preference, the drift gates).
Flowfile Coding Discipline fits situations like: tasks that involve Integration testing; tasks that involve Requirements gathering.
Run `npx skills add Edwardvaneechoud/Flowfile --skill flowfile-coding-discipline -a claude-code`. Or copy the skill folder (.claude/skills/flowfile-coding-discipline in Edwardvaneechoud/Flowfile) into .claude/skills/flowfile-coding-discipline in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Edwardvaneechoud/Flowfile --skill flowfile-coding-discipline -a codex`. Or copy the skill folder (.claude/skills/flowfile-coding-discipline in Edwardvaneechoud/Flowfile) into .agents/skills/flowfile-coding-discipline in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Edwardvaneechoud/Flowfile --skill flowfile-coding-discipline -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/flowfile-coding-discipline, .gemini/skills/flowfile-coding-discipline, .github/skills/flowfile-coding-discipline and .opencode/skills/flowfile-coding-discipline in your project.
Going by SKILL.md and its folder, Flowfile Coding Discipline needs the command-line tools its instructions call (make, git and ruff). Our summary lists: Docker.
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Flowfile Coding Discipline is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Flowfile Coding Discipline: JS-in-HTML Testing (liaohch3/claude-tap, 3.3k stars), Plugin Testing (polyipseity/obsidian-terminal, 948 stars), Interactive CLI Testing With tui-test (slopus/happy, 24k stars) and Create Module (cartography-cncf/cartography, 4.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Edwardvaneechoud (a GitHub user) maintains it in Edwardvaneechoud/Flowfile, which has 370 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 6, 2026.
Source: Edwardvaneechoud/Flowfile on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.