Agent skill

Factory Function Composition

by EpicenterHQ in EpicenterHQ/epicenter

Factory function patterns to compose clients and services. An agent skill from EpicenterHQ/epicenter.

Custom licenceAuto-check passedDevelopment

Install Factory Function Composition

skills CLI
$ npx skills add EpicenterHQ/epicenter --skill factory-function-composition -a claude-code

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

GitHub CLI
$ gh skill install EpicenterHQ/epicenter factory-function-composition --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/EpicenterHQ/epicenter.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/factory-function-composition .claude/skills/factory-function-composition && 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
factory-function-composition
GitHub stars
4.8k
Token cost
~3k tokens
SKILL.md length
965 words
Files
3 (incl. references)
Skills in repo
65
Repo updated
First seen
Licence
Custom licence

At a glance

Factory function patterns to compose clients and services. An agent skill from EpicenterHQ/epicenter.

  • Works in 4 steps: Client configuration belongs at client… → Each layer has its own options: client,… → Dependencies come first: factory… → …
  • Wrapping resources with domain methods
  • SKILL.md covers The Universal Signature, The Core Pattern, Key Principles and Recognizing the Anti-Patterns, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Factory Function Composition is an agent skill from EpicenterHQ/epicenter. Factory function patterns to compose clients and services. Use when wrapping resources with domain methods or refactoring mixed client/service/method options.

Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/single-or-array-pattern.md` and `references/sync-construction-render-gate.md`).

It sits in Development, covering Refactoring. The repository describes itself as: Open-source, local-first apps.

When your agent uses it

  • Wrapping resources with domain methods
  • Refactoring mixed client/service/method options

Example prompts

  • “/factory-function-composition”

Workflow steps

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

  1. Client configuration belongs at client creation time: don't pipe clientOptions through your factory
  2. Each layer has its own options: client, service, and method options stay separate
  3. Dependencies come first: factory functions take dependencies as the first argument
  4. Return objects with methods: not standalone functions that need the resource passed in

What it can do on your machine

Read from SKILL.md and the folder at commit 9cc65c3. 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

Factory Function Composition loads about 3k tokens when it runs, and up to ~5.5k if it reads all its reference files. Until then it costs about 47 tokens; SKILL.md has 965 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~47
When it runs · the whole SKILL.md, loaded when a task matches
~3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.5k

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 965 words (~3,038 tokens).

“This skill helps you apply factory function patterns for clean dependency injection and function composition in TypeScript.”

— opening of SKILL.md by EpicenterHQ, Custom licence
name
factory-function-composition
metadata.author
epicenter
metadata.version
1.0

Read the full SKILL.md on GitHub

Files

SKILL.md and 2 other files (references) in .agents/skills/factory-function-composition of EpicenterHQ/epicenter.

  • SKILL.md
  • references/single-or-array-pattern.md
  • references/sync-construction-render-gate.md

Open the folder on GitHubat commit 9cc65c3

Compare with similar skills

Factory Function Composition 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.

Factory Function Composition compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Factory Function Composition this skillEpicenterHQ/epicenter4.8k—~3kAutomated safety check: PassCustom licence
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 EpicenterHQ/epicenter

All 65 skills in this repo
  • Agent Instructions

    EpicenterHQ/epicenter

    Write and maintain repository guidance across AGENTS.md, CLAUDE.md, and .agents/skills.

    4.8k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Consult Claude

    EpicenterHQ/epicenter

    Assign Claude Code a read-only investigation, recommendation, or finished text draft.

    4.8k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Better Auth security hardening: rate limits, secrets, CSRF, trusted origins, cookies, sessions, OAuth tokens, and audit logging.

    4.8k GitHub stars~896 tokensUpdated today
    Auto-check passed
  • Cohesion Over Testability

    EpicenterHQ/epicenter

    Collapse test-shaped production boundaries while preserving behavior and coverage.

    4.8k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Collapse Pass

    EpicenterHQ/epicenter

    Remove indirection that does not earn its boundary across a diff or package.

    4.8k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Error Handling

    EpicenterHQ/epicenter

    Apply Wellcrafted Result patterns to fallible operations and preserve failures at boundaries.

    4.8k GitHub stars~1.4k tokensUpdated today
    Auto-check passed

Categories

Questions about Factory Function Composition

What does Factory Function Composition do?

Factory function patterns to compose clients and services. An agent skill from EpicenterHQ/epicenter. Factory Function Composition is an agent skill from EpicenterHQ/epicenter. Factory function patterns to compose clients and services.

When should I use Factory Function Composition?

Factory Function Composition fits situations like: wrapping resources with domain methods; refactoring mixed client/service/method options.

How do I install Factory Function Composition in Claude Code?

Run `npx skills add EpicenterHQ/epicenter --skill factory-function-composition -a claude-code`. Or copy the skill folder (.agents/skills/factory-function-composition in EpicenterHQ/epicenter) into .claude/skills/factory-function-composition in your project. Claude Code loads it when a task matches its description.

How do I install Factory Function Composition in Codex?

Run `npx skills add EpicenterHQ/epicenter --skill factory-function-composition -a codex`. Or copy the skill folder (.agents/skills/factory-function-composition in EpicenterHQ/epicenter) into .agents/skills/factory-function-composition in your project. Codex loads it when a task matches its description.

Can I use Factory Function Composition 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 EpicenterHQ/epicenter --skill factory-function-composition -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/factory-function-composition, .gemini/skills/factory-function-composition, .github/skills/factory-function-composition and .opencode/skills/factory-function-composition in your project.

What does Factory Function Composition need to run?

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

Does Factory Function Composition 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 Factory Function Composition 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 Factory Function Composition use?

Factory Function Composition 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 Factory Function Composition use?

About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.4k tokens, read only when the agent opens those files.

What are the alternatives to Factory Function Composition?

Skills that share tags, products or a category with Factory Function Composition: 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 Factory Function Composition?

EpicenterHQ (a GitHub organization) maintains it in EpicenterHQ/epicenter, which has 4,819 GitHub stars. The repository holds 65 skills in this directory. The repository was last updated on October 8, 2026.

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