Skip to content
Back to skills

Cli Anything Vercel Config

ASecurity

Use this skill when working with the `cli-anything-vercel-config` harness — adding commands, modifying the backend, extending the manifest model, or writing tests.

  • 3 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 11, 2026
developmentpythongobashapibackendsecurity

Works with

  • cli
  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned September 11, 2026

npx -y skills add SkyyRoseLLC/DevSkyy --skill cli-anything-vercel-config --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cli Anything Vercel Config?

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

Security grade badge for Cli Anything Vercel Config
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/skyyrosellc-cli-anything-vercel-config/badge)](https://www.skillsdirectory.com/skills/skyyrosellc-cli-anything-vercel-config)

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
# Skill: cli-anything-vercel-config

Use this skill when working with the `cli-anything-vercel-config` harness — adding commands,
modifying the backend, extending the manifest model, or writing tests.

## What This Harness Does

Wraps the Vercel REST API for settings that the official `vercel` CLI doesn't expose:
project metadata PATCH, env var per-target management, domain redirect config,
declarative manifest plan/apply, deployment logs, and integration listing.

## Install

```bash
cd /path/to/agent-harness
pip install -e ".[dev]"
```

Entry point: `cli-anything-vercel-config`

Module path (use for `python -m` invocation in tests):
`cli_anything.vercel_config.vercel_config_cli`

> **Note:** `_resolve_cli` auto-derivation from "cli-anything-vercel-config" yields an
> invalid module name. Always hardcode `cli_anything.vercel_config.vercel_config_cli`
> in subprocess/e2e tests.

## Architecture Snapshot

```
cli_anything/vercel_config/
├── vercel_config_cli.py    CLI root; _Ctx; all command groups; REPL
├── core/
│   ├── project.py          ProjectRef; 13 patchable fields
│   ├── env_vars.py         EnvVar; diff_env_vars()
│   ├── domains.py          Domain; diff_domains()
│   ├── manifest.py         Manifest; build_plan(); load_manifest()
│   └── session.py          Session persistence; _locked_save_json
└── utils/
    ├── vercel_backend.py   HTTP layer; token resolution; _confirm(); retry
    └── repl_skin.py        prompt-toolkit REPL skin
```

## Adding a New Command

1. Add method to `VercelBackend` in `vercel_backend.py` — use `_request()` for all HTTP.
2. Add Click command to the appropriate group in `vercel_config_cli.py`.
3. If destructive: call `_confirm(action, target, payload)` before executing.
4. If list command: add `--json` flag; emit `json.dumps(data)` when set.
5. Add unit test in `test_core.py` (mock the backend method).
6. Add CLI test in `test_full_e2e.py` (mock `VercelBackend`).

## Security Rules (non-negotiable)

- Token never logged. Never written to disk by this CLI.
- STOP-AND-SHOW `_confirm()` on every destructive op.
- `--reveal` required to print env values; default `"***"`.
- `timeout=` on every `requests` call (default 30s).
- HTTP 429 → exponential backoff, max 3 attempts.
- Atomic session writes: `_locked_save_json` only.

## Vercel API Versions

| Version | Used For |
|---|---|
| v9 | Projects, domains |
| v10 | Environment variables |
| v6 | Deployments list |
| v3 | Deployment events/logs |
| v1 | Integrations |

## Run Tests

```bash
# Full offline suite
pytest cli_anything/vercel_config/tests/ --tb=short -q

# Live (read-only, safe against production)
VERCEL_E2E=1 VERCEL_TOKEN=<tok> VERCEL_E2E_PROJECT=<project> \
    pytest cli_anything/vercel_config/tests/test_full_e2e.py::TestLiveVercel -v
```

## Key Files to Read Before Editing

| Task | File |
|---|---|
| Add REST method | `utils/vercel_backend.py` |
| Add CLI command | `vercel_config_cli.py` |
| Extend manifest | `core/manifest.py` |
| Extend env diff | `core/env_vars.py` |
| Extend domain diff | `core/domains.py` |
| Gap analysis + architecture | `VERCEL-CONFIG.md` |
| Test plan | `tests/TEST.md` |

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…