Skip to content
Agentmart
Submit a tool

cli-worker

Implements CLI features — Commander.js commands, GraphQL client, config management, import/export

Skill by fakechris

IndexedApache-2.0★ 1
Write a review

Chalk Labs

Need help deploying cli-worker?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/fakechris-cli-worker

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Implements CLI features — Commander.js commands, GraphQL client, config management, import/export

Use cases: backend

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/cli-worker

What's inside

Skill name
cli-worker
Description
Implements CLI features — Commander.js commands, GraphQL client, config management, import/export
License
Apache-2.0
Instructions
111 lines in SKILL.md · view on GitHub

Agent Skills spec issues

  • body: contains an absolute path from the author's machine

Files (1)

  • SKILL.md

SKILL.md (first lines)

# CLI Worker

NOTE: Startup and cleanup are handled by `worker-base`. This skill defines the WORK PROCEDURE.

## When to Use This Skill

Features involving:
- Commander.js CLI commands
- GraphQL client for server communication
- Config file management (~/.involute/config.json)
- Import/export data pipelines
- Terminal output formatting (table/JSON modes)

## Required Skills

None.

## Work Procedure

### 1. Understand the Feature
- Read feature description, preconditions, expectedBehavior, verificationSteps
- Read `docs/legacy/05_Linear_全量导出_迁移与导入方案.md` for import/export spec
- Check existing CLI commands and patterns

### 2. Write Tests First (TDD)
- Create test files BEFORE implementation
- Test command parsing, output formatting, error handling
- Mock GraphQL responses for unit tests
- Use vitest
- Run tests to confirm they FAIL (red phase)

### 3. Implement
- Commander.js command definitions
- graphql-request client for server communication
- Config management: read/write `~/.involute/config.json`
- Table output via a simple formatter (no heavy dependency)
- JSON output mode via `--json` flag
- Meaningful error messages for user-facing errors
- Non-zero exit codes for errors

### 4. Verify
- Run tests: `cd packages/cli && pnpm test --run`
- Run typecheck: `cd packages/cli && pnpm typecheck`
- Run lint: `cd packages/cli && pnpm lint`
- Manual verification with running server:
  ```
  # Start API server
  cd /Users/chris/workspace/Involute/packages/server && PORT=4200 npx tsx src/index.ts &
  
  # Test CLI commands
  cd /Users/chris/workspace/Involute
  node packages/cli/dist/index.js config set server-url http://localhost:4200
  node packages/cli/dist/index.js config set token $(grep AUTH_TOKEN /Users/chris/workspace/Involute/.env | cut -d= -f2)
  node packages/cli/dist/index.js teams list
  node packages/cli/dist/index.js issues list
  node packages/cli/dist/index.js issues create --title "Test" --team INV
  node packages/cli/dist/index.js --help
  
  # Kill server
  lsof -ti :4200 | xargs kill
  ```
- Each manual test = one `interactiveChecks` entry with command and output

### 5. Commit
- Stage and commit all changes

## Example Handoff

```json
{
  "salientSummary": "Implemented full issue management CLI: list/show/create/update + comments list/add. All commands support --json flag. Tested against running server: created issue, updated state, added comment, verified all reflected correctly.",
  "whatWasImplemented": "Commander.js CLI with commands: issues list/show/create/update, comments list/add, teams list, states list, labels list, config set/get. Table and JSON output modes. graphql-request client with token auth. Error handling for missing config, invalid token, not found.",
  "whatWasLeftUndone": "",
  "verification": {
    "commandsRun": [
      { "command": "cd packages/cli && pnpm test --run", "exitCode": 0, "observation": "15 tests passing" },
      { "command": "cd packages/cli && pnpm typecheck", "exitCode": 0, "observation": "No type errors" }
    ],
    "interactiveChecks": [
      { "action": "node packages/cli/dist/index.js teams list", "observed": "Table showing INV team with id, key, name" },
      { "action": "node packages/cli/dist/index.js issues create --title 'CLI Test' --team INV", "observed": "Created issue INV-5, output shows id and identifier" },
      { "action": "node packages/cli/dist/index.js issues show INV-5", "observed": "Shows full detail: title, state Backlog, no labels, no assignee" },
      { "action": "node packages/cli/dist/index.js issues list --json | jq .", "observed": "Valid JSON array of issues" },
      { "action": "node packages/cli/dist/index.js issues show NONEXISTENT", "observed": "Error: Issue not found: NONEXISTENT (exit code 1)" }
    ]
  },
  "tests": {
    "added": [
      {
        "file": "packages/cli/src/__tests__/commands.test.ts",
        "cases": [
          { "name": "issues list formats table", "verifies": "Table output with identifier, title, state columns" },
          { "name": "issues create sends correct mutation", "verifies": "GraphQL mutation with teamId, title, description" },
          { "name": "issues show displays all fields", "verifies": "Output includes identifier, title, description, state, labels, comments" },
          { "name": "missing config shows helpful error", "verifies": "Suggests running config set" }
        ]
      }
    ]
  },
  "discoveredIssues": []
}
```

## When to Return to Orchestrator

- API server schema doesn't match expected queries/mutations
- Config directory permissions issues
- Feature requires server-side changes not yet implemented
- Linear API access needed but no token available

From fakechris/Involute, Apache-2.0.

More from fakechris/Involute

Signals

Stars
1
Forks
0
Open issues
0
Last commit (this folder)
Apr 1, 2026 (7 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from fakechris

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get cli-worker running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying cli-worker?

CallGet help
Cite this page

cli-worker skill. Agent Mart. https://agentmart.dev/skills/fakechris-cli-worker (last updated 2026-10-24)