Agent skill

ClickUp CLI Testing

by krodak in krodak/clickup-cli

Explains how to run and extend the clickup-cli tests: unit tests with a mocked client, e2e tests against a real ClickUp workspace, and the fixture data they rely on.

MITAuto-check: notesTesting & QA

Install ClickUp CLI Testing

skills CLI
$ npx skills add krodak/clickup-cli --skill testing-clickup-cli -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install krodak/clickup-cli testing-clickup-cli --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/krodak/clickup-cli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/testing-clickup-cli .claude/skills/testing-clickup-cli && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
testing-clickup-cli
GitHub stars
120
Token cost
~1.4k tokens
SKILL.md length
463 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

Explains how to run and extend the clickup-cli tests: unit tests with a mocked client, e2e tests against a real ClickUp workspace, and the fixture data they rely on.

  • Works in 2 steps: Every command registered in Commander is… → The docs/commands.md quick reference…
  • Running the clickup-cli unit or e2e test suite
  • SKILL.md covers Test Suite Overview, Running Tests, E2E Test Workspace and E2E Test Patterns, plus 3 more sections
  • Calls npm and node; needs CLICKUP_API_TOKEN

What it does

This skill is a testing guide for the clickup-cli project. It describes two suites. Unit tests, run with npm test, cover all commands, the API client, formatters and config with the ClickUp client mocked. End-to-end tests, run with npm run test:e2e, make real API calls against a live ClickUp workspace. Unit tests run in CI and a global setup builds the project first, while e2e tests are not part of CI.

E2E runs need a CLICKUP_API_TOKEN in .env.test and use the personal workspace profile. The guide lists the fixtures pre-populated in the E2E Tests space: a sprints folder with three sprint lists, a backlog list for create-and-delete lifecycle tests, eleven tasks with varied statuses, priorities and tags, subtasks, a checklist, comments, a dependency and an overdue task. A second space tracks releases and is not used by tests. Lifecycle tests in tests/e2e/lifecycle.e2e.ts create data, verify it and clean up.

When your agent uses it

  • Running the clickup-cli unit or e2e test suite
  • Adding test coverage for a new clickup-cli command
  • Debugging a failing test against the E2E ClickUp workspace
  • Finding out what fixture data the e2e tests expect

Example prompts

  • “Run the clickup-cli unit tests for the sprint commands only.”
  • “Add an e2e test that creates and deletes a task in the backlog list.”
  • “The lifecycle e2e test is failing. Check whether the fixtures changed.”

Requirements

  • Node and npm
  • A CLICKUP_API_TOKEN in .env.test for e2e tests
  • Access to the E2E test ClickUp workspace

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Every command registered in Commander is listed in src/commands/metadata.ts
  2. The docs/commands.md quick reference section matches what metadata generates

What it can do on your machine

Read from SKILL.md and the folder at commit a775de5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • CLICKUP_API_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

ClickUp CLI Testing loads about 1.4k tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 463 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~61
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:15
    2E tests require `CLICKUP_API_TOKEN` in `.env.test` and are not part of CI.
  • NoteMentions a .env fileSKILL.md:23
    :e2e                  # e2e tests (needs .env.test)
  • NoteMentions a .env fileSKILL.md:127
    # .env.test (gitignored)
  • NoteMentions a .env fileSKILL.md:131
    Copy from `.env.test.example` and fill in your token.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from krodak/clickup-cli at commit a775de5, republished under its MIT licence (© krodak). 463 words, ~1,365 tokens.

