Claude opencode Skill

arch-req-from-api

Fetch application metadata from CMDB (ServiceNow, etc.) or Enterprise Architecture systems via REST API or CSV export. Provides high-confidence physical location and ownership data. Does NOT provide tech stack, protocols, or auth — those must come from other readers or interview.

LLM Mart · 0 points · 0 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download axisrobo-ea-harness-plugins_archharness_skills_arch-req-from-api-2f6ee4f.zip · 1 KB
Part of axisrobo/ea-harness — 42 skills

Install

skills CLI npx skills add https://github.com/axisrobo/ea-harness/tree/main/plugins/archharness/skills/arch-req-from-api
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install axisrobo-ea-harness@llmmart
Git git clone https://github.com/axisrobo/ea-harness.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole axisrobo/ea-harness collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

Locating shared resources. References in this file to standards/, tools/, config.yaml, and templates/ are relative to the ArchHarness resource root. Determine the root, in order: (1) the ARCHHARNESS_HOME environment variable, (2) the output of python -m archharness root (the pip-installed package bundles these resources under its data directory), (3) the current working directory when it already contains config.yaml and tools/ (the repository checkout). Prefix shared paths with that root whenever the working directory is not the resource root.

You are an integration specialist connecting to CMDB and EA systems. CMDB provides authoritative physical location and ownership data. It does NOT contain tech stack, protocols, or authentication details.

What CMDB/EA systems typically provide

Field Available in CMDB Confidence
Application name ✓ High
Data center / location ✓ High
Application owner ✓ High
Department / BU ✓ High
Environment (prod/test) ✓ High
Technology category Sometimes Medium
Language/framework Rarely Low
Integration protocols ✗ N/A
Auth mechanisms ✗ N/A

ServiceNow CMDB

cd tools/arch-req-readers

# Set environment variables
export SERVICENOW_URL=https://your-company.service-now.com
export SERVICENOW_USER=your_username
export SERVICENOW_PASSWORD=your_password

# Fetch specific applications
python from_api.py --profile servicenow --app-id OMS-001 PORTAL-002 -o partial-cmdb.yaml

# Fetch all applications in CMDB
python from_api.py --profile servicenow -o partial-cmdb.yaml

Generic REST API

# Custom field mapping via config file
python from_api.py --profile generic --config cmdb_config.json --app-id MY-APP -o partial.yaml

Config file format (cmdb_config.json):

{
  "description": "Our internal EA system",
  "base_url_env": "EA_SYSTEM_URL",
  "auth_type": "bearer",
  "auth_env": ["EA_SYSTEM_TOKEN"],
  "endpoints": {
    "applications": "/api/v1/applications"
  },
  "field_map": {
    "app_name":   "displayName",
    "app_id":     "applicationId",
    "owner":      "businessOwner.email",
    "department": "businessUnit",
    "location":   "deploymentLocation",
    "platform":   "hostingType"
  },
  "query_params": {
    "status": "active"
  }
}

CSV import (CMDB export)

Many CMDB systems allow CSV export. Supported columns:

name,app_id,dc_or_region,country,platform,zone,owner,infra_owner,language,framework,runtime
OrderMgmt,OMS-001,Hohhot DC,CN,private_dc,App Zone,SSG Team,InfraSec,Java,Spring Boot,Internal K8s
python from_api.py --csv cmdb_export.csv -o partial-csv.yaml

When API is unavailable

If the user cannot connect to their CMDB, guide them to:

  1. Export a CSV from CMDB manually
  2. Use the CSV import option above
  3. Or manually provide the application registry as a YAML list

Manual application registry format:

applications:
  - name: Order Management System
    id: OMS-001
    dc_or_region: "Neimeng DC (Hohhot) [CN]"
    country: CN
    platform: private_dc
    zone_subnet: App Zone
    owner: SSG Team
    infra_owner: InfraSec

Always note after API extraction

CMDB data is authoritative for location/ownership but DOES NOT replace the requirements interview for: protocols, authentication, tech stack details, data encryption, and user authentication.

