Agent skill

Functional

by citypaul in citypaul/.dotfiles

Functional programming patterns with immutable data. An agent skill from citypaul/.dotfiles.

Custom licenceAuto-check passedTesting & QA

Install Functional

skills CLI
$ npx skills add citypaul/.dotfiles --skill functional -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install citypaul/.dotfiles functional --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/citypaul/.dotfiles.git skills-src && mkdir -p .claude/skills && cp -r skills-src/claude/.claude/skills/functional .claude/skills/functional && rm -rf skills-src

Use ~/.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/

Facts

Skill name
functional
GitHub stars
740
Token cost
~3.6k tokens
SKILL.md length
1,299 words
Files
4
Skills in repo
44
Repo updated
First seen
Licence
Custom licence

At a glance

Functional programming patterns with immutable data. An agent skill from citypaul/.dotfiles.

  • Works in 3 steps: No side effects - doesn't mutate… → Deterministic - same input → same… → Referentially transparent - can replace…
  • Data transformations
  • SKILL.md covers Core Principles, Why Immutability Matters, Functional Light and Self-Documenting Code and…, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Functional is an agent skill from citypaul/.dotfiles. Functional programming patterns with immutable data. Use when writing logic, data transformations, or encountering mutation bugs — including any feature request that builds, merges, filters, sorts, prices or otherwise reshapes records, lists, carts, orders or invoices, even when it never mentions immutability; load it alongside tdd for such changes, not instead of it. Covers immutability violations catalog, pure functions, composition, early returns, and options objects. Also use when composing Effect programs or…

Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files (for example `resources/composition-patterns.md`, `resources/effect-runtime.md` and `resources/immutability-catalog.md`).

It sits in Testing & QA, covering Data cleaning, Forms and invoices and Test-driven development.

When your agent uses it

  • Data transformations
  • Encountering mutation bugs — including any feature request that builds
  • Otherwise reshapes records
  • Even when it never mentions immutability

Example prompts

  • “/functional”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. No side effects - doesn't mutate external state, modify arguments, or perform I/O
  2. Deterministic - same input → same output; no dependency on Date.now(), Math.random(), or globals
  3. Referentially transparent - can replace the call with its return value

What it can do on your machine

Read from SKILL.md and the folder at commit cd4028d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Functional loads about 3.6k tokens when it runs. Until then it costs about 174 tokens; SKILL.md has 1,299 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~174
When it runs · the whole SKILL.md, loaded when a task matches
~3.6k

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.

Safety

Auto-check passed

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.

SKILL.md

Its licence (Custom licence) doesn't allow us to republish the file, so here is its outline and opening line. It has 1,299 words (~3,570 tokens).

“Deep-dive resources are in the resources/ directory. Load them on demand:”

— opening of SKILL.md by citypaul, Custom licence
name
functional

Read the full SKILL.md on GitHub

Files

SKILL.md and 3 other files in claude/.claude/skills/functional of citypaul/.dotfiles.

  • SKILL.md
  • resources/composition-patterns.md
  • resources/effect-runtime.md
  • resources/immutability-catalog.md

Open the folder on GitHubat commit cd4028d

Compare with similar skills

Functional 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.

Functional compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Functional this skillcitypaul/.dotfiles740—~3.6kAutomated safety check: PassCustom licence
Replication Driven Researchbrycewang-stanford/Auto-Empirical-Research-Skills4.5k—~1.7kAutomated safety check: PassCustom licence
Extract Document Datasickn33/agentic-awesome-skills47k1 repos~1.1kAutomated safety check: PassApache-2.0
Playwright CLIsanity-io/sanity6.4k18 repos~1.9kAutomated safety check: PassMIT
TDDpietheinstrengholt/rssmonster56430 repos~906Automated safety check: PassMIT
TDD WorkflowhellangleZ/burn-in-cceverywhere-ralph11211 repos~2.4kAutomated safety check: PassNone