Download SKILL.mdSave it as .claude/skills/testing-clickup-cli/SKILL.md (or your agent's skills folder).
name
testing-clickup-cli
description
Run and manage tests for clickup-cli. Covers unit tests, e2e tests against a real ClickUp workspace, and the test data setup. Use when running tests, adding test coverage, debugging test failures, or setting up test fixtures.
metadata.internal
true

Test Suite Overview

SuiteCommandFilesWhat it tests
Unitnpm testtests/unit/**/*.test.tsAll commands, API client, formatters, config. Mocks ClickUpClient.
E2Enpm run test:e2etests/e2e/**/*.e2e.tsReal API calls against a live ClickUp workspace.

Unit tests run in CI. E2E tests require CLICKUP_API_TOKEN in .env.test and are not part of CI.

Running Tests

bash
npm test                          # all unit tests
npm test -- tests/unit/commands/  # just command tests
npm test -- -t "sprint"           # filter by test name
npm run test:e2e                  # e2e tests (needs .env.test)

The unit test global setup runs npm run build before tests start.

E2E Test Workspace

Tests run against the personal ClickUp workspace (profile: personal).

Space: E2E Tests (90166622768)

Pre-populated with test fixtures:

FixtureWhat it contains
Sprints folder3 sprint lists with (M/DD - M/DD) date ranges. Sprint 2 is "current".
Backlog listGeneral tasks for CRUD testing. E2E lifecycle tests create/delete tasks here.
Tasks11 tasks with varied statuses, priorities, assignees, due dates, tags.
Subtasks3 subtasks under "Implement user authentication".
Checklist"CI Steps" with 5 items (3 resolved).
Tagsbackend, frontend, security, design, bug.
Comments2 comments on the auth task.
Dependencies"Design landing page" depends on "Set up CI pipeline".
Overdue task"Fix login redirect bug" in Sprint 1 with past due date.
Space: ClickUp CLI (90166622769)

Project tracking space. Not used for tests - used for tracking releases and features.

E2E Test Patterns

Lifecycle tests (tests/e2e/lifecycle.e2e.ts)

These create test data, verify operations, and clean up:

SuiteTestsCoverage
Task lifecycle13Create, read, update, subtask, comment, checklist, delete, confirm gone
Tag lifecycle4Add tag, verify, remove, verify removed
Time tracking5Start timer, check running, stop, log entry, list entries

Each suite uses beforeAll to find the Backlog list and afterAll to clean up created tasks.

API tests (tests/e2e/api.e2e.ts)

Tests API client methods directly: getSpaces, getLists, getTask, sprint detection.

Unit Test Patterns

Show full SKILL.md (185 more words)Show less
Mocking ClickUpClient

Every command test mocks the API client with vi.mock:

typescript
const mockGetTask = vi.fn().mockResolvedValue({ id: 't1', name: 'Task' })

vi.mock('../../../src/api.js', () => ({
  ClickUpClient: vi.fn().mockImplementation(function () {
    return { getTask: mockGetTask }
  }),
}))

The function keyword (not arrow) is required for Vitest 4's new semantics.

Testing command functions

Commands export pure functions. Tests import and call them directly:

typescript
const { updateTask } = await import('../../../src/commands/update.js')
await updateTask({ apiToken: 'pk_t', teamId: 'team1' }, 't1', { status: 'done' })
expect(mockUpdateTask).toHaveBeenCalledWith('t1', { status: 'done' })
Metadata sync test

tests/unit/commands/completion.test.ts verifies that:

  1. Every command registered in Commander is listed in src/commands/metadata.ts
  2. The docs/commands.md quick reference section matches what metadata generates

If you add a new command, you MUST add it to metadata.ts. If you add new flags, add them too. Then run node --import tsx scripts/sync-command-docs.ts to regenerate the docs.

Adding New Tests

New unit test
  1. Create tests/unit/commands/<name>.test.ts
  2. Mock ClickUpClient with the methods your command uses
  3. Test happy path, error cases, edge cases
  4. Run npm test -- tests/unit/commands/<name>.test.ts
New e2e test
  1. Add to tests/e2e/lifecycle.e2e.ts or create a new *.e2e.ts file
  2. Use the Backlog list in E2E Tests space for creating test data
  3. Always clean up: delete created tasks/checklists in afterAll
  4. Use describe.skipIf(!TOKEN) to skip when no API token is set
  5. Run npm run test:e2e

Config for E2E

bash
# .env.test (gitignored)
CLICKUP_API_TOKEN=pk_...   # personal workspace token

Copy from .env.test.example and fill in your token.

© krodak, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/testing-clickup-cli of krodak/clickup-cli.

Open the folder on GitHubat commit a775de5

Compare with similar skills

ClickUp CLI Testing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

ClickUp CLI Testing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
ClickUp CLI Testing this skillkrodak/clickup-cli120—~1.4kAutomated safety check: NotesMIT
Testing Patternssoftspark/ai-toolkit179—~1.6kAutomated safety check: PassApache-2.0
Testingweb-infra-dev/rstest505—~2.1kAutomated safety check: PassMIT
Parse Error Logsmaslennikov-ig/claude-code-orchestrator-kit259—~1.5kAutomated safety check: PassCustom licence
Java SDK E2E Test with Replay Snapshotgithub/copilot-sdk11k—~1.8kAutomated safety check: PassMIT
Interactive CLI Testing With tui-testslopus/happy24k—~603Automated safety check: PassMIT

Similar skills

  • Testing Patterns

    softspark/ai-toolkit

    Testing strategy: pyramid, AAA, mocks/fakes/stubs, flaky tests, coverage.

    179 GitHub stars~1.6k tokensUpdated today
    Testing & QAAuto-check passed
  • Testing

    web-infra-dev/rstest

    Testing workflow for the Rstest monorepo. An agent skill from web-infra-dev/rstest.

    505 GitHub stars~2.1k tokensUpdated 7 days ago
    Testing & QAAuto-check passed
  • Parse Error Logs

    maslennikov-ig/claude-code-orchestrator-kit

    Parse build errors, test failures, type-check output, and validation logs into structured data.

    259 GitHub stars~1.5k tokensUpdated 7 mo ago
    Testing & QAAuto-check passed
  • Official

    Creates a Java SDK end-to-end test for the Copilot SDK that runs against a recorded YAML snapshot through a replay proxy, so CI needs no real authentication.

    11k GitHub stars~1.8k tokensUpdated today
    Testing & QAAuto-check passed
  • Tests interactive CLI and TUI programs with Microsoft's tui-test, driving prompts, arrow keys and screen output in a real pseudo-terminal.

    24k GitHub stars~603 tokensUpdated today
    Testing & QAAuto-check passed
  • Designing Tests

    CloudAI-X/claude-workflow-v2

    Designs and implements testing strategies for any codebase. An agent skill from CloudAI-X/claude-workflow-v2.

    1.4k GitHub starsUsed in 1 repo~1.5k tokens
    Testing & QAAuto-check passed

More from krodak/clickup-cli

  • ClickUp CLI

    krodak/clickup-cli

    Lets your agent read and change ClickUp tasks, sprints, comments, Docs, Chat, views and webhooks through the cup command-line tool.

    120 GitHub stars~8.2k tokensUpdated today
    Auto-check passed
  • ClickUp CLI Release Process

    krodak/clickup-cli

    Walks through releasing a new version of clickup-cli: pre-release checks, version bump, tagging, CI watch, release notes and the Homebrew update.

    120 GitHub stars~906 tokensUpdated today
    Auto-check: warnings

Works with

Categories

Questions about ClickUp CLI Testing

What does ClickUp CLI Testing do?

Explains how to run and extend the clickup-cli tests: unit tests with a mocked client, e2e tests against a real ClickUp workspace, and the fixture data they rely on. This skill is a testing guide for the clickup-cli project. It describes two suites.

When should I use ClickUp CLI Testing?

ClickUp CLI Testing fits situations like: running the clickup-cli unit or e2e test suite; adding test coverage for a new clickup-cli command; debugging a failing test against the E2E ClickUp workspace; finding out what fixture data the e2e tests expect.

How do I install ClickUp CLI Testing in Claude Code?

Run `npx skills add krodak/clickup-cli --skill testing-clickup-cli -a claude-code`. Or copy the skill folder (.agents/skills/testing-clickup-cli in krodak/clickup-cli) into .claude/skills/testing-clickup-cli in your project. Claude Code loads it when a task matches its description.

How do I install ClickUp CLI Testing in Codex?

Run `npx skills add krodak/clickup-cli --skill testing-clickup-cli -a codex`. Or copy the skill folder (.agents/skills/testing-clickup-cli in krodak/clickup-cli) into .agents/skills/testing-clickup-cli in your project. Codex loads it when a task matches its description.

Can I use ClickUp CLI Testing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add krodak/clickup-cli --skill testing-clickup-cli -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/testing-clickup-cli, .gemini/skills/testing-clickup-cli, .github/skills/testing-clickup-cli and .opencode/skills/testing-clickup-cli in your project.

What does ClickUp CLI Testing need to run?

Going by SKILL.md and its folder, ClickUp CLI Testing needs the command-line tools its instructions call (npm and node) and credentials named CLICKUP_API_TOKEN. Our summary lists: Node and npm; A CLICKUP_API_TOKEN in .env.test for e2e tests; Access to the E2E test ClickUp workspace.

Does ClickUp CLI Testing access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is ClickUp CLI Testing safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does ClickUp CLI Testing use?

ClickUp CLI Testing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does ClickUp CLI Testing use?

About 1.4k tokens (SKILL.md is roughly 5.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to ClickUp CLI Testing?

Skills that share tags, products or a category with ClickUp CLI Testing: Testing Patterns (softspark/ai-toolkit, 179 stars), Testing (web-infra-dev/rstest, 505 stars), Parse Error Logs (maslennikov-ig/claude-code-orchestrator-kit, 259 stars) and Java SDK E2E Test with Replay Snapshot (github/copilot-sdk, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains ClickUp CLI Testing?

krodak (a GitHub user) maintains it in krodak/clickup-cli, which has 120 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 6, 2026.

Source: krodak/clickup-cli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.