Source profileQuality 88/100

wibus-wee/cradle-app/resources/skills/cradle-cli/SKILL.md

cradle-cli

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 po

Source repository stars
52
Declared platforms
0
Static risk flags
1
Last source update
2026-08-04
Source checked
2026-08-04

Decision brief

What it does—and where it fits

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.

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/wibus-wee/cradle-app --skill "resources/skills/cradle-cli"
    Safe inspection promptEditorial

    Inspect the Agent Skill "cradle-cli" from https://github.com/wibus-wee/cradle-app/blob/f80cd2ce640a8fc5eb5c6110b1a0978d254c2e79/resources/skills/cradle-cli/SKILL.md at commit f80cd2ce640a8fc5eb5c6110b1a0978d254c2e79. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Issue Workflow

      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.

      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 conve…
    2. 02

      Register a PR review wait

      cradle session await github-review owner/repo \ --pr 42 \ --mode approved \ --reason "Waiting for PR 42 approval"

      cradle session await github-review owner/repo \ --pr 42 \ --mode approved \ --reason "Waiting for PR 42 approval"
    3. 03

      Automation, Usage, And Diagnostics

      Review the “Automation, Usage, And Diagnostics” section in the pinned source before continuing.

      Review and apply the “Automation, Usage, And Diagnostics” source section.
    4. 04

      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 obse…

      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 obse…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 conditio…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 ....
    5. 05

      Use Cradle First For

      Review the “Use Cradle First For” section in the pinned source before continuing.

      Review and apply the “Use Cradle First For” source section.

    Permission review

    Static risk signals and limitations

    Reads files

    low · line 110

    The documentation asks the agent to read local files, directories, or repositories.

    # Open a directory in Cradle Desktop (register if needed) — VS Code-style

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score88/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars52SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    wibus-wee/cradle-app
    Skill path
    resources/skills/cradle-cli/SKILL.md
    Commit
    f80cd2ce640a8fc5eb5c6110b1a0978d254c2e79
    License
    Not declared
    Collected
    2026-08-04
    Default branch
    main
    View the original 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`
    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 createget

    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:

    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

    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

    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

    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

    # 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

    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.

    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:

    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:

    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:

    # 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):

    // 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()}`)
      }
    
      const run = JSON.parse(result.stdout).find(candidate => candidate.workflowName === workflowName)
      if (!run || run.status !== 'completed') {
        return false // still pending
      }
      return {
        resumeText: `Workflow "${workflowName}" completed on ${sha} with conclusion "${run.conclusion}". Decide how to proceed.`,
        payload: { databaseId: run.databaseId, conclusion: run.conclusion },
      }
    }
    

    Dry-run the cell once before registering it (prints { ok, result } or the error):

    cradle javascript evaluate --program-file ./await-ci.js
    

    Then register it as an await. Cradle re-evaluates the cell as a short check on each due poll (do not sleep or loop inside the cell — return false and let Cradle wait). The session resumes when the cell returns { resumeText }; a thrown cell is retried, and five consecutive evaluation errors fail the await (the session is resumed with the failure context either way):

    cradle session await javascript \
      --program-file ./await-ci.js \
      --reason "Waiting for the CI workflow on abc123def"
    

    Prefer inline programs for short conditions: --program 'async ({ tools, cwd }) => false'. Complete ES modules with export default are accepted for advanced file-based cells. Registration checks syntax without running top-level code. Keep cell logic deterministic and self-contained: cells cannot import npm packages, only node: builtins.

    Key rules for await usage:

    • Omit session ids for current-session awaits; Cradle-managed shells inject CRADLE_CHAT_SESSION_ID / CRADLE_WORKSPACE_ID as ambient defaults. Pass an explicit id only when targeting another session.
    • After registering an await, end your turn. Cradle will resume the session with the trigger payload as a new user message.
    • Prefer the task-shaped cradle session await ... commands. The raw generated cradle session await-create command is still available when you need to pass a custom source/filter payload directly.
    • Supported task-shaped sources: github-ci (--pr, --sha, or --run-id), github-review (--mode approved|changes-requested|reviewed), javascript (--program or --program-file), and manual.
    • Supported raw await sources include github-ci, github-review, manual, and timer. Use raw await-create --source timer --fire-at <unixSeconds> --filter-json '{}' for durable timed pauses.
    • Your session history is preserved — when resumed, you have full context of what you were doing.

    Chronicle And Memory

    Chronicle is the Cradle-owned namespace for activity capture, memory, knowledge cards, privacy export, local model resources, transcripts, and activity pipeline operations. Use cradle man chronicle before assuming a direct data-store path.

    cradle chronicle status --format json
    cradle chronicle timeline --limit 20 --format json
    cradle chronicle memories search --q "release decision" --limit 10 --format json
    cradle chronicle knowledge-cards list --limit 20 --format json
    cradle chronicle activity-segments list --limit 10 --format json
    cradle chronicle activity-pipeline tick --format json
    cradle chronicle privacy redact --text "Sensitive text to preview"
    

    Recall Evidence Retrieval

    Use the session-bound recall_query MCP tool when this workspace's past chat or execution context may matter—even if the user never says "before". Prefer a quick recall check over guessing a prior decision, agreement, or attempt. Use recall_attune only after the user explicitly asks to save, update, or forget a durable, evidence-backed memory; its proposal still requires user approval.

    Read the Recall reference before writing Recall CodeAct or explaining its scope and approval behavior. Do not inject Recall automatically as pre-turn context.

    Automation, Usage, And Diagnostics

    cradle automation list --format json
    cradle automation run <automationId> --format json
    cradle automation runs <automationId> --format json
    cradle usage summary --format json
    cradle usage cost summary --from 2026-01-01 --to 2026-01-31 --format json
    cradle observability incidents --status open --limit 20 --json id,code,status,lastSeenAt
    cradle observability events --chat-session-id "$CRADLE_CHAT_SESSION_ID" --limit 50 --format json
    

    Command Modules

    It intentionally lists modules, not routes or leaf actions. Use cradle man <module> for full command manuals.

    ModuleCommandsScopeManual
    acp11Manage ACP agent installation and registry state.cradle man acp
    agent5Manage Cradle agent identities.cradle man agent
    automation16Manage scheduled automations, runs, and artifacts.cradle man automation
    background-activity2Generated Cradle CLI module.cradle man background-activity
    background-job3Generated Cradle CLI module.cradle man background-job
    board4Manage Kanban boards.cradle man board
    chat20Control chat runtime commands.cradle man chat
    chronicle56Generated Cradle CLI module.cradle man chronicle
    codex1Generated Cradle CLI module.cradle man codex
    download-center3Generated Cradle CLI module.cradle man download-center
    external-issue-source9Generated Cradle CLI module.cradle man external-issue-source
    external-session-import5Generated Cradle CLI module.cradle man external-session-import
    health1Check server health.cradle man health
    issue31Manage Kanban issues, comments, relations, delegation, and context refs.cradle man issue
    issue-agent-session3Inspect and control issue agent sessions.cradle man issue-agent-session
    kimi1Generated Cradle CLI module.cradle man kimi
    link-preview1Generated Cradle CLI module.cradle man link-preview
    managed-resources5Generated Cradle CLI module.cradle man managed-resources
    mcp-server3Generated Cradle CLI module.cradle man mcp-server
    observability5Inspect local observability events, incidents, and exports.cradle man observability
    opencode1Generated Cradle CLI module.cradle man opencode
    plugin11Generated Cradle CLI module.cradle man plugin
    preferences11Read and update server preferences.cradle man preferences
    profile5Manage agent profiles.cradle man profile
    provider7Inspect provider model availability.cradle man provider
    pull-request14Generated Cradle CLI module.cradle man pull-request
    relay-server4Generated Cradle CLI module.cradle man relay-server
    relay-transport5Generated Cradle CLI module.cradle man relay-transport
    remote-host8Generated Cradle CLI module.cradle man remote-host
    search2Search Cradle data.cradle man search
    secret2Manage secret metadata.cradle man secret
    session27Manage chat sessions and session links.cradle man session
    session-group7Generated Cradle CLI module.cradle man session-group
    skill10Manage skills and skill sources.cradle man skill
    usage14Inspect usage and cost data.cradle man usage
    work7Manage user-controlled local Work containers and Draft PR delivery.cradle man work
    workflow-rule4Manage workflow rules.cradle man workflow-rule
    workspace51Manage workspaces, files, and git helpers.cradle man workspace

    Alternatives

    Compare before choosing

    Computed 10023,781

    alirezarezvani/claude-skills

    app-store-optimization

    App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist

    Computed 1004,922

    dotnet/skills

    migrate-vstest-to-mtp

    Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing

    Computed 9929,558

    HKUDS/Vibe-Trading

    strategy-generate

    Create, modify, and optimize quantitative trading strategies, then backtest and evaluate them.

    Computed 9832,606

    K-Dense-AI/scientific-agent-skills

    dask

    Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.