Architecture Overview
Deployment, discovery, project context, and optional runtime services
AIWG Architecture Overview
Prompt-first procedure: Describe the outcome you want in your agent conversation. The agent should select and load the appropriate AIWG assets, explain material changes, request any needed approval, and report verification evidence. Exact commands and flags appear only in the CLI reference.
Version: 2026.5.0+
Audience: Developers, technical leads, CISOs, anyone wanting a visual mental model of AIWG before reading the deeper guides
AIWG gives an AI assistant reusable project context and specialist workflows in the tools a team already uses. This overview shows where AIWG writes files, what the assistant can see after deployment, and which runtime services are optional.
Use it when you need to answer three practical questions:
- What changes in my repository after the agent-owned use operation?
- Which parts are plain deployed instructions, and which parts require optional services?
- What has to be refreshed when I switch AI platforms or reload a session?
Deeper guides:
- `docs/how-it-works.md` — prose walkthrough of the same concepts
- `docs/discovery-and-kernel-skills.md`
— kernel-vs-standard skill model in depth
- `docs/integrations/hermes-quickstart.md` — Hermes-specific integration
1. AIWG starts as a deploy-time tool
the agent-owned use operation copies plain-text files into the directories your AI platform reads, builds an artifact index, and exits. The core deploy step does not require a daemon, service, or network listener. Optional utilities such as background loops, MCP integration, scheduled runs, or persistent services are separate components that run only when configured and invoked.
flowchart LR
subgraph Source["AIWG framework source"]
direction TB
KERN["Kernel quickrefs<br/>always visible"]
STD["Standard skills<br/>read from $AIWG_ROOT"]
AGENT["Agents"]
RULES["Rules"]
TPL["Templates"]
end
CLI(["the agent-owned use operation sdlc<br/>the provider option X"]) --> DEPLOY
subgraph DEPLOY["Deploy step (one-shot)"]
direction TB
COPY["Copy kernel skills, agents,<br/>rules to provider-native dirs"]
INDEX["Build artifact index<br/>~/.local/share/aiwg/index/"]
CTX["Emit AIWG.md + AGENTS.md<br/>at project root"]
end
Source --> CLI
DEPLOY --> Project
subgraph Project["Your project (after deploy)"]
direction TB
PLAT[".claude/skills/<br/>.codex/agents/<br/>.warp/agents/ ..."]
AIWGMD["AIWG.md / .hermes.md /<br/>WARP.md / AGENTS.md"]
ART[".aiwg/<br/>requirements/<br/>architecture/<br/>..."]
end
Project --> SESS
subgraph SESS["AI session (Claude / Codex / Hermes / etc.)"]
direction TB
NATIVE["Platform-native loader<br/>reads provider dir"]
DISC(["Optional: capability search<br/>+ verified asset load"])
end
classDef optional stroke-dasharray: 5 5,fill:#fef9e7
class DISC optional
class INDEX optional
2. The two-tier skill model
Platform context windows cannot fit every workflow instruction at once, so AIWG uses two tiers. Kernel skills are small, always-visible guides for routing and maintenance. Standard skills stay at `$AIWG_ROOT` and are loaded only after the agent searches the artifact index for the current goal.
flowchart TB
subgraph KERNEL["Kernel tier — always loaded"]
direction LR
K1[Framework quickrefs<br/>sdlc / research / forensics /<br/>marketing / media-curator /<br/>security-eng / knowledge-base /<br/>ops / aiwg-utils-quickref]
K2[Routing maps<br/>aiwg-language-map / steward-quickref]
K3[Self-maintenance ops<br/>steward / doctor / refresh / status / help / use /<br/>regenerate / issue / PR / mission / context firewall]
end
subgraph STANDARD["Standard tier — read from $AIWG_ROOT"]
direction LR
S1[SDLC workflows<br/>intake-wizard, sdlc-accelerate,<br/>flow-deploy-to-production,<br/>address-issues, ...]
S2[Domain skills<br/>media-curator, research-,<br/>forensics-, marketing-, ...]
S3[Specialized<br/>aiwg-orchestrate hermes-only,<br/>per-provider regenerators, ...]
end
AGENT([AI session<br/>natural-language request])
AGENT -->|Always sees| KERNEL
AGENT -.->|Optionally queries| INDEX[(the agent-owned index operation<br/>artifact index)]
INDEX -.->|goal in plain language| STANDARD
STANDARD -.->|stable asset ID| AGENT
classDef optional stroke-dasharray: 5 5,fill:#fef9e7
class INDEX optional
class STANDARD optional
See `docs/discovery-and-kernel-skills.md` for the full kernel inventory, why no-copy is the default for standard skills, and the per-provider deployment paths.
3. Capability retrieval (the optional layer)
When the kernel skills do not directly answer a request, the agent searches the standard tier using the user's goal, selects a stable asset ID, and loads the authoritative asset body. This flow is optional—agents can work entirely from the kernel surface for many requests—but when it is needed, the cost is bounded and the answer comes from the indexed ranking rather than a literal-string filesystem search. Exact CLI contracts live in the agent and automation reference.
sequenceDiagram
participant User
participant Agent as AI session
participant CLI as aiwg CLI
participant Index as artifact index<br/>(~/.local/share/aiwg/)
participant FS as $AIWG_ROOT<br/>(framework source)
User->>Agent: "deploy this to production"
Note over Agent: Kernel quickref does not match.<br/>Search installed capabilities.
Agent->>CLI: Search for "deploy production"
CLI->>Index: rank artifacts by capability + triggers
Index-->>CLI: top 3 results with paths + scores
CLI-->>Agent: flow-deploy-to-production [0.51]<br/>+ 2 alternatives
Agent->>CLI: Load asset flow-deploy-to-production
CLI->>FS: read SKILL.md
FS-->>CLI: full skill body
CLI-->>Agent: SKILL.md content (instructions)
Agent->>User: Apply the skill's protocol
The discover-first protocol makes this the expected first move for AIWG capability queries. Agents search the AIWG index before reading provider deployment directories, then load the selected asset by stable ID.
4. Optional layers
The standard setup connects the supported workflow surface. You can then use a focused task without turning on every optional runtime service.
flowchart TB
SETUP[Connect AIWG to your provider] --> TASK[Choose a task]
TASK --> SOURCE[Read relevant workflow instructions]
SOURCE --> ART[Create and review a project artifact]
ART --> NEXT[Use that artifact in a later task]
TASK -.-> LOOKUP[Artifact lookup and storage utilities]
TASK -.-> LOOP[Bounded execution and recovery loops]
TASK -.-> SERVICE[Optional servers and external integrations]
The dotted paths require the corresponding configuration and provider capabilities. Installing workflow source does not start every service. Use Install, Connect, and Verify for setup and the capability guide to choose a task or utility.
5. The `.aiwg/` lifecycle
`.aiwg/` is your project's structured workspace — every SDLC phase has a home, the working scratch has a clearly disposable bin, and what you commit to git is your choice. AIWG manages the structure; you choose what's permanent.
flowchart LR
IDEA[Idea / project intent]
IDEA --> INTAKE
subgraph PHASES["SDLC phases — each writes to .aiwg/"]
direction TB
INTAKE[.aiwg/intake/]
REQ[.aiwg/requirements/]
ARCH[.aiwg/architecture/]
PLAN[.aiwg/planning/]
TEST[.aiwg/testing/]
SEC[.aiwg/security/]
DEPLOY[.aiwg/deployment/]
end
INTAKE --> REQ --> ARCH
ARCH --> PLAN
PLAN --> TEST
PLAN --> SEC
PLAN --> DEPLOY
PHASES --> WORK
WORK[.aiwg/working/<br/>scratch — safe to delete]
PHASES --> REPORTS[.aiwg/reports/<br/>auto-generated status]
PHASES --> ARCHIVE[.aiwg/archive/<br/>versioned snapshots]
PHASES --> FRAME[.aiwg/frameworks/registry.json<br/>which frameworks are deployed]
GIT([git repo])
PHASES -.->|"commit artifacts<br/>(your choice)"| GIT
WORK -.->|"ignore"| GIT
classDef optional stroke-dasharray: 5 5,fill:#fef9e7
class WORK optional
class ARCHIVE optional
`.aiwg/working/` is explicitly ephemeral — safe to delete, typically `.gitignore`'d. Whether to commit the rest of `.aiwg/` is a team decision; many teams commit everything except `working/` and the optional `archive/` directory.
6. Hermes context-file priority (first-match-wins)
Hermes Agent loads exactly one project-context file per turn, by priority. AIWG always emits `.hermes.md` (the priority-1 file), so `AGENTS.md` and `CLAUDE.md` remain valid for Claude Code, Codex, and other providers without interfering with Hermes.
flowchart TB
TURN([Hermes turn starts])
TURN --> CWD[Get cwd]
CWD --> WALK[Walk up to git root<br/>looking for .hermes.md or HERMES.md]
WALK --> H{".hermes.md or<br/>HERMES.md found?"}
H -->|Yes| HLOAD[Load .hermes.md<br/>STOP — winner]
H -->|No| A{"AGENTS.md or<br/>agents.md in cwd?"}
A -->|Yes| ALOAD[Load AGENTS.md<br/>STOP — winner]
A -->|No| C{"CLAUDE.md or<br/>claude.md in cwd?"}
C -->|Yes| CLOAD[Load CLAUDE.md<br/>STOP — winner]
C -->|No| R{".cursorrules or<br/>.cursor/rules/*.mdc?"}
R -->|Yes| RLOAD[Load .cursorrules<br/>STOP — winner]
R -->|No| NONE[No project context loaded]
HLOAD --> CAP[Cap at 20,000 chars<br/>head/tail truncate above]
ALOAD --> CAP
CLOAD --> CAP
RLOAD --> CAP
CAP --> PROMPT[Inject into system prompt<br/>this turn]
NONE --> PROMPT
classDef winner fill:#d4edda
class HLOAD,ALOAD,CLOAD,RLOAD winner
Source: `agent/prompt_builder.py:1410-1436` in the Hermes Agent repo. See `docs/integrations/hermes-quickstart.md` for the full integration walkthrough.
7. Multi-platform deploy
AIWG's parity model: write/configure once, deploy to whichever AI platforms your team uses. The source-of-truth tree (`agentic/code/`) translates to ten provider-native target conventions through the agent-owned use operation.
flowchart LR
subgraph SOURCE["AIWG framework source ($AIWG_ROOT)"]
direction TB
AG[agents]
SK[skills]
CM[commands]
RL[rules]
BE[behaviors/<br/>OpenClaw native]
end
CLI([the agent-owned use operation sdlc<br/>the provider option X])
SOURCE --> CLI
CLI --> CC[".claude/agents/<br/>.claude/skills/<br/>.claude/rules/"]
CLI --> CX[".codex/agents/<br/>.agents/skills/<br/>~/.codex/prompts/"]
CLI --> CP[".github/agents/<br/>.github/skills/<br/>.github/instructions/"]
CLI --> CR[".cursor/agents/<br/>.cursor/skills/<br/>.cursor/rules/"]
CLI --> WP[".warp/agents/<br/>.warp/skills/<br/>+ WARP.md aggregate"]
CLI --> WS["Devin Desktop<br/>.windsurf/agents/<br/>.windsurf/skills/<br/>+ AGENTS.md"]
CLI --> FA[".factory/droids/<br/>.factory/skills/<br/>.factory/rules/"]
CLI --> OC[".opencode/agent/<br/>.opencode/skill/<br/>.opencode/rule/"]
CLI --> HE[".hermes.md + AGENTS.md<br/>~/.hermes/skills/<br/>MCP optional"]
CLI --> OW["~/.openclaw/agents/<br/>~/.openclaw/skills/<br/>~/.openclaw/behaviors/"]
classDef claude fill:#e8f4ff
classDef codex fill:#fef9e7
classDef hermes fill:#fde9d9
class CC claude
class CX,CP,CR,WP,WS,FA,OC,OW codex
class HE hermes
Switching platforms reuses the same AIWG source and emits files in the selected provider's convention. Hermes deploys files like the others (`AGENTS.md`, `.hermes.md`, and user-level skills); MCP is an optional global hook.
8. Session reload after the agent-owned use operation
Some AI platforms cache their agent or skill registry at session start. After the agent-owned use operation, a running session may need to refresh that registry; the required action depends on the provider. the agent-owned use operation prints the correct action in the compact `Next` section so operators do not have to guess; the verbose option also explains why that provider needs the reload.
flowchart TB
DEPLOY([the agent-owned use operation completes<br/>new files on disk])
DEPLOY --> Q{Was your AI session<br/>already running?}
Q -->|No — fresh session| OK[Agents/skills load<br/>on first turn ✓]
Q -->|Yes — running session| RELOAD{Which platform?}
RELOAD -->|Claude Code<br/>Codex<br/>Cursor<br/>OpenCode<br/>Factory<br/>OpenClaw| RESTART[Restart the session<br/>close + reopen]
RELOAD -->|Copilot<br/>VS Code| WIN["Developer: Reload Window"]
RELOAD -->|Warp| TAB[Open a fresh Warp tab<br/>WARP.md re-read on tab start]
RELOAD -->|Devin Desktop| WORK[Reload the workspace<br/>AGENTS.md re-parsed]
RELOAD -->|Hermes| HCMD["/reload-skills<br/>/reload-mcp<br/>no restart needed"]
RESTART --> DONE[✓ New agents/skills visible]
WIN --> DONE
TAB --> DONE
WORK --> DONE
HCMD --> DONE
classDef good fill:#d4edda
classDef hermes fill:#fff3cd
class HCMD hermes
class DONE good
Hermes supports `/reload-skills` and `/reload-mcp` for the Hermes-specific pieces. Other platforms generally require the provider's session, window, or tab reload behavior so their native registry sees the new files.
Related guides
- `docs/how-it-works.md` — the prose walkthrough of these same concepts
- `docs/discovery-and-kernel-skills.md`
— kernel/standard model in depth, verification steps
- `docs/integrations/hermes-quickstart.md` — Hermes integration, capabilities catalog
- `docs/cli/reference.md` — complete CLI command reference
- `skill-discovery.md`
— discover-first protocol source
The canonical inventory contains 26 kernel skills for routing, quick references, and self-maintenance.