{
  "schemaVersion": "1.0",
  "item": {
    "slug": "klutch",
    "name": "Klutch",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/kesslerio/klutch",
    "canonicalUrl": "https://clawhub.ai/kesslerio/klutch",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/klutch",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=klutch",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "config/klutch.example.json",
      "requirements.txt",
      "scripts/auth.py",
      "scripts/klutch.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/klutch"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/klutch",
    "agentPageUrl": "https://openagent3.xyz/skills/klutch/agent",
    "manifestUrl": "https://openagent3.xyz/skills/klutch/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/klutch/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Klutch Skill",
        "body": "OpenClaw skill for Klutch programmable credit card API integration."
      },
      {
        "title": "Overview",
        "body": "This skill provides a command-line interface for accessing Klutch credit card data through their GraphQL API. It supports viewing card information, transaction history, spending categories, and spending analysis."
      },
      {
        "title": "Prerequisites",
        "body": "Klutch Account: Active Klutch credit card account\nAPI Credentials: Client ID and Secret Key from Klutch developer portal\nPython 3.10+: Required for running the scripts"
      },
      {
        "title": "Environment Variables",
        "body": "Set your Klutch API credentials:\n\n# Option 1: Direct credentials\nexport KLUTCH_CLIENT_ID=\"your-client-id\"\nexport KLUTCH_SECRET_KEY=\"your-secret-key\"\n\n# Option 2: 1Password CLI integration (requires 'op' CLI)\nexport KLUTCH_1PASSWORD_ITEM=\"Klutch API Credential\""
      },
      {
        "title": "Configuration File",
        "body": "The skill stores configuration and session tokens in ~/.config/klutch/:\n\n~/.config/klutch/\n├── config.json      # User preferences\n└── token.json       # Cached session token (auto-managed)"
      },
      {
        "title": "Configuration Options",
        "body": "Edit ~/.config/klutch/config.json to customize:\n\n{\n  \"api\": {\n    \"endpoint\": \"https://graphql.klutchcard.com/graphql\",\n    \"timeout\": 30\n  }\n}"
      },
      {
        "title": "Balance",
        "body": "# Check card information\npython scripts/klutch.py balance\n\n# Example output:\n{\n  \"cards\": [\n    {\n      \"id\": \"crd_xxx\",\n      \"name\": \"Martin Kessler\",\n      \"status\": \"ACTIVE\"\n    }\n  ]\n}"
      },
      {
        "title": "Transactions",
        "body": "# List recent transactions (last 30 days)\npython scripts/klutch.py transactions\n\n# Limit results\npython scripts/klutch.py transactions --limit 25\n\n# Example output:\n{\n  \"transactions\": [\n    {\n      \"id\": \"txn_xxx\",\n      \"amount\": -100.0,\n      \"merchantName\": \"Checking\",\n      \"transactionStatus\": \"SETTLED\"\n    }\n  ]\n}"
      },
      {
        "title": "Card Management",
        "body": "List Cards\n\npython scripts/klutch.py card list\n\nView Categories\n\npython scripts/klutch.py card categories\n\nView Spending by Category\n\npython scripts/klutch.py card spending"
      },
      {
        "title": "Configuration Management",
        "body": "# Get configuration value\npython scripts/klutch.py config get api.timeout\n\n# Set configuration value\npython scripts/klutch.py config set api.timeout 60\n\n# View all configuration\npython scripts/klutch.py config get"
      },
      {
        "title": "API Endpoints",
        "body": "The skill connects to Klutch's GraphQL API:\n\nEnvironmentEndpointProductionhttps://graphql.klutchcard.com/graphqlSandboxhttps://sandbox.klutchcard.com/graphql"
      },
      {
        "title": "Authentication Flow",
        "body": "The skill uses Klutch's session token authentication:\n\nInitial Request: Sends createSessionToken mutation with Client ID and Secret Key\nToken Caching: Stores the JWT session token in ~/.config/klutch/token.json\nSubsequent Requests: Uses cached token until it expires\nAuto-Refresh: Creates a new session token when the cached one fails"
      },
      {
        "title": "Hypothetical Agent Use Cases",
        "body": "The Klutch skill enables agents to handle their own budget or provide personal finance assistance.\n\nSub-Agent Budgeting: Create a virtual card for a sub-agent to pay for its own usage (AWS, OpenAI) with a hard limit.\nBudget Guardrails: Monitor spending categories (e.g., 'FOOD') and alert the user if they exceed a monthly budget.\nTransaction Alerts: Watch for specific merchants or unusual activity and notify the user immediately.\nExpense Summary: Summarize monthly spending and categorize transactions for personal journaling."
      },
      {
        "title": "Error Handling",
        "body": "The skill handles common error scenarios:\n\nAuthentication failures: Prompts to verify credentials\nSession expiration: Automatically creates a new session token\nNetwork errors: Clear error messages with retry suggestions\nGraphQL errors: Detailed error messages from the API"
      },
      {
        "title": "Using from OpenClaw Sessions",
        "body": "# OpenClaw can invoke the skill directly\nklutch balance\nklutch transactions --limit 5\nklutch card list"
      },
      {
        "title": "Authentication Issues",
        "body": "If you receive authentication errors:\n\nVerify your credentials with python scripts/klutch.py config get\nDelete ~/.config/klutch/token.json to force re-authentication\nCheck that your API credentials are correct"
      },
      {
        "title": "Session Token Issues",
        "body": "Force token refresh:\n\nrm ~/.config/klutch/token.json"
      },
      {
        "title": "Security Notes",
        "body": "Never commit credentials to version control\nThe skill stores tokens in ~/.config/klutch/token.json\nSession tokens are refreshed automatically when needed"
      }
    ],
    "body": "Klutch Skill\n\nOpenClaw skill for Klutch programmable credit card API integration.\n\nOverview\n\nThis skill provides a command-line interface for accessing Klutch credit card data through their GraphQL API. It supports viewing card information, transaction history, spending categories, and spending analysis.\n\nPrerequisites\nKlutch Account: Active Klutch credit card account\nAPI Credentials: Client ID and Secret Key from Klutch developer portal\nPython 3.10+: Required for running the scripts\nConfiguration\nEnvironment Variables\n\nSet your Klutch API credentials:\n\n# Option 1: Direct credentials\nexport KLUTCH_CLIENT_ID=\"your-client-id\"\nexport KLUTCH_SECRET_KEY=\"your-secret-key\"\n\n# Option 2: 1Password CLI integration (requires 'op' CLI)\nexport KLUTCH_1PASSWORD_ITEM=\"Klutch API Credential\"\n\nConfiguration File\n\nThe skill stores configuration and session tokens in ~/.config/klutch/:\n\n~/.config/klutch/\n├── config.json      # User preferences\n└── token.json       # Cached session token (auto-managed)\n\nConfiguration Options\n\nEdit ~/.config/klutch/config.json to customize:\n\n{\n  \"api\": {\n    \"endpoint\": \"https://graphql.klutchcard.com/graphql\",\n    \"timeout\": 30\n  }\n}\n\nCommands Reference\nBalance\n# Check card information\npython scripts/klutch.py balance\n\n# Example output:\n{\n  \"cards\": [\n    {\n      \"id\": \"crd_xxx\",\n      \"name\": \"Martin Kessler\",\n      \"status\": \"ACTIVE\"\n    }\n  ]\n}\n\nTransactions\n# List recent transactions (last 30 days)\npython scripts/klutch.py transactions\n\n# Limit results\npython scripts/klutch.py transactions --limit 25\n\n# Example output:\n{\n  \"transactions\": [\n    {\n      \"id\": \"txn_xxx\",\n      \"amount\": -100.0,\n      \"merchantName\": \"Checking\",\n      \"transactionStatus\": \"SETTLED\"\n    }\n  ]\n}\n\nCard Management\nList Cards\npython scripts/klutch.py card list\n\nView Categories\npython scripts/klutch.py card categories\n\nView Spending by Category\npython scripts/klutch.py card spending\n\nConfiguration Management\n# Get configuration value\npython scripts/klutch.py config get api.timeout\n\n# Set configuration value\npython scripts/klutch.py config set api.timeout 60\n\n# View all configuration\npython scripts/klutch.py config get\n\nAPI Endpoints\n\nThe skill connects to Klutch's GraphQL API:\n\nEnvironment\tEndpoint\nProduction\thttps://graphql.klutchcard.com/graphql\nSandbox\thttps://sandbox.klutchcard.com/graphql\nAuthentication Flow\n\nThe skill uses Klutch's session token authentication:\n\nInitial Request: Sends createSessionToken mutation with Client ID and Secret Key\nToken Caching: Stores the JWT session token in ~/.config/klutch/token.json\nSubsequent Requests: Uses cached token until it expires\nAuto-Refresh: Creates a new session token when the cached one fails\nHypothetical Agent Use Cases\n\nThe Klutch skill enables agents to handle their own budget or provide personal finance assistance.\n\nSub-Agent Budgeting: Create a virtual card for a sub-agent to pay for its own usage (AWS, OpenAI) with a hard limit.\nBudget Guardrails: Monitor spending categories (e.g., 'FOOD') and alert the user if they exceed a monthly budget.\nTransaction Alerts: Watch for specific merchants or unusual activity and notify the user immediately.\nExpense Summary: Summarize monthly spending and categorize transactions for personal journaling.\nError Handling\n\nThe skill handles common error scenarios:\n\nAuthentication failures: Prompts to verify credentials\nSession expiration: Automatically creates a new session token\nNetwork errors: Clear error messages with retry suggestions\nGraphQL errors: Detailed error messages from the API\nIntegration with OpenClaw\nUsing from OpenClaw Sessions\n# OpenClaw can invoke the skill directly\nklutch balance\nklutch transactions --limit 5\nklutch card list\n\nTroubleshooting\nAuthentication Issues\n\nIf you receive authentication errors:\n\nVerify your credentials with python scripts/klutch.py config get\nDelete ~/.config/klutch/token.json to force re-authentication\nCheck that your API credentials are correct\nSession Token Issues\n\nForce token refresh:\n\nrm ~/.config/klutch/token.json\n\nSecurity Notes\nNever commit credentials to version control\nThe skill stores tokens in ~/.config/klutch/token.json\nSession tokens are refreshed automatically when needed"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/kesslerio/klutch",
    "publisherUrl": "https://clawhub.ai/kesslerio/klutch",
    "owner": "kesslerio",
    "version": "0.3.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/klutch",
    "downloadUrl": "https://openagent3.xyz/downloads/klutch",
    "agentUrl": "https://openagent3.xyz/skills/klutch/agent",
    "manifestUrl": "https://openagent3.xyz/skills/klutch/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/klutch/agent.md"
  }
}