Skip to content
Back to skills

Datasource

ASecurity

Create a DataSource note documenting a specific database, table, API endpoint, dataset, or data entity with schema, quality metrics, and access information.

  • 52 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 9, 2026
datagoapidatabasesecurityperformance

Works with

  • api

Security analysis

A100/100

Scanned September 9, 2026

npx -y skills add DavidROliverBA/ArchitectKB --skill datasource --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Datasource?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Datasource
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/davidroliverba-datasource/badge)](https://www.skillsdirectory.com/skills/davidroliverba-datasource)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
context: fork
---

# /datasource

Create a DataSource note documenting a specific database, table, API endpoint, dataset, or data entity with schema, quality metrics, and access information.

## Usage

```
/datasource <name>
/datasource "SAP Invoices"
/datasource "DataPlatform Revenue Fact Table"
/datasource "Snowflake Customers"
```

## Instructions

### Phase 1: Parse Input & Link to System

1. Extract data source name
2. Ask which system owns this data:
   ```
   Which system owns this data source?
   Search: [user searches for System]
   Or create new System? (Y/n)
   ```
3. Confirm link: "Link to [[System - {{system}}]]? (Y/n)"

### Phase 2: Essential Information

```
Creating DataSource: {{name}} (owned by {{system}})

1️⃣ Data Type:
   - database-table (relational table)
   - database-view (virtual table)
   - api-endpoint (REST/GraphQL data)
   - kafka-topic (event stream)
   - data-warehouse-table (Snowflake/BigQuery)
   - data-lake (file-based storage)
   - cache (Redis/Memcached)
   Default: database-table
   User input: [selection]

2️⃣ Record Count (approximate):
   Default: null
   User input: [number, e.g., 5000000]

3️⃣ Data Volume per Day:
   Default: null
   User input: [e.g., "2.5GB", "500K records"]

4️⃣ Refresh Frequency:
   - real-time
   - hourly
   - daily
   - weekly
   - on-demand
   Default: daily
   User input: [selection]

5️⃣ Classification:
   - public
   - internal
   - confidential
   - secret
   Default: internal
   User input: [selection]
```

### Phase 3: Data Quality (Optional)

Ask: "Add data quality metrics? (Y/n)"

If YES:
```
- Completeness (%): 98.5
- Uniqueness (%): 99.9
- Accuracy: high | medium | low
- Timeliness: how fresh (< 5 minutes, < 1 hour, etc.)
```

### Phase 4: Schema & Key Fields

```
Key Fields (comma-separated):
invoice_id, vendor_id, amount
```

Then ask:
```
Schema details needed? (Y/n)
- Parent entities (sources of this data)
- Child entities (what feeds from this)
- Related tables
```

### Phase 5: Access & Consumers

```
How is this data accessed?
- REST API
- GraphQL
- Direct database query
- Kafka topic
- Batch export / S3
- Other
Default: [based on data type]

Which systems consume this data?
Search: [[System - DataPlatform]]
Add: [[System - Analytics]]
```

### Phase 6: Generate Frontmatter

```yaml
type: DataSource
title: "{{name}}"

sourceId: "{{sourceId}}"
sourceSystem: "[[System - {{system}}]]"
owner: "[[{{person}}]]"

dataType: {{type}}
recordCount: {{count}}
volumePerDay: "{{volume}}"
refreshFrequency: {{frequency}}

classification: {{classification}}
gdprApplicable: {{gdpr}}
piiFields: [{{pii}}]

completeness: {{completeness}}
uniqueness: {{uniqueness}}
accuracy: {{accuracy}}
timeliness: {{timeliness}}

exposedVia: [rest-api, kafka-topic]
consumerCount: {{consumer_count}}
criticalConsumers: [{{critical_systems}}]

confidence: medium
freshness: current
verified: false

created: 2026-01-14
tags: [type/data-source, {{sourceSystem|lower}}]
```

### Phase 7: Generate Body Content

1. **Overview**: What data this contains
2. **Data Volume & Performance**: Size, growth, refresh
3. **Data Schema**: Sample table structure
4. **Field Mapping**: Key fields explained
5. **Data Quality**: Completeness, accuracy metrics
6. **Access & Integration**: How systems access it
7. **Security & Governance**: Classification, PII, GDPR
8. **Related Integration Notes**: What uses this data

### Phase 8: Create File

**Filename**: `DataSource - {{name}}.md`

**Location**: Vault root

**Output**:
```
✅ Created: DataSource - {{name}}.md

Linked to:
- [[System - {{owning system}}]]

Next steps:
1. Create integration: /integration {{source}} {{target}}
2. Document consumer systems
3. Add to architecture diagram
```

## Example Interaction

```
User: /datasource "SAP Invoices"

System: Which system owns this data?
> SAP S/4HANA

Data Type:
> database-table

Record Count:
> 200000000

Volume per Day:
> 5GB

Refresh Frequency:
> hourly

Classification:
> confidential

Data Quality:
Completeness: 98.5
Uniqueness: 99.9
Accuracy: high
Timeliness: < 5 minutes

Key Fields:
> invoice_id, vendor_id, company_code, amount, invoice_date

Consumers (search for Systems):
> DataPlatform
> Snowflake
> Analytics

✅ Created: DataSource - SAP Invoices.md

Updated:
- [[System - SAP S/4HANA]] added to owns/exposes
- [[System - DataPlatform]] added to consumers
- [[System - Snowflake]] added to consumers
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…