# arpahls/skillware architecture

> Architecture diagram of the GitHub repository arpahls/skillware, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/arpahls/skillware
- Repository: https://github.com/arpahls/skillware

## Overview

Skillware is a Python framework and bundled registry of self-contained agent skills. A host loads skills, adapts their contracts to its tool format, and runs the agent loop; skills return structured results. SkillContext supports multi-skill sessions and named chains support composed workflows. The graph retains the documented domain branches; sampled source is partial, so detailed wiring inside most skills is not inferred.

Main entry points: [`skillware/core/loader.py`](https://github.com/arpahls/skillware/blob/main/skillware/core/loader.py) (Skill loader), [`skillware/context.py`](https://github.com/arpahls/skillware/blob/main/skillware/context.py) (Session context), [`skillware/core/discovery.py`](https://github.com/arpahls/skillware/blob/main/skillware/core/discovery.py) (Skill discovery), [`skillware/chains.py`](https://github.com/arpahls/skillware/blob/main/skillware/chains.py) (Skill chains)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_framework["Core framework"]
  node_registry["Skill registry"]
  node_loader["Skill loader<br/>[loader.py]"]
  node_discovery["Skill discovery<br/>[discovery.py]"]
  node_base["Skill contract<br/>[base_skill.py]"]
  node_context["Session context<br/>[context.py]"]
  node_chains["Skill chains<br/>[chains.py]"]
end

subgraph group_office_creative["Office and creative"]
  node_office["Office skills"]
  node_creative["Creative skills"]
end

subgraph group_data_finance["Data and finance"]
  node_data["Data engineering"]
  node_finance["Finance skills"]
  node_defi["DeFi operations"]
end

subgraph group_safety_ops["Safety and operations"]
  node_compliance["Compliance skills"]
  node_security["Security skills"]
  node_monitoring["Monitoring skills"]
  node_optimization["Optimization skills"]
end

subgraph group_other_domains["Other domains"]
  node_devtools["Developer tools"]
  node_wellness["Wellness skills"]
  node_linguistics["Linguistics skills"]
end

node_host(("Agent host"))

node_host -->|"prepares sessions"| node_context
node_context -->|"loads and executes"| node_loader
node_loader -->|"discovers skills"| node_discovery
node_discovery -->|"finds bundles"| node_registry
node_loader -->|"loads contract"| node_base
node_loader -->|"adapts tool schema"| node_host
node_host -->|"invokes skill"| node_context
node_context -->|"returns result"| node_host
node_host -->|"runs named chain"| node_chains
node_chains -->|"dispatches skills"| node_context
node_loader -->|"loads bundle"| node_office
node_loader -->|"loads bundle"| node_creative
node_loader -->|"loads bundle"| node_data
node_loader -->|"loads bundle"| node_finance
node_loader -->|"loads bundle"| node_defi
node_loader -->|"loads bundle"| node_compliance
node_loader -->|"loads bundle"| node_security
node_loader -->|"loads bundle"| node_monitoring
node_loader -->|"loads bundle"| node_optimization
node_loader -->|"loads bundle"| node_devtools
node_loader -->|"loads bundle"| node_wellness
node_loader -->|"loads bundle"| node_linguistics

click node_registry "https://github.com/arpahls/skillware/tree/main/skills"
click node_loader "https://github.com/arpahls/skillware/blob/main/skillware/core/loader.py"
click node_discovery "https://github.com/arpahls/skillware/blob/main/skillware/core/discovery.py"
click node_base "https://github.com/arpahls/skillware/blob/main/skillware/core/base_skill.py"
click node_context "https://github.com/arpahls/skillware/blob/main/skillware/context.py"
click node_chains "https://github.com/arpahls/skillware/blob/main/skillware/chains.py"
click node_office "https://github.com/arpahls/skillware/tree/main/skills/office"
click node_creative "https://github.com/arpahls/skillware/tree/main/skills/creative"
click node_data "https://github.com/arpahls/skillware/tree/main/skills/data_engineering"
click node_finance "https://github.com/arpahls/skillware/tree/main/skills/finance"
click node_defi "https://github.com/arpahls/skillware/tree/main/skills/defi"
click node_compliance "https://github.com/arpahls/skillware/tree/main/skills/compliance"
click node_security "https://github.com/arpahls/skillware/tree/main/skills/security"
click node_monitoring "https://github.com/arpahls/skillware/tree/main/skills/monitoring"
click node_optimization "https://github.com/arpahls/skillware/tree/main/skills/optimization"
click node_devtools "https://github.com/arpahls/skillware/tree/main/skills/dev_tools"
click node_wellness "https://github.com/arpahls/skillware/tree/main/skills/wellness"
click node_linguistics "https://github.com/arpahls/skillware/tree/main/skills/linguistics"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_registry,node_loader,node_discovery,node_base,node_context,node_chains toneBlue
class node_office,node_creative toneAmber
class node_data,node_finance,node_defi toneMint
class node_compliance,node_security,node_monitoring,node_optimization toneRose
class node_devtools,node_wellness,node_linguistics,node_host toneIndigo
```

## Components

### Core framework

- [Skill registry](https://github.com/arpahls/skillware/tree/main/skills): `skills`
- [Skill loader](https://github.com/arpahls/skillware/blob/main/skillware/core/loader.py): `skillware/core/loader.py`
- [Skill discovery](https://github.com/arpahls/skillware/blob/main/skillware/core/discovery.py): `skillware/core/discovery.py`
- [Skill contract](https://github.com/arpahls/skillware/blob/main/skillware/core/base_skill.py): `skillware/core/base_skill.py`
- [Session context](https://github.com/arpahls/skillware/blob/main/skillware/context.py): `skillware/context.py`
- [Skill chains](https://github.com/arpahls/skillware/blob/main/skillware/chains.py): `skillware/chains.py`

### Office and creative

- [Office skills](https://github.com/arpahls/skillware/tree/main/skills/office): `skills/office`
- [Creative skills](https://github.com/arpahls/skillware/tree/main/skills/creative): `skills/creative`

### Data and finance

- [Data engineering](https://github.com/arpahls/skillware/tree/main/skills/data_engineering): `skills/data_engineering`
- [Finance skills](https://github.com/arpahls/skillware/tree/main/skills/finance): `skills/finance`
- [DeFi operations](https://github.com/arpahls/skillware/tree/main/skills/defi): `skills/defi`

### Safety and operations

- [Compliance skills](https://github.com/arpahls/skillware/tree/main/skills/compliance): `skills/compliance`
- [Security skills](https://github.com/arpahls/skillware/tree/main/skills/security): `skills/security`
- [Monitoring skills](https://github.com/arpahls/skillware/tree/main/skills/monitoring): `skills/monitoring`
- [Optimization skills](https://github.com/arpahls/skillware/tree/main/skills/optimization): `skills/optimization`

### Other domains

- [Developer tools](https://github.com/arpahls/skillware/tree/main/skills/dev_tools): `skills/dev_tools`
- [Wellness skills](https://github.com/arpahls/skillware/tree/main/skills/wellness): `skills/wellness`
- [Linguistics skills](https://github.com/arpahls/skillware/tree/main/skills/linguistics): `skills/linguistics`

### Other components

- **Agent host**

## Connections

- Agent host → Session context: prepares sessions
- Session context → Skill loader: loads and executes
- Skill loader → Skill discovery: discovers skills
- Skill discovery → Skill registry: finds bundles
- Skill loader → Skill contract: loads contract
- Skill loader → Agent host: adapts tool schema
- Agent host → Session context: invokes skill
- Session context → Agent host: returns result
- Agent host → Skill chains: runs named chain
- Skill chains → Session context: dispatches skills
- Skill loader → Office skills: loads bundle
- Skill loader → Creative skills: loads bundle
- Skill loader → Data engineering: loads bundle
- Skill loader → Finance skills: loads bundle
- Skill loader → DeFi operations: loads bundle
- Skill loader → Compliance skills: loads bundle
- Skill loader → Security skills: loads bundle
- Skill loader → Monitoring skills: loads bundle
- Skill loader → Optimization skills: loads bundle
- Skill loader → Developer tools: loads bundle
- Skill loader → Wellness skills: loads bundle
- Skill loader → Linguistics skills: loads bundle
