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

criteria.jsonevals/scenario-3/

{
  "context": "Tests whether the agent implements an Elixir data transformation pipeline using the |> (pipe) operator for composition and {:ok, val} | {:error, reason} tuples with pattern matching for error handling across pipeline stages.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Pipe operator used",
      "description": "feedback_pipeline.ex uses the |> (pipe) operator to chain at least two transformation steps",
      "max_score": 22
    },
    {
      "name": "ok/error tuples for errors",
      "description": "feedback_pipeline.ex uses {:ok, value} and {:error, reason} tuples as the return type for at least one validation or parsing function",
      "max_score": 22
    },
    {
      "name": "Pattern matching on error tuples",
      "description": "feedback_pipeline.ex uses pattern matching (function clauses or case/with) to handle {:ok, data} and {:error, reason} separately within the pipeline — not just a single unwrap at the end",
      "max_score": 22
    },
    {
      "name": "Errors propagate without aborting",
      "description": "Invalid submissions are excluded from the output and counted separately rather than raising an exception that stops the whole pipeline",
      "max_score": 12
    },
    {
      "name": "Pure transformation functions",
      "description": "Each pipeline step (validate, normalize, classify, aggregate) is implemented as a function that takes its input as an argument and returns a new value, without modifying shared state",
      "max_score": 12
    },
    {
      "name": "Data Flow documented",
      "description": "pipeline_analysis.md contains a Data Flow section using → notation to show the transformation chain",
      "max_score": 5
    },
    {
      "name": "Step breakdown documented",
      "description": "pipeline_analysis.md contains a step breakdown listing each stage and what it does",
      "max_score": 5
    }
  ]
}

evals

SKILL.md

tile.json