arckit-gcloud-search

$npx mdskill add tractorjuice/arc-kit/arckit-gcloud-search

Search UK Digital Marketplace for G-Cloud services matching project needs

  • Identifies cloud hosting, SaaS, and support services for procurement
  • Depends on live marketplace search and project requirement files
  • Compares offerings against security and governance principles
  • Delivers ranked recommendations with procurement-ready specifications
SKILL.md
.github/skills/arckit-gcloud-searchView on GitHub ↗
---
name: arckit-gcloud-search
description: "Find G-Cloud services on UK Digital Marketplace with live search and comparison"
---

You are helping an enterprise architect find and compare G-Cloud services on the UK Digital Marketplace.

## User Input

```text
$ARGUMENTS
```

## Context

**G-Cloud** is the UK Digital Marketplace framework for procuring off-the-shelf cloud services:

- Cloud hosting, IaaS, PaaS
- SaaS platforms and tools
- Cloud support services
- No custom development - just service procurement

This command:

1. Analyzes your project requirements to identify cloud service needs
2. Generates G-Cloud procurement requirements
3. **Searches the Digital Marketplace for matching services** (live search)
4. Compares services and provides recommendations

## Instructions

### 1. Prerequisites Check

**IMPORTANT**: Check prerequisites before proceeding:

a. **Project with Requirements** (MUST exist):

- Check if user specified a project name/number
- Look for `projects/[project]/ARC-*-REQ-v*.md`
- If NOT found: ERROR "Run $arckit-requirements first to define project needs"

b. **Architecture Principles** (RECOMMENDED):

- Check if `projects/000-global/ARC-000-PRIN-*.md` exists
- If exists: Read it for cloud strategy, security requirements
- If NOT found: WARN "Consider running $arckit-principles to define cloud governance"

### 2. Load Project Context

> **Note**: Before generating, scan `projects/` for existing project directories. For each project, list all `ARC-*.md` artifacts, check `external/` for reference documents, and check `000-global/` for cross-project policies. If no external docs exist but they would improve output, ask the user.

1. Read the **REQ** (Requirements) artifact for the target project
2. Read the **PRIN** (Architecture Principles, in 000-global) if available
3. Parse user input for specific service types needed

### 3. Analyze Cloud Service Needs

**Scan requirements** to identify what cloud services are needed:

**Look for**:

- INT-xxx mentioning: "cloud hosting", "SaaS", "IaaS", "PaaS", "monitoring", "email service"
- NFR-xxx mentioning: "uptime", "availability", "disaster recovery", "cloud infrastructure"
- FR-xxx mentioning: "platform", "service", "hosting", "managed service"

**Service categories to identify**:

- **Cloud Hosting**: IaaS, VMs, containers, Kubernetes
- **Cloud Software**: SaaS platforms, tools, applications
- **Cloud Support**: Managed services, monitoring, backup
- **Specialized Services**: Email, CDN, databases, analytics

**Determine**:

- Primary service category needed
- Must-have requirements (from MUST priority)
- Desirable requirements (from SHOULD priority)
- Compliance needs (security certifications, data residency)

---

**CRITICAL - Auto-Populate Document Control Fields**:

Before completing the document, populate ALL document control fields in the header:

**Construct Document ID**:

- **Document ID**: `ARC-{PROJECT_ID}-GCLD-v{VERSION}` (e.g., `ARC-001-GCLD-v1.0`)

**Populate Required Fields**:

*Auto-populated fields* (populate these automatically):

- `[PROJECT_ID]` → Extract from project path (e.g., "001" from "projects/001-project-name")
- `[VERSION]` → "1.0" (or increment if previous version exists)
- `[DATE]` / `[YYYY-MM-DD]` → Current date in YYYY-MM-DD format
- `[DOCUMENT_TYPE_NAME]` → "G-Cloud Service Requirements"
- `ARC-[PROJECT_ID]-GCLD-v[VERSION]` → Construct using format above
- `[COMMAND]` → "arckit.gcloud-search"

*User-provided fields* (extract from project metadata or user input):

- `[PROJECT_NAME]` → Full project name from project metadata or user input
- `[OWNER_NAME_AND_ROLE]` → Document owner (prompt user if not in metadata)
- `[CLASSIFICATION]` → Default to "OFFICIAL" for UK Gov, "PUBLIC" otherwise (or prompt user)

*Calculated fields*:

- `[YYYY-MM-DD]` for Review Date → Current date + 30 days

*Pending fields* (leave as [PENDING] until manually updated):