Similar skills

  • Replication Driven Research

    brycewang-stanford/Auto-Empirical-Research-Skills

    A skill your agent uses when starting empirical analysis, creating a data pipeline, generating results, or when data or model specifications change.

    4.5k GitHub stars~1.7k tokensUpdated 4 days ago
    Testing & QAAuto-check passed
  • Extract Document Data

    sickn33/agentic-awesome-skills

    Extract structured, grounded fields from documents — values cite their page, missing values abstain instead of hallucinating.

    47k GitHub starsUsed in 1 repo~1.1k tokens
    Documents & OfficeAuto-check passed
  • Playwright CLI

    sanity-io/sanity

    Official

    Automates browser interactions for web testing, form filling, screenshots, and data extraction.

    6.4k GitHub starsUsed in 18 repos~1.9k tokens
    Testing & QAAuto-check passed
  • TDD

    pietheinstrengholt/rssmonster

    Test-driven development. An agent skill from pietheinstrengholt/rssmonster.

    564 GitHub starsUsed in 30 repos~906 tokens
    Testing & QAAuto-check passed
  • TDD Workflow

    hellangleZ/burn-in-cceverywhere-ralph

    A skill your agent uses when writing new features, fixing bugs, or refactoring code.

    112 GitHub starsUsed in 11 repos~2.4k tokens
    Testing & QAAuto-check passed
  • Playwright

    JetBrains/skills

    Official

    A skill your agent uses when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via playwright-cli…

    366 GitHub starsUsed in 11 repos~986 tokens
    Testing & QAAuto-check passed

More from citypaul/.dotfiles

All 44 skills in this repo
  • Find Skills

    citypaul/.dotfiles

    Discover and, with authorization, install agent skills from the open skills ecosystem.

    740 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Render Code Shape

    citypaul/.dotfiles

    Render the shape of code — module boundaries, the types that cross them, signatures, and a cited call graph — for code that already exists or a change about to be built.

    740 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Structure Codebase

    citypaul/.dotfiles

    Design, audit, and evolve physical source and package structures that expose real architectural boundaries while keeping related behavior together.

    740 GitHub stars~4.4k tokensUpdated today
    Auto-check passed
  • Test Design Reviewer

    citypaul/.dotfiles

    Review test quality using Dave Farley's eight properties of good tests.

    740 GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Characterisation Tests

    citypaul/.dotfiles

    A skill your agent uses when modifying existing code that lacks tests and you need to document its actual current behavior before making changes -- the legacy code dilemma where you need tests to…

    740 GitHub stars~3.6k tokensUpdated today
    Auto-check passed
  • CI Debugging

    citypaul/.dotfiles

    Systematic CI/CD failure diagnosis using hypothesis-first investigation, local reproduction, and environment delta analysis.

    740 GitHub stars~1.5k tokensUpdated today
    Auto-check: notes

Questions about Functional

What does Functional do?

Functional programming patterns with immutable data. An agent skill from citypaul/.dotfiles. dotfiles. Functional programming patterns with immutable data.

When should I use Functional?

Functional fits situations like: data transformations; encountering mutation bugs — including any feature request that builds; otherwise reshapes records; even when it never mentions immutability.

How do I install Functional in Claude Code?

Run `npx skills add citypaul/.dotfiles --skill functional -a claude-code`. Or copy the skill folder (claude/.claude/skills/functional in citypaul/.dotfiles) into .claude/skills/functional in your project. Claude Code loads it when a task matches its description.

How do I install Functional in Codex?

Run `npx skills add citypaul/.dotfiles --skill functional -a codex`. Or copy the skill folder (claude/.claude/skills/functional in citypaul/.dotfiles) into .agents/skills/functional in your project. Codex loads it when a task matches its description.

Can I use Functional in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add citypaul/.dotfiles --skill functional -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/functional, .gemini/skills/functional, .github/skills/functional and .opencode/skills/functional in your project.

What does Functional need to run?

SKILL.md names no scripts, command-line tools or credentials: Functional is instructions for the agent only.

Does Functional access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Functional safe to install?

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.

What licence does Functional use?

Functional has a licence file (the repository's licence) that doesn't match a standard licence. Read it on GitHub before reusing the skill.

How many tokens does Functional use?

About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Functional?

Skills that share tags, products or a category with Functional: Replication Driven Research (brycewang-stanford/Auto-Empirical-Research-Skills, 4.5k stars), Extract Document Data (sickn33/agentic-awesome-skills, 47k stars), Playwright CLI (sanity-io/sanity, 6.4k stars) and TDD (pietheinstrengholt/rssmonster, 564 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Functional?

citypaul (a GitHub user) maintains it in citypaul/.dotfiles, which has 740 GitHub stars. The repository holds 44 skills in this directory. The repository was last updated on October 9, 2026.

Source: citypaul/.dotfiles on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.