anycap-ai/anycap/anycap-cli

Claude Code and agent skill by anycap-ai/anycap

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

AnyCap CLI -- create media humans can see and hear (generate images, video, music, and audio), understand media humans share (analyze images, video, audio), access the web (search, crawl), and deliver results humans can use (Drive for shareable file links, Page for hosted web pages). Use whenever a task involves creating visual or audio content, analyzing media, searching or reading the web, sharing files with humans, or publishing anything as a web page -- even if the user doesn't mention AnyCap by name. Also use for AnyCap authentication (login, API key, credentials), configuration, and feedback. Trigger on: image/video/music/audio generation, media analysis, web search, web crawl, file sharing, page hosting, drive storage, delivering results to users, or any mention of AnyCap.

Install

npx vskill@latest install anycap-ai/anycap/anycap-cli

SKILL.md

AnyCap CLI

Read this entire file before starting. It covers install, auth, capabilities, and output conventions. Load reference files from references/ as needed for specific commands.

One CLI. Any capability.

AnyCap lets you create media humans can see and hear, understand media humans share with you, access the web for information, and deliver results through shareable links and hosted pages. One CLI, one auth, structured JSON I/O.

Use AnyCap when a task involves:

  • Creating visual or audio content for humans (images, video, music, speech, and complete audio scenes)
  • Understanding media humans share (analyze images, video, audio)
  • Finding information on the web (search, crawl pages)
  • Delivering results humans can access and share (Drive links, hosted pages)

Install

If anycap is not installed (command -v anycap fails), install it before proceeding.

Read the machine-readable install guide at https://anycap.ai/install.txt for installation tasks. Do not fetch the homepage for install automation. Prefer the binary install (install script or GitHub Releases) over npm -- fewer dependencies, faster startup, no Node.js required.

The CLI auto-updates on each run. To update manually: anycap update.

Verify the installation:

bash
anycap status

Troubleshooting: anycap not found after install

The install script places the binary in ~/.local/bin/ by default (non-root) and appends an export PATH line to the shell profile (.bashrc / .zshrc). However, the current shell session does not pick up profile changes automatically, so command -v anycap may still fail right after install.

Diagnosis and fix:

bash
# 1. Check if the binary actually exists
ls -la ~/.local/bin/anycap
# 2. If it exists, add to PATH for the current session
export PATH="$HOME/.local/bin:$PATH"
# 3. Verify
anycap status

If ~/.local/bin/anycap does not exist, the install may have used a different directory (e.g., /usr/local/bin when run as root, or a custom ANYCAP_INSTALL_DIR). Check the install output for the actual path.

If the binary exists but a different anycap is resolved (e.g., an npm-installed version), use the full path ~/.local/bin/anycap or adjust PATH ordering.

Authentication

Three methods, depending on environment:

bash
# Interactive (default) -- opens browser
anycap login
# Headless (SSH, containers) -- device code flow
anycap login --headless
# Headless for agent/toolcall runtimes -- initialize without blocking
anycap login --headless --no-wait --json
# Resume a previously initialized headless login after the user confirms completion
anycap login poll --session <login_session_id> --json --wait
# CI/CD -- pipe API key from stdin
echo "$ANYCAP_API_KEY" | anycap login --with-token

Alternatively, set the ANYCAP_API_KEY environment variable directly -- the CLI reads it without requiring login.

For agent/toolcall usage, prefer the nonblocking headless flow:

  1. Run anycap login --headless --no-wait --json
  2. Read verification_uri, user_code, poll_command, and next_action_hint
  3. Show the URL and code to the human
  4. Ask the human to reply when browser login is complete
  5. After confirmation, run poll_command

To check current auth state: anycap status.

Read references/cli-reference.md for full details on credential management and logout.

Configuration

Config file: ~/.anycap/config.toml. Manage via anycap config subcommands.

bash
anycap config show # show all values
anycap config set <key> <val> # set a value
anycap config get <key> # get a value
anycap config unset <key> # reset to default

Key settings: endpoint (server URL), auto_update (default true), feedback (default true).

Custom config directory

By default the CLI stores config and credentials in ~/.anycap/. Credentials are stored securely in the OS keychain (macOS Keychain, Windows Credential Manager). On headless Linux (no graphical session), the CLI auto-detects and falls back to an encrypted file -- no manual configuration needed.

In sandboxed or containerized environments where the home directory is not persistent, redirect the config directory:

bash
export ANYCAP_CONFIG_DIR=./.anycap # store config in the working directory
  • ANYCAP_CONFIG_DIR redirects all CLI state (config, credentials, update markers) to the specified path. Relative paths are resolved to absolute paths automatically.

Read references/cli-reference.md for all available keys and environment variable overrides.

Local stdio MCP

AnyCap exposes its MCP server through the existing anycap mcp command. It is the same CLI binary, authentication store, HTTP client, media resolver, and uploader—not a separate runtime or package.

Use this entry point when an MCP host needs stable AnyCap tools. Check the installed version before configuration:

bash
anycap mcp --help

The current command exposes 23 tools: four explicit local authentication tools and 19 business tools. Existing CLI login state is shared. MCP login never runs at startup; use anycap_auth_status, anycap_login, and anycap_login_poll when authentication is needed inside the MCP session.

Local image, video, and audio paths require an allowed root. Pass repeatable --allow-root arguments in the host configuration or expose file roots through the MCP client. For the complete host configuration, tool inventory, login flow, and one-call local image-to-video example, load references/cli-reference.md.

The repository includes MCP Registry metadata in the existing @anycap/cli package template, but do not claim npm or Registry availability for this MCP version until the corresponding release is independently verified.

Agent Daemon (Feishu Chat)