- `[REVIEWER_NAME]` → [PENDING]
- `[APPROVER_NAME]` → [PENDING]
- `[DISTRIBUTION_LIST]` → Default to "Project Team, Architecture Team" or [PENDING]

**Populate Revision History**:

```markdown
| 1.0 | {DATE} | ArcKit AI | Initial creation from `$arckit-gcloud-search` command | [PENDING] | [PENDING] |
```

**Populate Generation Metadata Footer**:

The footer should be populated with:

```markdown
**Generated by**: ArcKit `$arckit-gcloud-search` command
**Generated on**: {DATE} {TIME} GMT
**ArcKit Version**: {ARCKIT_VERSION}
**Project**: {PROJECT_NAME} (Project {PROJECT_ID})
**AI Model**: [Use actual model name, e.g., "claude-sonnet-4-5-20250929"]
**Generation Context**: [Brief note about source documents used]
```

---

### 4. Generate G-Cloud Requirements Document

Create directory: `projects/[project]/procurement/`

Before writing the file, read `.arckit/references/quality-checklist.md` and verify all **Common Checks** plus the **GCLD** per-type checks pass. Fix any failures before proceeding.

Generate `projects/[project]/procurement/ARC-{PROJECT_ID}-GCLD-v1.0.md`:

```markdown
# UK Digital Marketplace: G-Cloud Service Procurement

**Framework**: G-Cloud
**Service Category**: [Cloud Hosting / Cloud Software / Cloud Support]
**Generated**: [DATE]
**Project**: [PROJECT_NAME]
**Project ID**: [PROJECT_ID]
**Requirements Source**: [Link to ARC-*-REQ-*.md]

---

## 1. Service Overview

### 1.1 What We Need

[Describe what cloud service/software is needed - from ARC-*-REQ-*.md]

### 1.2 Why We Need It

[Business context from BR-xxx requirements]

### 1.3 Strategic Alignment

**Architecture Principles** (if exists):
[Reference relevant principles, especially cloud strategy, security principles]

### 1.4 Integration Context

[Extract from INT-xxx requirements - what systems this service will integrate with]

---

## 2. Must-Have Requirements

The service **MUST** provide:

[Extract MUST requirements from ARC-*-REQ-*.md]

### 2.1 Functional Requirements
- **[Requirement 1]**: [From FR-xxx or NFR-xxx]
- **[Requirement 2]**: [From FR-xxx or NFR-xxx]
- **[Requirement 3]**: [From FR-xxx or NFR-xxx]

### 2.2 Performance Requirements
- **[Performance Target]**: [From NFR-P-xxx with measurable metric]
- **[Performance Target]**: [From NFR-P-xxx with measurable metric]

### 2.3 Security Requirements
- **[Security Requirement]**: [From NFR-S-xxx or ARC-000-PRIN-*.md]
- **[Security Requirement]**: [From NFR-S-xxx or ARC-000-PRIN-*.md]

### 2.4 Compliance Requirements
- **[Compliance Standard]**: [From NFR-C-xxx]
- **[Certification Needed]**: [e.g., ISO 27001, Cyber Essentials Plus]
- **[Data Residency]**: [e.g., UK data centers only, GDPR compliance]

### 2.5 Integration Requirements
- **[Integration Point]**: [From INT-xxx]
- **[Integration Method]**: [API, webhook, file transfer, etc.]

---

## 3. Desirable Requirements

The service **SHOULD** provide:

[Extract SHOULD requirements from ARC-*-REQ-*.md]
- [Desirable feature 1]
- [Desirable feature 2]
- [Desirable feature 3]

---

## 4. Success Criteria

[Extract measurable success criteria from ARC-*-REQ-*.md BR-xxx]

- [Criterion 1 with metric]
- [Criterion 2 with metric]
- [Criterion 3 with metric]

---

## 5. Evaluation Criteria

### 5.1 Functional Fit (50%)

- **Must-Have Coverage** (30%): Meets all MUST requirements
- **Desirable Features** (20%): Coverage of SHOULD requirements

### 5.2 Reliability & Performance (25%)

- **Service Level Agreements** (10%): Uptime guarantees, support response times
- **Performance Specifications** (10%): Meets NFR-P-xxx requirements
- **Disaster Recovery** (5%): DR/BC capabilities

### 5.3 Security & Compliance (15%)

- **Security Certifications** (5%): ISO 27001, Cyber Essentials Plus, etc.
- **Data Protection** (5%): GDPR compliance, data residency
- **Compliance Standards** (5%): Industry-specific certifications

### 5.4 Cost & Support (10%)

- **Pricing Model** (5%): Transparency, predictability, value
- **Support Availability** (3%): Support hours, escalation process
- **Contract Flexibility** (2%): Terms, exit strategy, lock-in

```

