Skill Packs¶
ARCHER is a domain-agnostic platform. Skill packs determine its function — swapping a pack changes the agent's persona, tool set, halt discipline, and evaluation criteria without touching the core engine.
How Skill Packs Work¶
Each skill pack implements the DomainPlugin contract:
| Method | Called by | Purpose |
|---|---|---|
initialize() |
Agent loop, pre-run | Set up domain state and connections |
execute_objective(obj, session) |
Eval harness | Drive one objective to completion |
get_status() |
Dashboard | Return monitoring snapshot |
Within each domain, plays are the discrete operational units — each play covers a specific tactic and carries its own tools, routing keywords, halt logic, and hint injection.
Domain Status¶
| Domain | Status | Plays |
|---|---|---|
| Penetration Testing | Active | 9 plays, 23 skills |
| Threat Hunting | Planned — #983 | — |
| Digital Forensics | Planned | — |
| System Hardening | Planned | — |
| Malware Analysis | Planned | — |
| Threat Intelligence | Planned | — |
Isolation Guarantee¶
Domains are mutually exclusive per session. A RuntimeError fires on any attempt to load a second domain. This is a hard architectural constraint — penetration testing prompts the model to be aggressive and enumerate everything; threat hunting prompts it to minimize footprint. A merged prompt produces neither correctly.