wibus-wee/cradle-app/cradle-cli

Claude Code and agent skill by wibus-wee/cradle-app

Trust tier 2
  • community
LLM review pending
Source check pending

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

Use whenever you need to read, inspect, wait on, or mutate Cradle-owned state or workflows, including issues, delegation, sessions, awaits, CI/review waits, timed waits, Work inspection, workspaces and git inspection, Chronicle, automations, usage, observability, skills, agents, profiles, providers, preferences, plugins, or server state. Prefer the generated `cradle` CLI and `cradle man`; NEVER bypass Cradle semantics with direct HTTP or database access, ad hoc scripts, raw registry edits, or p…

Install

npx vskill@latest install wibus-wee/cradle-app/cradle-cli

SKILL.md

Cradle CLI

Use cradle to manage Cradle or query its state from the terminal. You can use it for quick queries, scripted interactions, or as a reference for how the HTTP API maps to user-friendly commands.

Core Rules

  • Prefer cradle for Cradle-owned product semantics. Use ordinary shell tools for local file/process work, but do not replace Cradle session awaits, issue state, delegation, Chronicle, automation, workspace, usage, or observability workflows with ad hoc scripts.
  • For waiting on external or future events, register a Cradle session await and end your turn. Do not use sleep, long polling loops, gh run watch, or repeated manual checks when Cradle has an await source for the condition.
  • Use gh only for GitHub actions that Cradle does not expose. If the goal is to pause this session until CI or PR review changes, use cradle session await ....
  • cradle man prints the full generated command manual. Use cradle man <module> or cradle man <command...> to narrow it.
  • This skill is not the full route list. It gives operating patterns and an auto-generated module index; exact commands come from cradle man.
  • Default output is human-readable. Use --json <fields> for Agent workflows and --format json for compact pipeline output.
  • Most relationships use IDs, but issue statuses are Agent-facing names/slugs. Use status names like triage, to_do, or in_progress instead of status IDs when creating or moving issues.
  • Use --server <url> only when the default CRADLE_SERVER_URL / http://localhost:21423 is not the intended server.

Use Cradle First For

GoalStart HereAvoid As Primary Path
Wait for CI, review, approval, or later continuationcradle session await ...sleep, polling loops, gh run watch
Manage tasks, status, comments, delegation, or issue sessionscradle issue ..., cradle issue-agent-session ...local TODO files, direct DB edits
Inspect workspace identity, files, or git statecradle workspace ...guessing workspace IDs, raw HTTP
Inspect Work / Draft PR state (delivery rules live in Work Mode system prompt)`cradle work getlist ..., cradle session pull-request get`inventing Work lifecycle outside primary Work Mode
Search Cradle state or past threadscradle search ...grepping data directories
Read or maintain Chronicle memory/activity/knowledgecradle chronicle ...direct SQLite edits
Schedule or inspect recurring workcradle automation ...cron scripts outside Cradle
Inspect cost, tokens, incidents, traces, or runtime diagnosticscradle usage ..., cradle observability ..., cradle chat ...manual log spelunking first
Manage agents, profiles, skills, ACP, providers, preferencescradle agent ..., cradle profile ..., cradle skill ..., cradle acp ...editing registry files by hand
Open or inspect a session-bound draft PR`cradle session pull-request creategetready`gh pr create / gh pr ready

Environment Variables

Cradle-managed shells inject these environment variables — no manual setup needed:

VariableDescription
CRADLE_CHAT_SESSION_IDYour current chat session ID
CRADLE_WORKSPACE_IDThe workspace ID for this session

Prefer omitting ids and letting commands resolve ambiently. Pass an explicit id only when targeting another session or workspace. Available in both GUI (Claude Agent) and TUI (terminal) modes.

Session resolution

Session self-ops (pull-request, isolation, linked-issue, and await chat-session fields) omit the session id by default and use CRADLE_CHAT_SESSION_ID when set:

bash
cradle session pull-request create --title "..." --body "..."
cradle session pull-request get
cradle session await-summary

Pass <id> / --session-id / --chat-session-id only when operating on another session. Destructive session commands (session delete, archive, update, get) always require an explicit id.

Workspace resolution

Commands that need a workspace expose a --workspace <name-or-id> flag (or a [workspace]/<workspace> positional argument), resolved in this order — no raw UUID required:

  1. The value you pass explicitly (--workspace my-app or cradle workspace get my-app) — accepts a workspace name (case-insensitive, unambiguous prefix also works) or its id.
  2. CRADLE_WORKSPACE_ID, when set (this is how Cradle-managed agent shells scope commands automatically).
  3. The workspace whose registered path is an ancestor of your current directory — run cradle from inside an imported workspace and it just works, no flag or env var needed.

Destructive/administrative commands (workspace delete, workspace update, workspace migrate, workflow-rule delete, ...) still accept a name or id but never fall back through env/cwd — you must always name the target explicitly, so a stale ambient workspace can't be silently affected.

Optional workspace-scoped list/search commands (e.g. issue list) resolve ambiently by default; pass --all-workspaces when you intentionally want a global query instead.

Discovery

bash
cradle --help
cradle man
cradle man session await
cradle man issue
cradle man issue create
cradle man workspace git status
cradle man chronicle memories search
cradle man automation create
cradle workspace list --json id,name,path
cradle issue status list --json id,name
cradle profile list --json id,name,providerKind,enabled
cradle agent list --json id,name,agentProfileId,enabled

Issue Workflow

bash
cradle issue list --json id,title,statusId,priority,assigneeKind,assigneeId
cradle issue create --title "Fix login redirect" --description "Describe the failure mode"
cradle issue create --workspace my-app --title "Triage build failure" --status-name triage
cradle issue move <issueId> in_progress
cradle issue update <issueId> --priority high --labels bug,agent
cradle issue get <issueId> --json id,title,description,statusId,priority

