Agent skill

Functional Core Imperative Shell

by ed3dai in ed3dai/ed3d-plugins

A skill your agent uses when writing or refactoring code, before creating files - enforces separation of pure business logic (Functional Core) from side effects (Imperative Shell) using FCIS pattern…

No licenceAuto-check: notesDevelopment

Install Functional Core Imperative Shell

skills CLI
$ npx skills add ed3dai/ed3d-plugins --skill functional-core-imperative-shell -a claude-code

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

GitHub CLI
$ gh skill install ed3dai/ed3d-plugins functional-core-imperative-shell --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/ed3dai/ed3d-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/ed3d-house-style/skills/howto-functional-vs-imperative .claude/skills/functional-core-imperative-shell && 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-core-imperative-shell
GitHub stars
250
Token cost
~3.4k tokens
SKILL.md length
1,107 words
Files
1
Skills in repo
34
Repo updated
First seen
Licence
None found

At a glance

A skill your agent uses when writing or refactoring code, before creating files - enforces separation of pure business logic (Functional Core) from side effects (Imperative Shell) using FCIS pattern…

  • Works in 3 steps: Functional Core: Pure functions only. No… → Imperative Shell: I/O coordination only.… → Classify every file with runtime…
  • Refactoring code
  • SKILL.md covers Overview, When to Use, MANDATORY: File Classification and File Type Definitions, plus 9 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Functional Core Imperative Shell is an agent skill from ed3dai/ed3d-plugins. Use when writing or refactoring code, before creating files - enforces separation of pure business logic (Functional Core) from side effects (Imperative Shell) using FCIS pattern with mandatory file classification

Its SKILL.md is about 3.4k 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 Development, covering Refactoring. The repository describes itself as: Ed's repo of Claude Code plugins, centered around a research-plan-implement workflow. Only a tiny bit cursed. If you're lucky.

When your agent uses it

  • Refactoring code
  • Tasks that involve Refactoring

Example prompts

  • “/functional-core-imperative-shell”

Requirements

  • Python 3

Workflow steps

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

  1. Functional Core: Pure functions only. No I/O except logging. Easy to test.
  2. Imperative Shell: I/O coordination only. Minimal logic. Calls Core.
  3. Classify every file with runtime behavior. Type-only files, constants, barrels, tests, and generated files are exempt.

What it can do on your machine

Read from SKILL.md and the folder at commit 0c90f4b. 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 python and dot).

    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 Core Imperative Shell loads about 3.4k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 1,107 words of instructions outside code blocks.

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

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:59
    files (eslint.config.js, tsconfig.json, .env, etc.)

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

Without a licence we can't republish the file, so here is its outline and opening line. It has 1,107 words (~3,426 tokens).

“Core principle: Separate pure business logic (Functional Core) from side effects (Imperative Shell). Pure functions go in one file, I/O operations in another.”

— opening of SKILL.md by ed3dai
name
functional-core-imperative-shell
user-invocable
false

Read the full SKILL.md on GitHub

Files

Just SKILL.md in plugins/ed3d-house-style/skills/howto-functional-vs-imperative of ed3dai/ed3d-plugins.

Open the folder on GitHubat commit 0c90f4b

Compare with similar skills

Functional Core Imperative Shell 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 Core Imperative Shell compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Functional Core Imperative Shell this skilled3dai/ed3d-plugins250—~3.4kAutomated safety check: NotesNone
Guidelinesakash-network/node1.1k22 repos~577Automated safety check: PassMIT
Component Refactoringlangflow-ai/langflow156k—~3.5kAutomated safety check: PassMIT
Migrate Core Code to Submodulestinyhumansai/openhuman42k—~2.6kAutomated safety check: PassGPL-3.0
Systematic Code Refactoringluongnv89/claude-howto42k—~3kAutomated safety check: PassMIT
Codexskills-directory/skill-codex1.5k3 repos~1.8kAutomated safety check: PassMIT

Similar skills

  • Guidelines

    akash-network/node

    Behavioral guidelines to reduce common LLM coding mistakes. An agent skill from akash-network/node.

    1.1k GitHub starsUsed in 22 repos~577 tokens
    DevelopmentAuto-check passed
  • Component Refactoring

    langflow-ai/langflow

    Refactor high-complexity React components in Langflow frontend.

    156k GitHub stars~3.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Migrate Core Code to Submodules

    tinyhumansai/openhuman

    Plans and carries out moving non-host-specific code and its tests from the OpenHuman core into vendored tiny submodule libraries, then releases the submodule and re-pins the host.

    42k GitHub stars~2.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Systematic Code Refactoring

    luongnv89/claude-howto

    Guides refactoring in phases based on Martin Fowler's method: research, test coverage check, planning and small tested steps, with your approval at each phase.

    42k GitHub stars~3k tokensUpdated 7 days ago
    DevelopmentAuto-check passed
  • Codex

    skills-directory/skill-codex

    A skill your agent uses when the user asks to run Codex CLI (codex exec, codex resume) or references OpenAI Codex for code analysis, refactoring, or automated editing

    1.5k GitHub starsUsed in 3 repos~1.8k tokens
    DevelopmentAuto-check passed
  • Ponytail

    DavidObando/gsharp

    Forces the laziest solution that actually works, simplest, shortest, most minimal.

    565 GitHub starsUsed in 8 repos~1.7k tokens
    DevelopmentAuto-check passed

