CtrlK
BlogDocsLog inGet started
Tessl Logo

evilissimo/transformational-programming

Decompose problems into pipelines of data transformations. Refactors loops into map/filter/reduce chains, converts nested/OO logic into composable function sequences, designs multi-step data transformation pipelines. Trigger on: "transformational programming", "data pipeline", "function pipeline", "pipe operator", "|>", "stream processing", "chained transformations", "Unix pipes", "dataflow", "decompose into steps", "write this as a pipeline", "compose functions", "chain of transformations", or restructuring imperative/OO code into data transforms. NOT for ETL infrastructure or stream processing frameworks (Kafka, Flink) — focuses on code-level function composition and transformation design patterns.

94

1.19x
Quality

97%

Does it follow best practices?

Impact

85%

1.19x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

language-patterns.mdreferences/

Transformational Programming — Language mechanisms and error handling patterns

Pipeline mechanisms by language

LanguageMechanism
Elixir|> operator
F#, Elm, Swift|> operator
Clojure->, ->> threading macros
R%>% (magrittr)
Haskell&, $, or custom operators
JavaScript.map().filter().reduce(), node:stream pipelines
PythonGenerator chaining, explicit assignment chains
JavaStream API chaining
RustIterator chains (.map().filter().collect())
Any languageExplicit assignment: a = f(x); b = g(a); h(b)

Error handling in pipelines

Instead of raw values, wrap results in a type that carries success or failure. Each step either transforms a success or passes through a failure.

LanguageWrapperForwarding pattern
HaskellMaybe a, Either e a>>= (bind)
RustResult<T, E>? operator
Elixir{:ok, val} | {:error, reason}Pattern match: defp fn({:ok, data}), do: ... — second clause for error
ScalaOption, Eithermap / flatMap
JavaScriptPromise.then().catch()
PythonCustom Result type or returns libunwrap or early return check

Fallback for languages without pattern matching — explicit check after each step:

def pipeline(input):
    result = step_one(input)
    if is_error(result):
        return result
    result = step_two(result)
    if is_error(result):
        return result
    return step_three(result)

SKILL.md

tile.json