원클릭으로
cli-auth
Implement authentication commands for clickup-cli. Use this when creating auth.rs, output.rs, or client_factory.rs in the CLI crate.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Implement authentication commands for clickup-cli. Use this when creating auth.rs, output.rs, or client_factory.rs in the CLI crate.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
SPECTRA v4 — vendor-agnostic specification and planning methodology for AI agents.
Implement typed async endpoint methods on ClickUpClient in clickup-api. Use this when creating or modifying files in clickup-api/src/endpoints/.
Create serde model structs for all ClickUp API entities in clickup-api. Use this when creating or modifying files in clickup-api/src/models/.
Build the core HTTP client with rate limiting, retry, and pagination in clickup-api. Use this when creating client.rs, rate_limiter.rs, or pagination.rs.
Implement space, list, and task browsing commands with rich output for clickup-cli. Use this when creating data browsing commands in the CLI crate.
Create documentation, issue templates, release workflows, and test suites for clickup-rs. Use this when preparing for release or writing project documentation.
| name | cli-auth |
| description | Implement authentication commands for clickup-cli. Use this when creating auth.rs, output.rs, or client_factory.rs in the CLI crate. |
This skill implements the CLI authentication workflow — login, logout, status check, and workspace switching. It also creates the output helpers and client factory that all other CLI commands depend on.
clickup-cliapi-endpoints completed — ClickUpClient with endpoint methods existscrates/clickup-cli/src/commands/auth.rs — login, logout, status, switch subcommandscrates/clickup-cli/src/output.rs — Success/error/info helpers with colored prefixescrates/clickup-cli/src/client_factory.rs — Create authenticated ClickUpClient from stored tokenUse clap derive macros:
#[derive(Subcommand)]
pub enum AuthCommand {
/// Log in with a ClickUp API token
Login,
/// Log out and remove stored credentials
Logout,
/// Show current authentication status
Status,
/// Switch default workspace
Switch,
}
login: Prompt for token with rpassword::read_password(), validate via get_authenticated_user(), store with TokenStorage, list workspaces and prompt for default with dialoguer::Selectlogout: Delete token from TokenStorage, confirm with success messagestatus: Load token, call get_authenticated_user(), display username/email/workspaceswitch: List workspaces with dialoguer::Select, update Config.default_workspace_idpub fn success(msg: &str) // "✓ {msg}" in green
pub fn error(msg: &str) // "✗ {msg}" in red
pub fn info(msg: &str) // "ℹ {msg}" in blue
Use owo-colors for coloring — never raw ANSI escape codes.
pub async fn create_client() -> anyhow::Result<ClickUpClient>
CLICKUP_TOKEN env var firstTokenStorage::get_token()clickup auth login → prompts for token → validates → stores → shows user infoclickup auth status → shows authenticated user and default workspaceclickup auth switch → lists workspaces → updates defaultclickup auth logout → removes stored credentials.context() messages