### 5. Search Digital Marketplace (WebSearch)

**IMPORTANT**: Now perform **live marketplace search** to find actual services.

For each service category identified:

#### 5.1 Build Search Query

Create search query:

```text
site:digitalmarketplace.service.gov.uk g-cloud [service category] [key requirements]
```

**Examples**:

- `site:digitalmarketplace.service.gov.uk g-cloud cloud hosting kubernetes`
- `site:digitalmarketplace.service.gov.uk g-cloud monitoring prometheus grafana`
- `site:digitalmarketplace.service.gov.uk g-cloud email delivery service`

**Include in query**:

- Service category name
- Key technical requirements (from MUST requirements)
- Important features (top 2-3 from requirements)

#### 5.2 Execute WebSearch

Use WebSearch tool to search Digital Marketplace.

**For each major service type needed** (up to 3 service types):

1. Execute WebSearch with built query
2. Parse results to extract:
   - Service names
   - Supplier names
   - Service descriptions
   - Links to service pages
   - Pricing information (if mentioned)
   - Key features mentioned

#### 5.3 Parse and Filter Results

For each service found:

- **Check MUST requirements**: Does service mention capabilities for MUST requirements?
- **Score SHOULD requirements**: How many desirable features are mentioned?
- **Check compliance**: Are required certifications mentioned?
- **Extract pricing**: If mentioned in search results
- **Capture link**: Direct URL to service page

#### 5.4 Generate Service Shortlist

**Add to gcloud-ARC-*-REQ-*.md**:

```markdown

---

## 6. Digital Marketplace Search Results

**Search Performed**: [DATE and TIME]
**Search Queries Used**:
- Query 1: `[search query 1]`
- Query 2: `[search query 2]` (if multiple searches)

### 6.1 Service Category: [Category Name]

#### Top Matching Services

[For each of top 3-5 services found]

**Service: [Service Name]**
- **Supplier**: [Supplier Name]
- **Service ID**: [Service ID from URL if available]
- **Link**: [Direct URL to service page]
- **Key Features**:
  - [Feature 1 mentioned in description]
  - [Feature 2 mentioned in description]
  - [Feature 3 mentioned in description]
- **Pricing**: [If mentioned, otherwise "See service page for pricing"]
- **Must-Have Match**: [X/Y] requirements mentioned
- **Desirable Features**: [X/Y] desirable features mentioned
- **Compliance**: [Certifications mentioned]

---

### 6.2 Service Comparison Table

| Service | Supplier | Must-Have Match | Desirable Features | Compliance | Estimated Cost | Link |
|---------|----------|----------------|-------------------|------------|---------------|------|
| [Service 1] | [Supplier 1] | X/Y | X/Y | [Certs] | [Price] | [Link] |
| [Service 2] | [Supplier 2] | X/Y | X/Y | [Certs] | [Price] | [Link] |
| [Service 3] | [Supplier 3] | X/Y | X/Y | [Certs] | [Price] | [Link] |

---

### 6.3 Detailed Comparison

**[Service 1 Name]**
- ✅ **Strengths**:
  - [Strength 1 based on requirements match]
  - [Strength 2 based on features]
  - [Strength 3 based on compliance/pricing]
- ⚠️ **Gaps/Concerns**:
  - [Gap 1 - MUST requirement not clearly mentioned]
  - [Gap 2 - desirable feature missing]
- **Best For**: [Use case where this service excels]

**[Service 2 Name]**
- ✅ **Strengths**:
  - [Strength 1]
  - [Strength 2]
  - [Strength 3]
- ⚠️ **Gaps/Concerns**:
  - [Gap 1]
  - [Gap 2]
- **Best For**: [Use case where this service excels]

**[Service 3 Name]**
- ✅ **Strengths**:
  - [Strength 1]
  - [Strength 2]
  - [Strength 3]
- ⚠️ **Gaps/Concerns**:
  - [Gap 1]
  - [Gap 2]
- **Best For**: [Use case where this service excels]

---

## 7. Recommendation

### 7.1 Recommended Service

**[Service Name]** by [Supplier Name]

**Rationale**:
- ✅ Meets [X/Y] MUST requirements ([list any gaps if exist])
- ✅ Provides [X/Y] desirable features
- ✅ [Compliance advantage - e.g., strongest security certification coverage]
- ✅ [Cost advantage - e.g., best value for required features]
- ✅ [Other advantage - e.g., UK data residency, 24/7 support]

**Next Steps for This Service**:
1. Visit service page: [Link]
2. Verify all MUST requirements are met (contact supplier if needed)
3. Request detailed pricing quote
4. Schedule demo/technical discussion with supplier
5. Validate integration capabilities (INT-xxx requirements)
6. Check client references

### 7.2 Alternative Option

**[Service Name]** by [Supplier Name]

**Why Consider This**:
[Reason - e.g., "If [condition] is priority" or "If [Recommended Service] doesn't meet [specific need]"]

**Link**: [URL]

---

## 8. Important Gaps to Address

[If any MUST requirements were NOT clearly met by any service]

⚠️ **Requirement Gap**: [MUST requirement ID and description]
- **Finding**: None of the top services clearly mention this capability
- **Action Required**:
  - Contact shortlisted suppliers directly to confirm capability
  - May need to broaden search or adjust requirements
  - Consider hybrid approach (e.g., combine services)

```

