Skip to content
Back to skills

Cli Anything

ASecurity

Transform any GUI application into an agent-controllable CLI. 7-phase pipeline: analyze the GUI, design CLI commands, implement adapters, plan tests, write tests, document, and publish. Produces a standalone CLI tool that wraps GUI functionality for automation. Triggers on: "cli anything", "gui to cli", "make cli", "wrap gui", "automate application"

  • 229 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added June 6, 2026
documentationtypescriptpythonrustgobashnodeapidocumentation

Works with

  • cli
  • api

Security analysis

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

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

Scanned June 6, 2026

npx -y skills add Miosa-osa/canopy --skill cli-anything --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cli Anything?

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

Security grade badge for Cli Anything
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/miosa-osa-cli-anything/badge)](https://www.skillsdirectory.com/skills/miosa-osa-cli-anything)

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
---
name: cli-anything
description: >
  Transform any GUI application into an agent-controllable CLI. 7-phase
  pipeline: analyze the GUI, design CLI commands, implement adapters,
  plan tests, write tests, document, and publish. Produces a standalone
  CLI tool that wraps GUI functionality for automation.
  Triggers on: "cli anything", "gui to cli", "make cli", "wrap gui", "automate application"
---

# /cli-anything

> Transform any GUI application into an agent-controllable CLI.

## Purpose

Take a GUI application (desktop app, web UI, or any interactive program) and produce a fully functional CLI wrapper that exposes its capabilities as scriptable commands. The 7-phase pipeline analyzes the application's interface, designs an ergonomic command structure, implements the adapter layer, writes comprehensive tests, generates documentation, and packages for distribution. The output is a standalone CLI tool that agents or humans can use to automate what previously required manual GUI interaction.

## Usage

```bash
# Analyze a desktop application
/cli-anything --app "Figma" --platform macos

# Transform a web application
/cli-anything --app "Jira" --url "https://myorg.atlassian.net" --auth oauth2

# Target specific GUI features only
/cli-anything --app "Photoshop" --features "resize,crop,export,batch"

# Skip to implementation (analysis already done)
/cli-anything --from analysis/figma-cli-design.md --phase implement

# Dry run — show planned CLI structure
/cli-anything --app "Slack" --dry-run
```

## Arguments

| Flag | Type | Default | Description |
|------|------|---------|-------------|
| `--app` | string | required | Application name or path to analyze |
| `--platform` | enum | auto-detect | Target platform: `macos`, `linux`, `windows`, `web` |
| `--url` | string | — | URL for web applications |
| `--auth` | enum | — | Auth method: `oauth2`, `api-key`, `cookie`, `none` |
| `--features` | string | `all` | Comma-separated list of features to wrap |
| `--from` | string | — | Resume from existing analysis document |
| `--phase` | enum | `analyze` | Start from phase: `analyze`, `design`, `implement`, `test`, `document`, `publish` |
| `--dry-run` | flag | false | Show planned CLI structure without building |
| `--output` | string | `./<app>-cli/` | Output directory for the CLI project |
| `--language` | enum | `python` | Implementation language: `python`, `typescript`, `go`, `rust` |

## Workflow

### Phase 1: Analyze
Examine the GUI application. Identify all user-facing actions, input fields, navigation flows, and state transitions. Map the GUI's information architecture. Inventory available APIs, accessibility trees, or automation hooks. Output: feature inventory + interaction map.

### Phase 2: Design
Design the CLI command structure. Map GUI actions to CLI commands and subcommands. Follow POSIX conventions. Design flag names, argument ordering, and output formats. Ensure composability (pipe-friendly output). Output: command tree + flag specifications.

### Phase 3: Implement
Build the CLI adapter layer. For each command: implement the bridge to the application (via API, accessibility API, AppleScript, browser automation, or native bindings). Handle authentication, session management, and error translation. Output: working CLI source code.

### Phase 4: Plan Tests
Design the test strategy. Identify which commands can be tested with mocks vs. require integration. Define fixture data and expected outputs. Output: test plan document.

### Phase 5: Write Tests
Implement tests from the plan. Unit tests for command parsing and output formatting. Integration tests for API calls with recorded fixtures. E2E tests for critical flows. Output: test suite.

### Phase 6: Document
Generate CLI documentation: man page, `--help` text for every command, usage examples, and a quick-start guide. Include common automation recipes. Output: docs directory.

### Phase 7: Publish
Package the CLI for distribution. Create install script, add to package registry if applicable, and generate a release with changelog. Output: distributable package.

## Examples

### Transforming Figma into a CLI
```
/cli-anything --app "Figma" --platform web --auth oauth2 --features "export,inspect,components"

## Phase 2: CLI Design — figma-cli

figma-cli export <file-key> [--format png|svg|pdf] [--scale 2x] [--output ./]
figma-cli inspect <file-key> <node-id> [--property color|font|spacing|all]
figma-cli components list <file-key> [--filter "Button*"]
figma-cli components export <file-key> <component-name> [--format svg]
figma-cli auth login [--token <pat>]
figma-cli auth status

## Phase 3: Implementation
- Auth adapter: OAuth2 PKCE flow → token storage in keychain
- Export adapter: Figma REST API /v1/images endpoint
- Inspect adapter: Figma REST API /v1/files/:key/nodes
- Output: JSON by default, `--format table` for human reading
```

## Output

```markdown
## CLI-Anything Report — <app>

### Feature Inventory
- N GUI actions mapped
- N commands designed
- N implemented and tested

### Command Tree
<app>-cli
├── auth (login, logout, status)
├── <feature-1> (subcommands...)
├── <feature-2> (subcommands...)
└── config (set, get, list)

### Test Results
- Unit: N passed
- Integration: N passed
- E2E: N passed

### Distribution
- Package: <app>-cli v1.0.0
- Install: `pip install <app>-cli` | `npm install -g <app>-cli`
```

## Dependencies

- Application access (API keys, OAuth credentials, or local install)
- `/build` — Building the CLI package
- `/test` — Running the generated test suite
- `/commit` — Versioning the CLI source
- Platform-specific automation tools (AppleScript, accessibility APIs, Playwright)

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…