Files (ea-harness)
  • SKILL.md 3.8 KB
    ---
    name: arch-req-from-api
    description: >
      Fetch application metadata from CMDB (ServiceNow, etc.) or Enterprise
      Architecture systems via REST API or CSV export.
      Provides high-confidence physical location and ownership data.
      Does NOT provide tech stack, protocols, or auth — those must come
      from other readers or interview. Use before arch-req-merge.
    ---
    
    > **Locating shared resources.** References in this file to `standards/`,
    > `tools/`, `config.yaml`, and `templates/` are relative to the ArchHarness
    > resource root. Determine the root, in order: (1) the `ARCHHARNESS_HOME`
    > environment variable, (2) the output of `python -m archharness root` (the
    > pip-installed package bundles these resources under its `data` directory),
    > (3) the current working directory when it already contains `config.yaml` and
    > `tools/` (the repository checkout). Prefix shared paths with that root
    > whenever the working directory is not the resource root.
    
    You are an **integration specialist** connecting to CMDB and EA systems.
    CMDB provides authoritative physical location and ownership data.
    It does NOT contain tech stack, protocols, or authentication details.
    
    ## What CMDB/EA systems typically provide
    
    | Field | Available in CMDB | Confidence |
    |-------|------------------|------------|
    | Application name | ✓ | High |
    | Data center / location | ✓ | High |
    | Application owner | ✓ | High |
    | Department / BU | ✓ | High |
    | Environment (prod/test) | ✓ | High |
    | Technology category | Sometimes | Medium |
    | Language/framework | Rarely | Low |
    | Integration protocols | ✗ | N/A |
    | Auth mechanisms | ✗ | N/A |
    
    ## ServiceNow CMDB
    
    ```bash
    cd tools/arch-req-readers
    
    # Set environment variables
    export SERVICENOW_URL=https://your-company.service-now.com
    export SERVICENOW_USER=your_username
    export SERVICENOW_PASSWORD=your_password
    
    # Fetch specific applications
    python from_api.py --profile servicenow --app-id OMS-001 PORTAL-002 -o partial-cmdb.yaml
    
    # Fetch all applications in CMDB
    python from_api.py --profile servicenow -o partial-cmdb.yaml
    ```
    
    ## Generic REST API
    
    ```bash
    # Custom field mapping via config file
    python from_api.py --profile generic --config cmdb_config.json --app-id MY-APP -o partial.yaml
    ```
    
    Config file format (`cmdb_config.json`):
    ```json
    {
      "description": "Our internal EA system",
      "base_url_env": "EA_SYSTEM_URL",
      "auth_type": "bearer",
      "auth_env": ["EA_SYSTEM_TOKEN"],
      "endpoints": {
        "applications": "/api/v1/applications"
      },
      "field_map": {
        "app_name":   "displayName",
        "app_id":     "applicationId",
        "owner":      "businessOwner.email",
        "department": "businessUnit",
        "location":   "deploymentLocation",
        "platform":   "hostingType"
      },
      "query_params": {
        "status": "active"
      }
    }
    ```
    
    ## CSV import (CMDB export)
    
    Many CMDB systems allow CSV export. Supported columns:
    
    ```csv
    name,app_id,dc_or_region,country,platform,zone,owner,infra_owner,language,framework,runtime
    OrderMgmt,OMS-001,Hohhot DC,CN,private_dc,App Zone,SSG Team,InfraSec,Java,Spring Boot,Internal K8s
    ```
    
    ```bash
    python from_api.py --csv cmdb_export.csv -o partial-csv.yaml
    ```
    
    ## When API is unavailable
    
    If the user cannot connect to their CMDB, guide them to:
    1. Export a CSV from CMDB manually
    2. Use the CSV import option above
    3. Or manually provide the application registry as a YAML list
    
    Manual application registry format:
    ```yaml
    applications:
      - name: Order Management System
        id: OMS-001
        dc_or_region: "Neimeng DC (Hohhot) [CN]"
        country: CN
        platform: private_dc
        zone_subnet: App Zone
        owner: SSG Team
        infra_owner: InfraSec
    ```
    
    ## Always note after API extraction
    
    CMDB data is authoritative for location/ownership but DOES NOT replace the
    requirements interview for: protocols, authentication, tech stack details,
    data encryption, and user authentication.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related