# oscal-compass/agentic-agile-authoring architecture

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

- Interactive diagram: https://gitdiagram.com/oscal-compass/agentic-agile-authoring
- Repository: https://github.com/oscal-compass/agentic-agile-authoring

## Overview

Agentic Agile Authoring is a collection of independently invoked agent skills for OSCAL compliance authoring, plus a CLI that installs selected skills into agent harnesses. The principal workflow customizes a catalog, defines component-specific controls, assesses compliance, then authors a POA&M; framework onboarding can supply catalogs upstream. README documents the capabilities and handoffs, while sampled source confirms selected assessment, POA&M, mapping-ingest, and installer behavior. Several skill implementations were not sampled, so their internal wiring is omitted.

Main entry points: [`skills/compliance-mapping`](https://github.com/oscal-compass/agentic-agile-authoring/tree/main/skills/compliance-mapping) (Catalog Mapper), [`tools/compliance_authoring_skills/cli.py`](https://github.com/oscal-compass/agentic-agile-authoring/blob/main/tools/compliance_authoring_skills/cli.py) (Installer CLI), [`skills/assessment/assessment-generator.py`](https://github.com/oscal-compass/agentic-agile-authoring/blob/main/skills/assessment/assessment-generator.py) (Assessment Generator), [`skills/poam-authoring/build_poam.py`](https://github.com/oscal-compass/agentic-agile-authoring/blob/main/skills/poam-authoring/build_poam.py) (POA&M Author)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_onboarding["Framework Onboarding"]
  node_working["Working Catalog<br/>[internal_model.py]"]
  node_catalogskill["Catalog Builder"]
  node_mappingskill["Catalog Mapper"]
end

subgraph group_lifecycle["Authoring Lifecycle"]
  node_catalogauthor["Catalog Authoring"]
  node_componentdef["Component Builder"]
  node_assessment["Assessment Generator"]
  node_poam["POA&amp;M Author<br/>[build_poam.py]"]
end

subgraph group_install["Skill Installation"]
  node_installer["Installer CLI<br/>[cli.py]"]
  node_selection["Selection Policy<br/>[policy.py]"]
  node_resolver["Skill Resolver<br/>[selection.py]"]
  node_apm["APM Backend<br/>[apm_cli.py]"]
  node_myharness["MyHarness Deployer<br/>[myharness.py]"]
end

node_user(("Compliance Author"))
node_pdf["Compliance PDF"]
node_catalog1["Source Catalog"]
node_catalog2["Target Catalog"]
node_mappingout["Mapping Collection"]
node_mappingreport["HTML Mapping Report"]
node_catalog["Customized Catalog"]
node_component["Component Definition"]
node_scan["Validation Scan Results"]
node_assessmentout["Assessment Findings"]
node_poamout["OSCAL POA&amp;M"]
node_agent(("Agent Harness"))
node_apmservice["OpenAPM CLI"]
node_harnessconfig[("Harness Skill And MCP Config")]

node_user -->|"provides PDF"| node_catalogskill
node_pdf -->|"converts"| node_catalogskill
node_catalogskill -->|"generates catalog"| node_catalog
node_user -->|"requests mapping"| node_mappingskill
node_catalog1 -->|"provides catalog"| node_mappingskill
node_catalog2 -->|"provides catalog"| node_mappingskill
node_mappingskill -->|"normalizes controls"| node_working
node_mappingskill -->|"emits mapping"| node_mappingout
node_mappingskill -->|"generates report"| node_mappingreport
node_user -->|"invokes"| node_catalogauthor
node_catalogauthor -->|"customizes"| node_catalog
node_user -->|"invokes"| node_componentdef
node_catalog -->|"supplies controls"| node_componentdef
node_componentdef -->|"generates definition"| node_component
node_user -->|"invokes"| node_assessment
node_component -->|"provides rules"| node_assessment
node_scan -->|"provides results"| node_assessment
node_assessment -->|"produces findings"| node_assessmentout
node_user -->|"invokes"| node_poam
node_assessmentout -->|"supplies failed findings"| node_poam
node_component -->|"supports predefined risks"| node_poam
node_poam -->|"generates risks"| node_poamout
node_user -->|"selects skills"| node_installer
node_installer -->|"resolves request"| node_selection
node_selection -->|"uses skill inventory"| node_resolver
node_installer -->|"delegates install"| node_apm
node_installer -->|"dispatches target"| node_myharness
node_apm -->|"runs commands"| node_apmservice
node_apmservice -->|"deploys skills and MCP"| node_harnessconfig
node_myharness -->|"merges skills and MCP"| node_harnessconfig
node_harnessconfig -->|"makes skills available"| node_agent

click node_working "https://github.com/oscal-compass/agentic-agile-authoring/blob/main/skills/compliance-mapping/scripts/internal_model.py"
click node_catalogskill "https://github.com/oscal-compass/agentic-agile-authoring/tree/main/skills/compliance-catalog"
click node_mappingskill "https://github.com/oscal-compass/agentic-agile-authoring/tree/main/skills/compliance-mapping"
click node_catalogauthor "https://github.com/oscal-compass/agentic-agile-authoring/tree/main/skills/catalog-authoring"
click node_componentdef "https://github.com/oscal-compass/agentic-agile-authoring/tree/main/skills/component-definition"
click node_assessment "https://github.com/oscal-compass/agentic-agile-authoring/blob/main/skills/assessment/assessment-generator.py"
click node_poam "https://github.com/oscal-compass/agentic-agile-authoring/blob/main/skills/poam-authoring/build_poam.py"
click node_installer "https://github.com/oscal-compass/agentic-agile-authoring/blob/main/tools/compliance_authoring_skills/cli.py"
click node_selection "https://github.com/oscal-compass/agentic-agile-authoring/blob/main/tools/compliance_authoring_skills/policy.py"
click node_resolver "https://github.com/oscal-compass/agentic-agile-authoring/blob/main/tools/compliance_authoring_skills/selection.py"
click node_apm "https://github.com/oscal-compass/agentic-agile-authoring/blob/main/tools/compliance_authoring_skills/backends/apm_cli.py"
click node_myharness "https://github.com/oscal-compass/agentic-agile-authoring/blob/main/tools/compliance_authoring_skills/targets/myharness.py"

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_working,node_catalogskill,node_mappingskill toneBlue
class node_catalogauthor,node_componentdef,node_assessment,node_poam,node_harnessconfig toneAmber
class node_installer,node_selection,node_resolver,node_apm,node_myharness toneMint
class node_user,node_pdf,node_catalog1,node_catalog2,node_mappingout,node_mappingreport,node_catalog,node_component,node_scan,node_assessmentout,node_poamout,node_agent,node_apmservice toneIndigo
```

## Components

### Framework Onboarding

- [Working Catalog](https://github.com/oscal-compass/agentic-agile-authoring/blob/main/skills/compliance-mapping/scripts/internal_model.py): `skills/compliance-mapping/scripts/internal_model.py`
- [Catalog Builder](https://github.com/oscal-compass/agentic-agile-authoring/tree/main/skills/compliance-catalog): `skills/compliance-catalog`
- [Catalog Mapper](https://github.com/oscal-compass/agentic-agile-authoring/tree/main/skills/compliance-mapping): `skills/compliance-mapping`

### Authoring Lifecycle

- [Catalog Authoring](https://github.com/oscal-compass/agentic-agile-authoring/tree/main/skills/catalog-authoring): `skills/catalog-authoring`
- [Component Builder](https://github.com/oscal-compass/agentic-agile-authoring/tree/main/skills/component-definition): `skills/component-definition`
- [Assessment Generator](https://github.com/oscal-compass/agentic-agile-authoring/blob/main/skills/assessment/assessment-generator.py): `skills/assessment/assessment-generator.py`
- [POA&M Author](https://github.com/oscal-compass/agentic-agile-authoring/blob/main/skills/poam-authoring/build_poam.py): `skills/poam-authoring/build_poam.py`

### Skill Installation

- [Installer CLI](https://github.com/oscal-compass/agentic-agile-authoring/blob/main/tools/compliance_authoring_skills/cli.py): `tools/compliance_authoring_skills/cli.py`
- [Selection Policy](https://github.com/oscal-compass/agentic-agile-authoring/blob/main/tools/compliance_authoring_skills/policy.py): `tools/compliance_authoring_skills/policy.py`
- [Skill Resolver](https://github.com/oscal-compass/agentic-agile-authoring/blob/main/tools/compliance_authoring_skills/selection.py): `tools/compliance_authoring_skills/selection.py`
- [APM Backend](https://github.com/oscal-compass/agentic-agile-authoring/blob/main/tools/compliance_authoring_skills/backends/apm_cli.py): `tools/compliance_authoring_skills/backends/apm_cli.py`
- [MyHarness Deployer](https://github.com/oscal-compass/agentic-agile-authoring/blob/main/tools/compliance_authoring_skills/targets/myharness.py): `tools/compliance_authoring_skills/targets/myharness.py`

### Other components

- **Compliance Author**
- **Compliance PDF**
- **Source Catalog**
- **Target Catalog**
- **Mapping Collection**
- **HTML Mapping Report**
- **Customized Catalog**
- **Component Definition**
- **Validation Scan Results**
- **Assessment Findings**
- **OSCAL POA&M**
- **Agent Harness**
- **OpenAPM CLI**
- **Harness Skill And MCP Config**

## Connections

- Compliance Author → Catalog Builder: provides PDF
- Compliance PDF → Catalog Builder: converts
- Catalog Builder → Customized Catalog: generates catalog
- Compliance Author → Catalog Mapper: requests mapping
- Source Catalog → Catalog Mapper: provides catalog
- Target Catalog → Catalog Mapper: provides catalog
- Catalog Mapper → Working Catalog: normalizes controls
- Catalog Mapper → Mapping Collection: emits mapping
- Catalog Mapper → HTML Mapping Report: generates report
- Compliance Author → Catalog Authoring: invokes
- Catalog Authoring → Customized Catalog: customizes
- Compliance Author → Component Builder: invokes
- Customized Catalog → Component Builder: supplies controls
- Component Builder → Component Definition: generates definition
- Compliance Author → Assessment Generator: invokes
- Component Definition → Assessment Generator: provides rules
- Validation Scan Results → Assessment Generator: provides results
- Assessment Generator → Assessment Findings: produces findings
- Compliance Author → POA&M Author: invokes
- Assessment Findings → POA&M Author: supplies failed findings
- Component Definition → POA&M Author: supports predefined risks
- POA&M Author → OSCAL POA&M: generates risks
- Compliance Author → Installer CLI: selects skills
- Installer CLI → Selection Policy: resolves request
- Selection Policy → Skill Resolver: uses skill inventory
- Installer CLI → APM Backend: delegates install
- Installer CLI → MyHarness Deployer: dispatches target
- APM Backend → OpenAPM CLI: runs commands
- OpenAPM CLI → Harness Skill And MCP Config: deploys skills and MCP
- MyHarness Deployer → Harness Skill And MCP Config: merges skills and MCP
- Harness Skill And MCP Config → Agent Harness: makes skills available
