skills/arckit-application-inventory/SKILL.md
Catalog existing applications with strategic fit scoring, dependencies, and lifecycle status
npx skillsauth add tractorjuice/arckit-codex arckit-application-inventoryInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are helping an enterprise architect create an Application Inventory — a comprehensive portfolio catalog that maps all existing applications, their strategic fit, dependencies, technology landscape, and lifecycle status. This is the foundation for Phase C (Technology Architecture) decisions and application rationalisation.
$ARGUMENTS
Note: Before generating, scan
projects/for existing project directories. For each project, list allARC-*.mdartifacts, checkexternal/for reference documents, and check000-global/for cross-project policies. If no external docs exist but they would improve output, ask the user.
MANDATORY (warn if missing):
$arckit-adm-preliminary first. The application inventory must be scoped by the architecture vision.RECOMMENDED (read if available, note if missing):
external/ files) — extract existing application catalogues, portfolio assessments, asset inventories, technology registerprojects/000-global/external/ — extract enterprise technology standards, approved technology stack, technology rationalisation targetsprojects/{project-dir}/external/ and re-run, or skip.".arckit/references/citation-instructions.md. Place inline citation markers (e.g., [PP-C1]) next to findings informed by source documents and populate the "External References" section in the template.Identify the target project from the hook context. If the user specifies a project that doesn't exist yet, create a new project:
projects/*/ directories and find the highest NNN-* number (or start at 001 if none exist)002)projects/{NNN}-{slug}/README.md with the project name, ID, and date — the Write tool will create all parent directories automaticallyprojects/{NNN}-{slug}/external/README.md with a note to place external reference documents herePROJECT_ID = the 3-digit number, PROJECT_PATH = the new directory pathRead the template (with user override support):
.arckit/templates-custom/application-inventory-template.md exists in the project root.arckit/templates/application-inventory-template.md (default)Tip: Users can customise templates with
$arckit-customize application-inventory
Before generating the inventory, ask the user about the scope of this assessment:
direct user question: "What is the scope of this application inventory?"
All applications | Business Unit | Specific ProjectAll applicationsCollect application information from all available sources:
Read the following Mermaid syntax references for diagrams:
.arckit/skills/mermaid-syntax/references/quadrantChart.md — Strategic fit matrix (quadrant chart).arckit/skills/mermaid-syntax/references/pie.md — Technology distribution (pie chart).arckit/skills/mermaid-syntax/references/flowchart.md — Dependency map (flowchart)Create the Application Inventory document following the template structure.
For each application, determine and document:
App ID: APP-001, APP-002, etc.
Name: Application name / product name
Category: Line-of-Business, Shared Service, Platform, Customer-Facing, Internal Tool, etc.
Owner: Business owner and technical owner
Technology Stack: Primary runtime, framework, database, hosting model
Lifecycle Phase: Concept / Discovery / Development / Operational / Mature / Declining / Retired
Status: Active / Deprecated / Planned / Under Review
Strategic Fit: Score each application using the following framework:
| Strategic Fit Rating | Criteria | Action | |---|---|---| | Strategic | Core to business strategy, competitive differentiator, high business value | Invest & Grow | | Critical | Essential for operations but not a differentiator, commodity functionality | Maintain & Optimise | | Support | Supplementary functionality, low business value relative to cost | Rationalise | | Replace | High technical debt, poor alignment with strategy, better alternatives exist | Plan Replacement |
Generate a Mermaid quadrant chart plotting applications on:
Quadrants:
Generate a Mermaid pie chart showing technology distribution across the portfolio:
Also include a technology diversity analysis:
Generate a Mermaid flowchart showing:
Map each application to the business capabilities it supports:
For each application, document:
Identify application-level risks:
If the user indicates this is a UK Government project, include:
If this is a Ministry of Defence project, include:
Before writing the file, read .arckit/references/quality-checklist.md and verify all Common Checks plus the APP per-type checks pass. Fix any failures before proceeding.
Additional quality checks for Application Inventory:
IMPORTANT: The Application Inventory document will be a substantial document. You MUST use the Write tool to create the file, NOT output the full content in chat.
Create the file at:
projects/{P}/ARC-{P}-APP-v1.0.md
Use the Write tool with the complete content following the template structure.
Before completing the document, populate document information fields:
[PROJECT_ID] → Extract from project path (e.g., "001")[VERSION] → Start with "1.0" for new documents[DATE] / [YYYY-MM-DD] → Current date in YYYY-MM-DD format[DOCUMENT_TYPE_NAME] → "Application Inventory"ARC-[PROJECT_ID]-APP-v[VERSION] → Generated document ID[STATUS] → "DRAFT" for new documents[CLASSIFICATION] → Default to ${default_classification}; if unavailable, use "OFFICIAL" (UK Gov) or "PUBLIC"[PROJECT_NAME] → Full project name[OWNER_NAME_AND_ROLE] → Document owner| 1.0 | {DATE} | ArcKit AI | Initial creation from `$arckit-application-inventory` command |
**Generated by**: ArcKit `$arckit-application-inventory` command
**Generated on**: {DATE}
**ArcKit Version**: {ARCKIT_VERSION}
**Project**: {PROJECT_NAME} (Project {PROJECT_ID})
**AI Model**: [Actual model name]
After writing the file, show a concise summary (NOT the full document):
## Application Inventory Complete
**Document**: `projects/{P}/ARC-{P}-APP-v1.0.md`
**Document ID**: ARC-{P}-APP-v1.0
### Inventory Scope
- **Scope**: [All applications / Business Unit / Project-specific]
- **Applications catalogued**: [N]
### Strategic Fit Summary
| Rating | Count | Examples |
|--------|-------|----------|
| Strategic | [N] | [App names] |
| Critical | [N] | [App names] |
| Support | [N] | [App names] |
| Replace | [N] | [App names] |
### Technology Landscape
- **Cloud-Native**: [N]% of portfolio
- **Containerised**: [N]% of portfolio
- **Virtualised**: [N]% of portfolio
- **Physical**: [N]% of portfolio
- **Technology diversity**: [N] unique runtimes, [N] platforms
### Dependency Analysis
- **Applications with dependencies mapped**: [N]
- **Shared services identified**: [N]
- **Critical dependencies**: [N] (single points of failure)
### Capability Coverage
- **Capabilities covered**: [N] out of [N] (from BPCM)
- **Full coverage**: [N] capabilities
- **Partial coverage**: [N] capabilities
- **Gaps (no system)**: [N] capabilities
- **Overlaps**: [N] capabilities covered by multiple apps
### Lifecycle
- **Active**: [N] applications
- **Deprecated**: [N] applications
- **Planned**: [N] applications
- **Applications approaching EOL**: [N]
### Risk Summary
- **High risks**: [N]
- **Medium risks**: [N]
- **Low risks**: [N]
### Synthesised From
- ✅ Architecture Vision: ARC-{P}-ADMP-v[N].md
- [✅/⚠️] Business Capability Map: ARC-{P}-BPCM-v[N].md
- [✅/⚠️] Requirements: ARC-{P}-REQ-v[N].md
- [✅/⚠️] Architecture Principles: ARC-000-PRIN-v[N].md
### Next Steps
1. Review Application Inventory with technology board / architecture review panel
2. Run `$arckit-application-rationalization` to decide keep/merge/replace/retire
3. Run `$arckit-gap-analysis` to identify capability coverage gaps
### Traceability
- [N] applications mapped to [N] capabilities
- [N] dependencies documented
- [N] risks identified
- [N] lifecycle actions required
**File location**: `projects/{P}/ARC-{P}-APP-v1.0.md`
Strategic Fit is Subjective: The strategic fit rating requires business context. Always ground ratings in the Architecture Vision (ADMP) and stakeholder input. When uncertain, flag applications for architectural review.
Dependencies Drive Risk: Application dependencies are critical risk factors. Document upstream/downstream relationships, protocol-level dependencies (API, database, file share), and data flow dependencies.
Lifecycle Drives Investment: Application EOL dates directly impact investment planning. Flag any applications where the underlying technology reaches EOL within 18 months of the assessment date.
Mandatory Prerequisites: ADMP is required as the application inventory must be scoped by the architecture vision. BPCM, REQ, and PRIN are recommended for full context.
Version Management: If an Application Inventory already exists (ARC-*-APP-v*.md), create a new version (v2.0) rather than overwriting. Track portfolio evolution across ADM cycles.
Integration with Other Commands:
$arckit-application-rationalization (portfolio decisions), $arckit-gap-analysis (capability gaps)TOGAF Alignment: This document maps to TOGAF Phase C (Technology Architecture) outputs: existing technology baseline, technology standards, and application portfolio assessment.
Markdown escaping: When writing less-than or greater-than comparisons, always include a space after < or > (e.g., < 3 seconds, > 99.9% uptime) to prevent markdown renderers from interpreting them as HTML tags or emoji.
After completing this command, consider running:
$arckit-application-rationalization -- Decide keep/merge/replace/retire for each application$arckit-gap-analysis -- Analyze capability coverage from application inventorydatabases
Plan transition architectures with work packages, migration waves, and acceptance criteria
research
Perform gap analysis — capability matrix, gap severity scoring, workstream mapping
tools
Map business capabilities, value streams, and maturity for Phase A Business Architecture
development
Build architecture repository — patterns library, standards register, reusable building blocks