### 6. Handle Search Scenarios

**If WebSearch finds 5+ good matches**:

- Show top 5 services in comparison table
- Provide recommendation with clear rationale

**If WebSearch finds 3-4 matches**:

- Show all matches in comparison table
- Highlight which best meets requirements
- May suggest alternative search terms

**If WebSearch finds 1-2 matches**:

- Show what was found
- Suggest broader search terms
- Recommend manual marketplace search with guidance

**If WebSearch finds 0 matches**:

- Explain no results found for this query
- Suggest alternative search terms (broader)
- Provide manual search guidance: go to https://www.digitalmarketplace.service.gov.uk/
- List specific search terms to try manually
- Note: Service may exist but not indexed well - encourage direct marketplace search

### 7. Final Output Section

Add to end of `ARC-{PROJECT_ID}-GCLD-v1.0.md`:

```markdown

---

## 9. Next Steps

### 9.1 For Procurement Team

1. **Review Shortlisted Services**:
   - Visit each service page on Digital Marketplace
   - Verify MUST requirements are met (contact suppliers for clarification)

2. **Request Additional Information**:
   - Detailed pricing quotes
   - Technical specifications
   - Integration capabilities
   - Client references

3. **Evaluate Services**:
   - Use criteria from Section 5
   - Document scoring and justification (audit trail)

4. **Technical Validation**:
   - Schedule demos with top 2-3 suppliers
   - Validate integration requirements (INT-xxx)
   - Proof of concept if needed for complex integrations

5. **Award Contract**:
   - Select service via Digital Marketplace
   - Create call-off contract
   - Publish award on Contracts Finder

### 9.2 Due Diligence Checklist

Before committing to a service:

- ✅ **Requirements Validation**: All MUST requirements confirmed with supplier
- ✅ **Pricing Clarity**: Full pricing model understood (no hidden costs)
- ✅ **Contract Terms**: Exit strategy, data export, termination terms reviewed
- ✅ **Integration Testing**: API/integration capabilities validated
- ✅ **Security Review**: Certifications verified, security practices reviewed
- ✅ **Data Protection**: GDPR compliance confirmed, data residency verified
- ✅ **Support Terms**: SLA understood, support hours acceptable
- ✅ **References**: Spoke with at least 2 existing clients

---

## 10. Resources

- **Digital Marketplace**: https://www.digitalmarketplace.service.gov.uk/
- **G-Cloud Buyers Guide**: https://www.gov.uk/guidance/g-cloud-buyers-guide
- **Buying Guide**: https://www.gov.uk/guidance/buying-and-selling-on-the-digital-marketplace
- **Contracts Finder**: https://www.gov.uk/contracts-finder

---

## 11. Service Page Links

[List all direct links to services found]

1. [Service 1 Name] - [Supplier]: [URL]
2. [Service 2 Name] - [Supplier]: [URL]
3. [Service 3 Name] - [Supplier]: [URL]
4. [Service 4 Name] - [Supplier]: [URL]
5. [Service 5 Name] - [Supplier]: [URL]

**Browse More**: https://www.digitalmarketplace.service.gov.uk/g-cloud/search

---

## 12. Important Notes

**Framework Agreements**: G-Cloud services are pre-approved - no separate tender needed

**Call-Off Contracts**: Each service purchase creates a call-off contract under the G-Cloud framework

**Integration Testing**: Ensure service can integrate per INT-xxx requirements before commitment

**Exit Strategy**: Always clarify data export and service termination terms before signing

**Audit Trail**: Document evaluation decisions and justification for chosen service

```

### 8. Quality Validation

Before finalizing, validate output:

