# Authoring Data CLI Source

> Use when the user wants to add, redesign, or extend an agent-data-cli source, especially when the work may involve RSS, APIs, scraping, browser automation, authentication, or remote side effects.

- Skill: `dvcrn/authoring-data-cli-source` (Agent Skill, multi-file: 8 files)
- Install (CLI): `npx skillmds@latest add dvcrn/authoring-data-cli-source`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dvcrn/authoring-data-cli-source/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: dvcrn (https://skillmd.com/u/dvcrn)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/dvcrn/authoring-data-cli-source

---


# Authoring agent-data-cli source

## Overview

Use this skill to design and implement an `agent-data-cli` source with stable behavior and clear project fit.

This skill is deliberately stricter than normal feature work because a weak source design causes protocol drift, command confusion, and unreliable sync behavior.

## Hard Gate

Do not start implementation immediately.

The required sequence is:

1. research
2. spec
3. plan
4. approval
5. implement
6. verify

If the user explicitly wants to skip a stage, say what risk that creates before proceeding.

## When to Use

Use this skill when the user wants to:

- add a new source
- redesign an existing source
- add source capabilities such as `channel search`, `content search`, `content update`, or `content interact`
- add support for RSS, APIs, scraping, browser automation, authentication, cookies, or remote side effects

Do not use this skill for:

- ordinary content operations against an existing source
- unrelated CLI or store changes with no source work

## Install

If `agent-data-cli` is not present locally, install it first:

```bash
git clone https://github.com/severinzhong/agent-data-cli
cd agent-data-cli
uv sync
```

Then load the bundled skills from this repository's `skills/` directory and work from the repo root.

## Workflow

### 1. Research

Identify the source type before making architecture decisions.

Classify it as one or more of:

- RSS
- API
- HTML scraping
- browser-driven
- auth or session driven
- interact capable

Research must confirm:

- whether the source has a real `channel` concept
- whether remote discovery and remote sync are distinct
- how to identify unique content
- what time field is available
- how pagination or incremental fetch works
- what config is required
- whether interact is actually possible

Use available web research, local fetch tools, and the repo's `fetchers/` where appropriate.

### 2. Spec

Write a source-specific spec before implementation.

It must define:

- source to resource mapping
- supported capabilities
- config fields and mode if needed
- content normalization and dedup strategy
- storage requirements
- error boundaries
- CLI-visible semantics
- testing scope

### 3. Plan

Turn the approved spec into an implementation plan.

The plan must break work into:

- failing tests to add first
- source code units to implement
- CLI verification steps
- persistence and audit verification

### 4. Approval

Wait for user approval after the spec and plan.

Do not jump from research straight to code.

### 5. Implement

Implement with TDD.

- write failing tests first
- verify the failure is correct
- write minimal code
- rerun focused tests

### 6. Verify

Before claiming completion, verify:

- unit tests
- CLI simulation tests
- help output
- capability and config behavior
- persistence side effects
- interact audit behavior when applicable

## Read Next

- `references/source-contract.md` for repository rules
- `references/source-type-rss.md` for feed-like sources
- `references/source-type-api.md` for JSON or HTTP API sources
- `references/source-type-browser.md` for browser-driven sources
- `references/source-type-interact.md` for remote side effects
- `references/source-testing.md` for test matrix
- `references/source-review-checklist.md` before final verification