Omit --status-name to let the server attach the default workspace status. Use cradle issue status list only when you need to inspect available status names; status names are matched as lower-case slugs with spaces converted to underscores.

Comments And Delegation

bash
cradle issue comment list <issueId> --json id,content,createdAt
cradle issue comment add <issueId> --content "Analysis complete."
cradle issue delegate <issueId> --agent-profile-id <agentProfileId>
cradle issue delegation <issueId> --json issueId,delegated,agentProfileId,agentSessionId,chatSessionId
cradle issue undelegate <issueId>

Workspace Helpers

bash
# Open a directory in Cradle Desktop (register if needed) — VS Code-style
cradle . # cwd
cradle open /path/to/project
cradle open . --import-only # register only, no UI
cradle open . --json id,name,opened,created
cradle workspace list --json id,name,path
cradle workspace get # ambient: resolved from $PWD or CRADLE_WORKSPACE_ID
cradle workspace files --json type,name,path # same — workspace argument is optional
cradle workspace file read --path AGENTS.md
cradle workspace git status --json branch,tracking,ahead,behind,isDetached
cradle workspace git diff my-app --paths src/index.ts --format json # explicit name, another workspace

Output Patterns

bash
cradle issue list
cradle issue list --all-workspaces
cradle issue list --workspace my-app --json id,title,statusId
cradle issue list --format json
cradle issue list --format ndjson

Use default output for human inspection, --json <fields> for structured Agent reads, and --format ndjson when streaming rows into shell pipelines.

Chat Stream Trace

In development, chat runtime writes provider-to-SSE trace files under CRADLE_DATA_DIR/chat-runtime/traces. Use these commands to decide whether a streaming issue came from the provider, SDK mapper, projection, SSE emit, store, or UI layer.

bash
cradle chat trace session "$CRADLE_CHAT_SESSION_ID" --format json
cradle chat trace session "$CRADLE_CHAT_SESSION_ID" --json traces
cradle chat trace run <runId> --format json
cradle chat trace run <runId> --json records

Inspect phases in order: provider_raw, mapper_output, runtime_chunk, projection_apply, sse_emit.

Session Pull Request (Draft → Ready)

When finishing isolated work, open a draft PR through Cradle — not gh pr create:

bash
cradle session pull-request create \
--title "feat(login): add new login redirect handling" \
--body "Summary + test plan"
cradle session pull-request get --json pullRequest
cradle session pull-request ready

Do not auto-await CI after create. Only register cradle session await github-ci ... when the user asks.

Work (inspection only)

Primary Work delivery (commit → \manage_pull_request\ Draft PR loop) is injected only on primary Work threads via the Cradle Work Mode system prompt — not here. In any session, use CLI for inspection and \cradle man work\ for flags:

bash
cradle work list --json id,title,preparedAt,lastSubmittedAt
cradle work get <workId>
cradle session pull-request get
cradle session await-summary

Use \gh\ for CI checks, PR comments, and other GitHub surfaces Cradle does not own. Prefer \cradle session await ...\ over polling when pausing for CI/review.

Session Await (Pause & Resume)

Register an await to pause your session and let Cradle automatically resume it when an external condition is met:

bash
# Register a CI wait on a PR — Cradle will resume this session when CI passes
cradle session await github-ci owner/repo \
--pr 42 \
--reason "Waiting for CI on PR #42"
# Register a CI wait on a specific commit (no PR needed)
cradle session await github-ci owner/repo \
--sha abc123def \
--reason "Waiting for CI on commit abc123def"
# Register a CI wait on one GitHub check run
cradle session await github-ci owner/repo \
--run-id 1234567890 \
--reason "Waiting for GitHub check run 1234567890"
# Register a PR review wait
cradle session await github-review owner/repo \
--pr 42 \
--mode approved \
--reason "Waiting for PR #42 approval"
# Register a manual trigger-only wait
cradle session await manual \
--reason "Waiting for deploy approval"
# Register a timed wait with the raw generated command
fire_at=$(($(date +%s) + 1800))
cradle session await-create \
--source timer \
--filter-json '{}' \
--fire-at "$fire_at" \
--reason "Waiting 30 minutes before checking again"
# Check await status
cradle session await-summary
# List all awaits for current session
cradle session await-list
# Cancel an await
cradle session await-cancel <awaitId>
# Manually trigger (for testing)
cradle session await-trigger <awaitId> --resume-text "CI passed"
# Retry delivery after a matched await failed to enqueue its resume message
cradle session await retry <awaitId>
JavaScript awaits (programmable conditions)

When no typed source fits, express the wait condition as a bare async JavaScript function that returns false while pending or { resumeText, payload? } once complete. The cell runs with the await workspace as its real cwd and can execute commands through tools.exec (argv arrays only, no shell):

js
// await-ci.js — wait for the "CI" workflow run on a commit
async ({ tools }) => {
const repo = 'owner/repo'
const sha = 'abc123def'
const workflowName = 'CI'
const result = await tools.exec({
argv: ['gh', 'run', 'list', '--repo', repo, '--commit', sha, '--json', 'databaseId,workflowName,status,conclusion'],
})
if (result.exitCode !== 0) {
throw new Error(`gh run list failed: ${result.stderr.trim()}`)
}

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

Security

  • Security scanPassed, 93 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

7-day trend score
0

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/wibus-wee/cradle-app/cradle-cli/badge)](https://verified-skill.com/skills/wibus-wee/cradle-app/cradle-cli)

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