- ✅ All requirements from ARC-*-REQ-*.md are included
- ✅ Architecture principles referenced (if available)
- ✅ WebSearch was executed for each major service type
- ✅ At least 3 services found and compared (or explanation if fewer)
- ✅ Comparison table is complete
- ✅ Recommendation has clear rationale
- ✅ All service links are included
- ✅ Must-have requirements are checked against each service
- ✅ Gaps are identified if services don't meet all requirements
- ✅ Next steps are actionable

### 9. Report Completion

Output to user:

```text
✅ Generated G-Cloud service search for [PROJECT_NAME]

Framework: G-Cloud
Document: projects/[project]/procurement/ARC-{PROJECT_ID}-GCLD-v1.0.md

Requirements Summary:
- ✅ Requirements extracted from ARC-*-REQ-*.md
- [✅/⚠️] Architecture principles referenced
- ✅ Service category identified: [Category]

Marketplace Search Results:
- ✅ Executed WebSearch for: [search query 1]
- [✅] Executed WebSearch for: [search query 2] (if multiple)
- ✅ Found [X] matching services
- ✅ Shortlisted top [X] services for comparison

Recommended Service:
🏆 [Service Name] by [Supplier Name]
   - Match Score: [X/Y] MUST + [X/Y] SHOULD requirements
   - Link: [URL]

Alternative Services:
2. [Service Name] by [Supplier] - [URL]
3. [Service Name] by [Supplier] - [URL]

Next Steps:
1. Review document: projects/[project]/procurement/ARC-{PROJECT_ID}-GCLD-v1.0.md
2. Visit recommended service page: [Link]
3. Contact supplier for detailed information
4. Validate integration requirements (INT-xxx)
5. Complete due diligence checklist (Section 9.2)
6. Award contract via Digital Marketplace

Important: All shortlisted services should be validated against MUST requirements before selection.
```

## Key Principles

1. **Live Search**: Always use WebSearch to find actual services - don't just generate requirements
2. **Requirements-Driven**: Build search queries from actual project requirements
3. **Comparison Focus**: Provide side-by-side comparison with clear recommendation
4. **Practical Links**: Include direct links to every service mentioned
5. **Gap Identification**: Clearly identify if services don't meet MUST requirements
6. **Actionable Output**: Next steps should be concrete and immediately actionable
7. **Traceability**: Maintain requirement IDs throughout evaluation

## Search Query Examples

**For Cloud Hosting**:

- `site:digitalmarketplace.service.gov.uk g-cloud cloud hosting kubernetes docker`
- `site:digitalmarketplace.service.gov.uk g-cloud iaas virtual machines linux`
- `site:digitalmarketplace.service.gov.uk g-cloud paas cloud platform managed`

**For SaaS Platforms**:

- `site:digitalmarketplace.service.gov.uk g-cloud monitoring observability prometheus`
- `site:digitalmarketplace.service.gov.uk g-cloud email delivery service smtp`
- `site:digitalmarketplace.service.gov.uk g-cloud ci cd pipeline automation`
- `site:digitalmarketplace.service.gov.uk g-cloud analytics data warehouse`

**For Specialized Services**:

- `site:digitalmarketplace.service.gov.uk g-cloud cdn content delivery network`
- `site:digitalmarketplace.service.gov.uk g-cloud backup disaster recovery`
- `site:digitalmarketplace.service.gov.uk g-cloud security scanning vulnerability`

## Error Handling

- **No requirements**: ERROR "Run $arckit-requirements first - need to define service needs"
- **Custom development detected**: ERROR "This is for custom development - use $arckit-dos instead"
- **No service needs found**: WARN "No cloud service requirements found - are you sure this is G-Cloud procurement?"
- **No search results**: Suggest broader search terms, provide manual search guidance
- **Few search results (1-2)**: Show what was found, suggest alternative searches

## G-Cloud vs DOS Guidance

If requirements suggest custom development rather than cloud services:

```text
⚠️ FRAMEWORK MISMATCH DETECTED

Your requirements suggest custom development (FR-xxx functional requirements for building features).

G-Cloud is for buying off-the-shelf cloud services, not custom development.

✅ Use $arckit-dos instead - Digital Outcomes and Specialists

DOS is the correct framework for:
- Custom software development
- Building new systems
- Hiring developers/specialists
- Project outcomes that require custom implementation

Only use $arckit-gcloud-search if you need:
- Cloud hosting or infrastructure (IaaS/PaaS)
- Off-the-shelf SaaS platforms
- Managed cloud services
```

## Important Notes

- **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
More from tractorjuice/arc-kit