architecture-paradigm-functional-core
Applies Functional Core, Imperative Shell to isolate logic from side effects Skill: architecture-paradigm-functional-core Owner: athola Summary: Applies Functional Core, Imperative Shell to isolate logic from side effects Tags: latest:1.9.19 Version history: v1.9.19 | 2026-08-26T13:05:13.365Z | user Release v1.9.19 v1.9.18 | 2026-08-15T21:29:09.472Z | user Release v1.9.18 v1.9.17 | 2026-07-30T05:28:58.035Z | user Release v1.9.17 v1.9.16 | 2026-07-14T19:46:06.054Z | user Release v1.9.16 v1.9.1
Rank
62
Safety
84
Downloads
1.8k
Updated
Oct 10, 2026
Version
1.9.19
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1.8K downloads reported by the source. Last updated 10/10/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 10, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 10, 2026
- Adoption signal
- 1.8K downloadsadoption · observed Oct 10, 2026
- Latest release
- 1.9.19release · observed Aug 26, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s17emme0e2m3cpf7k2jvp3a84984b8z9:nm-archetypes-architecture-paradigm-functional-core- Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-archetypes-architecture-paradigm-functional-c/snapshot"
Documentation
CLAWHUB
71,038 characters of source documentation, loaded on request.
Extracted files
3 files captured from the source.
SKILL.md
---
name: architecture-paradigm-functional-core
description: Applies Functional Core, Imperative Shell to isolate logic from side effects
version: 1.9.8
triggers:
- architecture
- functional-core
- imperative-shell
- testability
- business-logic
- side-effects
- business logic is entangled with I/O or unit tests are slow and brittle
metadata: {"openclaw": {"homepage": "https://github.com/athola/claude-night-market/tree/master/plugins/archetypes", "emoji": "\ud83c\udfd7\ufe0f"}}
source: claude-night-market
source_plugin: archetypes
---
> **Night Market Skill** — ported from [claude-night-market/archetypes](https://github.com/athola/claude-night-market/tree/master/plugins/archetypes). For the full experience with agents, hooks, and commands, install the Claude Code plugin.
# The Functional Core, Imperative Shell Paradigm
## When To Use
- Separating pure business logic from side effects
- Improving testability through immutable domain models
## When NOT To Use
- Performance-critical hot paths where immutability overhead matters
- Purely imperative codebases with no plans to adopt functional patterns
## When to Employ This Paradigm
- When business logic is entangled with I/O operations (e.g., database calls, HTTP requests), making tests brittle and slow.
- When significant development time is spent rewriting adapters or dealing with framework churn.
- When you require a suite of fast, deterministic unit tests that operate on plain data, complemented by a thin integration testing layer.
## Adoption Steps
1. **Inventory Side Effects**: Create a map of all side effects in the system, such as database writes, external API calls, UI events, and filesystem access. Explicitly assign these responsibilities to the "shell."
2. **Model the Core Logic**: Represent business rules and policies as pure functions. These functions should take domain data as input and return decisions or commands as output, avoiding shared mutable state.
3. **Design the Command Schema**: Define a small, explicit set of command objects that the core can return and the shell can interpret (e.g., `PersistOrder`, `PublishEvent`, `NotifyUser`).
4. **Refactor Incrementally**: Begin with high-churn or critical modules. Wrap legacy imperative code behind adapters while progressively extracting pure calculations into the functional core.
5. **Enforce Boundaries**: Use code reviews and automated architecture tests to validate a strict separation. The shell should only handle orchestration, sequencing, and retries, while the core should never call directly into frameworks or I/O libraries.
## Key Deliverables
- An Architecture Decision Record (ADR) detailing why this pattern was chosen, which modules are affected, and the scope of the migration.
- A suite of unit tests for the core with high (>90%) and deterministic code coverage. Where applicable, use property-based or fixture-based testing to cover a wide range of inputs.
- A suite of contract and integration tests for_meta.json
{
"ownerId": "kn7d107jg9jv602h9ytsegydq184a42s",
"slug": "nm-archetypes-architecture-paradigm-functional-core",
"version": "1.9.19",
"publishedAt": 1787749513365
}skill-card.md
## Description: Applies Functional Core, Imperative Shell to isolate logic from side effects. This skill is ready for commercial/non-commercial use. ## Publisher: [athola](https://clawhub.ai/user/athola) ### License/Terms of Use: MIT-0 ## Use Case: Developers and engineers use this skill to separate pure business logic from side effects, improving testability and making architecture changes easier to reason about. ### Deployment Geography for Use: Global ## Known Risks and Mitigations: Risk: The skill may activate during general architecture, testability, or business-logic discussions and influence design decisions too broadly. Mitigation: Treat its recommendations as optional architecture input and review them against the specific codebase before applying changes. Risk: Functional Core, Imperative Shell may be a poor fit for performance-critical hot paths, framework-heavy lifecycle code, or teams unfamiliar with the pattern. Mitigation: Pilot the pattern on bounded modules, validate framework adapters early, and review tradeoffs before expanding adoption. ## Reference(s): - [ClawHub skill page](https://clawhub.ai/athola/skills/nm-archetypes-architecture-paradigm-functional-core) - [ClawHub metadata homepage](https://github.com/athola/claude-night-market/tree/master/plugins/archetypes) ## Skill Output: **Output Type(s):** [text, markdown, guidance] **Output Format:** [Markdown guidance with architecture checklists and implementation considerations] **Output Parameters:** [1D] **Other Properties Related to Output:** [No code execution, credentials, persistence, or privileged access requested.] ## Skill Version(s): 1.9.19 (source: ClawHub release evidence) ## Ethical Considerations: Users should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/athola/skills/nm-archetypes-architecture-paradigm-functional-core",
"sourceUrl": "https://clawhub.ai/athola/skills/nm-archetypes-architecture-paradigm-functional-core",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T02:09:59.688Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-archetypes-architecture-paradigm-functional-c/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-archetypes-architecture-paradigm-functional-c/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-10T02:09:59.688Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1.8K downloads",
"href": "https://clawhub.ai/athola/nm-archetypes-architecture-paradigm-functional-core",
"sourceUrl": "https://clawhub.ai/athola/nm-archetypes-architecture-paradigm-functional-core",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T02:09:59.688Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "1.9.19",
"href": "https://clawhub.ai/athola/nm-archetypes-architecture-paradigm-functional-core",
"sourceUrl": "https://clawhub.ai/athola/nm-archetypes-architecture-paradigm-functional-core",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-08-26T13:05:13.365Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-archetypes-architecture-paradigm-functional-c/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-archetypes-architecture-paradigm-functional-c/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 1.9.19",
"description": "Release v1.9.19",
"href": "https://clawhub.ai/athola/nm-archetypes-architecture-paradigm-functional-core",
"sourceUrl": "https://clawhub.ai/athola/nm-archetypes-architecture-paradigm-functional-core",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-08-26T13:05:13.365Z",
"isPublic": true
}
]
}Record generated Oct 10, 2026.