When the human wants to chat with the current local coding agent from Feishu, start the AnyCap Feishu daemon for them. Treat these as trigger phrases:

  • "用飞书跟你聊天"
  • "开启飞书 IM 模式"
  • "把你接到我的飞书 bot 上"
  • "用 AnyCap 启动飞书机器人"
  • "用飞书跟当前 agent 聊天"
  • "我要使用飞书连接本地codex"
  • "用飞书连接本地 Codex"
  • "把飞书接到本地 Codex"
  • "用飞书连接本地 Claude Code"
  • "把飞书接到本地 Claude Code"
  • "用飞书连接本地 Cursor"
  • "把飞书接到本地 Cursor"
  • "用飞书接入本地 agent"
  • "把飞书接到本地 agent"
  • "connect Feishu to local Codex"
  • "connect Feishu to local Claude Code"
  • "connect Feishu to local Cursor"
  • "connect Feishu to local agent"
  • "start AnyCap Feishu daemon"

Do not explain daemon internals first. Execute the setup flow below, asking only for missing required information.

Always remind the human to verify their personal Feishu app bot setup before starting the local connection, even when local Feishu credentials already exist. Stored credentials only prove App ID/App Secret are available locally; they do not prove the bot capability, event subscription, message event, permissions, or app release are configured correctly.

Ask the human to confirm these Feishu Open Platform steps and come back when done:

  1. Create an internal/self-built app in Feishu Open Platform.
  2. Enable the app's bot/robot capability.
  3. In event subscriptions, choose long connection event delivery. Do not ask the human to configure a public webhook for the normal local setup.
  4. Subscribe to the message receive event, shown in Feishu as "receive message" / im.message.receive_v1.
  5. In permissions, use batch import for the tenant scopes below, then publish or release the app version so the permissions take effect.
  6. Copy the App ID and App Secret locally. The human must never paste the App Secret into chat.

Recommended tenant scopes for chat plus Feishu resource read/write:

json
{
"scopes": {
"tenant": [
"bitable:app",
"bitable:app:readonly",
"docx:document",
"docx:document.block:convert",
"docx:document:create",
"docx:document:readonly",
"docx:document:write_only",
"im:chat:readonly",
"im:message",
"im:message.group_at_msg:readonly",
"im:message.p2p_msg:readonly",
"sheets:spreadsheet",
"sheets:spreadsheet.meta:read",
"sheets:spreadsheet.meta:write_only",
"sheets:spreadsheet:create",
"sheets:spreadsheet:read",
"sheets:spreadsheet:readonly",
"sheets:spreadsheet:write_only",
"wiki:node:copy",
"wiki:node:create",
"wiki:node:move",
"wiki:node:read",
"wiki:node:retrieve",
"wiki:node:update",
"wiki:wiki",
"wiki:wiki:readonly"
]
}
}

If Feishu still refuses bot replies, ask the human to search permissions for "send as bot" / "以机器人身份发送消息" and add the matching permission, commonly im:message:send_as_bot. If image or file downloads fail, ask them to add the message resource download permission shown by their console, commonly im:resource.

The human's Feishu app setup checklist is:

  • created in Feishu Open Platform
  • robot capability enabled
  • long connection event delivery enabled
  • message receive permissions granted
  • app version published after permission/event changes
  • App ID and App Secret available locally

Use the current working directory as --workspace unless the human provides a different repository path.

Infer the local agent from the current runtime. The user-facing anycap connect feishu path currently supports Codex, Claude Code, and Cursor:

  • Codex runtime -> --agent codex
  • Claude Code runtime -> --agent claude-code
  • Cursor runtime -> --agent cursor
  • If unsure, ask one concise question: "Use Codex, Claude Code, or Cursor as the local agent?"

Read Feishu credentials from the local daemon credential store first:

  • stored by anycap connect credentials set feishu
  • file location: AnyCap config dir, mode 0600

Reason: if the human exports FEISHU_APP_ID and FEISHU_APP_SECRET after the coding agent process has already started, this agent will not inherit those variables. The shared local credential file is the stable bridge between the human's terminal and the agent-started daemon.

Check credential status without printing secrets:

bash
anycap connect credentials show feishu

If credentials are missing, ask the human to run this in their own terminal and tell you when it is done. If credentials already exist, still ask the human to confirm the Feishu Open Platform checklist above before starting the local connection. The human handles Feishu console setup and local credential storage; the agent starts the local Codex/Claude/Cursor connection after the human confirms setup is complete. Never ask the human to paste App Secret values into chat. Never write App Secret values into docs, code, logs, memory files, command history, or final summaries. Do not echo secrets back to the human.

Human terminal setup:

bash
anycap connect credentials set feishu --app-id <FEISHU_APP_ID> --app-secret <FEISHU_APP_SECRET>

After the human says this is done, the agent continues the setup. Do not ask the human to run anycap connect feishu in the normal flow.

bash
anycap status

If the CLI is not authenticated, run:

bash
anycap login

Then start the local Feishu agent on the target repository:

bash
anycap connect feishu --agent codex --workspace /path/to/repo

Claude Code is also supported as the local executor:

bash
anycap connect feishu --agent claude-code --workspace /path/to/repo

Cursor Agent is also supported as the local executor:

bash
anycap connect feishu --agent cursor --workspace /path/to/repo

The user-facing connect feishu --agent cursor path enables Cursor Agent --force automatically so URL access and shell-backed network checks can run non-interactively. Always tell the human that this lets Cursor Agent execute local commands and network requests unless Cursor explicitly denies them.

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 85 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
40
Repository forks
6
7-day trend score
19

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/anycap-ai/anycap/anycap-cli/badge)](https://verified-skill.com/skills/anycap-ai/anycap/anycap-cli)

Something wrong with this skill or its page? Tell us.