More from ed3dai/ed3d-plugins

All 34 skills in this repo
  • Systematic Debugging

    ed3dai/ed3d-plugins

    A skill your agent uses when encountering any bug, test failure, or unexpected behavior, before proposing fixes - four-phase framework (root cause investigation, pattern analysis, hypothesis…

    250 GitHub starsUsed in 3 repos~2.4k tokens
    Auto-check passed
  • A skill your agent uses when creating or editing skills, before deployment, to verify they work under pressure and resist rationalization - applies RED-GREEN-REFACTOR cycle to process documentation…

    250 GitHub starsUsed in 3 repos~3.5k tokens
    Auto-check passed
  • Brainstorming

    ed3dai/ed3d-plugins

    A skill your agent uses when creating or developing anything, before writing code or implementation plans - refines rough ideas into fully-formed designs through structured Socratic questioning…

    250 GitHub starsUsed in 1 repo~4.3k tokens
    Auto-check passed
  • Writing Good Tests

    ed3dai/ed3d-plugins

    A skill your agent uses when writing or reviewing tests - covers test philosophy, condition-based waiting, mocking strategy, and test isolation

    250 GitHub starsUsed in 1 repo~2.7k tokens
    Auto-check passed
  • Writing Skills

    ed3dai/ed3d-plugins

    A skill your agent uses when creating new skills, editing existing skills, or verifying skills work before deployment - applies TDD to process documentation by testing with subagents before writing…

    250 GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • Coding Effectively

    ed3dai/ed3d-plugins

    ALWAYS use this skill when writing or refactoring code. An agent skill from ed3dai/ed3d-plugins.

    250 GitHub stars~1.9k tokensUpdated 1 mo ago
    Auto-check passed

Categories

Questions about Functional Core Imperative Shell

What does Functional Core Imperative Shell do?

A skill your agent uses when writing or refactoring code, before creating files - enforces separation of pure business logic (Functional Core) from side effects (Imperative Shell) using FCIS pattern…. Functional Core Imperative Shell is an agent skill from ed3dai/ed3d-plugins.

When should I use Functional Core Imperative Shell?

Functional Core Imperative Shell fits situations like: refactoring code; tasks that involve Refactoring.

How do I install Functional Core Imperative Shell in Claude Code?

Run `npx skills add ed3dai/ed3d-plugins --skill functional-core-imperative-shell -a claude-code`. Or copy the skill folder (plugins/ed3d-house-style/skills/howto-functional-vs-imperative in ed3dai/ed3d-plugins) into .claude/skills/functional-core-imperative-shell in your project. Claude Code loads it when a task matches its description.

How do I install Functional Core Imperative Shell in Codex?

Run `npx skills add ed3dai/ed3d-plugins --skill functional-core-imperative-shell -a codex`. Or copy the skill folder (plugins/ed3d-house-style/skills/howto-functional-vs-imperative in ed3dai/ed3d-plugins) into .agents/skills/functional-core-imperative-shell in your project. Codex loads it when a task matches its description.

Can I use Functional Core Imperative Shell 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 ed3dai/ed3d-plugins --skill functional-core-imperative-shell -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-core-imperative-shell, .gemini/skills/functional-core-imperative-shell, .github/skills/functional-core-imperative-shell and .opencode/skills/functional-core-imperative-shell in your project.

What does Functional Core Imperative Shell need to run?

SKILL.md names no scripts, command-line tools or credentials: Functional Core Imperative Shell is instructions for the agent only. Our summary lists: Python 3.

Does Functional Core Imperative Shell 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 Core Imperative Shell safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Functional Core Imperative Shell use?

No licence was found for Functional Core Imperative Shell or its repository. Without one, default copyright applies: ask the author before reusing or redistributing it.

How many tokens does Functional Core Imperative Shell use?

About 3.4k 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 Core Imperative Shell?

Skills that share tags, products or a category with Functional Core Imperative Shell: Guidelines (akash-network/node, 1.1k stars), Component Refactoring (langflow-ai/langflow, 156k stars), Migrate Core Code to Submodules (tinyhumansai/openhuman, 42k stars) and Systematic Code Refactoring (luongnv89/claude-howto, 42k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Functional Core Imperative Shell?

ed3dai (a GitHub organization) maintains it in ed3dai/ed3d-plugins, which has 250 GitHub stars. The repository holds 34 skills in this directory. The repository was last updated on September 6, 2026.

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