{
  "schemaVersion": "1.0",
  "item": {
    "slug": "monarch-money",
    "name": "Monarch Money",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/davideasaf/monarch-money",
    "canonicalUrl": "https://clawhub.ai/davideasaf/monarch-money",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/monarch-money",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=monarch-money",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "cli/client.ts",
      "cli/commands/accounts.ts",
      "cli/commands/auth.ts",
      "cli/commands/categories.ts",
      "cli/commands/doctor.ts"
    ],
    "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. 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. 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/monarch-money"
    },
    "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/monarch-money",
    "agentPageUrl": "https://openagent3.xyz/skills/monarch-money/agent",
    "manifestUrl": "https://openagent3.xyz/skills/monarch-money/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/monarch-money/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. 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. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Monarch Money",
        "body": "CLI and TypeScript library for Monarch Money budget automation."
      },
      {
        "title": "Environment Variables (Required)",
        "body": "VariableRequiredDescriptionMONARCH_EMAILYesMonarch Money account emailMONARCH_PASSWORDYesMonarch Money account passwordMONARCH_MFA_SECRETYesTOTP secret for MFA (see below)"
      },
      {
        "title": "Getting Your MFA Secret",
        "body": "Monarch Money requires MFA. Generate the TOTP secret:\n\nLogin to https://app.monarchmoney.com\nGo to Settings > Security > Two-Factor Authentication\nIf MFA is already enabled: disable and re-enable to get a new secret\nWhen shown the QR code: click \"Can't scan? View setup key\"\nCopy the secret key (base32 string like JBSWY3DPEHPK3PXP)\nComplete MFA setup in Monarch Money with an authenticator app\nSet the secret: export MONARCH_MFA_SECRET=\"YOUR_SECRET\""
      },
      {
        "title": "Quick Start",
        "body": "# Check setup\nmonarch-money doctor\n\n# Login (uses env vars by default)\nmonarch-money auth login\n\n# List transactions\nmonarch-money tx list --limit 10\n\n# List categories\nmonarch-money cat list"
      },
      {
        "title": "Authentication",
        "body": "# Login with environment variables\nmonarch-money auth login\n\n# Login with explicit credentials\nmonarch-money auth login -e email@example.com -p password --mfa-secret SECRET\n\n# Check auth status\nmonarch-money auth status\n\n# Logout\nmonarch-money auth logout"
      },
      {
        "title": "Transactions",
        "body": "# List recent transactions\nmonarch-money tx list --limit 20\n\n# Search by date\nmonarch-money tx list --start-date 2026-01-01 --end-date 2026-01-31\n\n# Search by merchant\nmonarch-money tx list --merchant \"Walmart\"\n\n# Get transaction by ID\nmonarch-money tx get <transaction_id>\n\n# Update category\nmonarch-money tx update <id> --category <category_id>\n\n# Update merchant name\nmonarch-money tx update <id> --merchant \"New Name\"\n\n# Add notes\nmonarch-money tx update <id> --notes \"My notes here\""
      },
      {
        "title": "Categories",
        "body": "# List all categories\nmonarch-money cat list\n\n# List with IDs (for updates)\nmonarch-money cat list --show-ids"
      },
      {
        "title": "Accounts",
        "body": "# List accounts\nmonarch-money acc list\n\n# Show account details\nmonarch-money acc get <account_id>"
      },
      {
        "title": "Doctor (Diagnostics)",
        "body": "# Run diagnostic checks\nmonarch-money doctor\n\nChecks:\n\nEnvironment variables set\nAPI connectivity\nSession validity\nNode.js version"
      },
      {
        "title": "Library Usage",
        "body": "Import and use the TypeScript library directly:\n\nimport { MonarchClient } from 'monarch-money';\n\nconst client = new MonarchClient({ baseURL: 'https://api.monarch.com' });\n\n// Login\nawait client.login({\n  email: process.env.MONARCH_EMAIL,\n  password: process.env.MONARCH_PASSWORD,\n  mfaSecretKey: process.env.MONARCH_MFA_SECRET\n});\n\n// Get transactions\nconst transactions = await client.transactions.getTransactions({ limit: 10 });\n\n// Get categories\nconst categories = await client.categories.getCategories();\n\n// Get accounts\nconst accounts = await client.accounts.getAll();"
      },
      {
        "title": "Find and Update a Transaction",
        "body": "# 1. Find the transaction\nmonarch-money tx list --date 2026-01-15 --merchant \"Target\"\n\n# 2. Get category ID\nmonarch-money cat list --show-ids\n\n# 3. Update the transaction\nmonarch-money tx update <transaction_id> --category <category_id>"
      },
      {
        "title": "Search Transactions by Date Range",
        "body": "monarch-money tx list --start-date 2026-01-01 --end-date 2026-01-31 --limit 100"
      },
      {
        "title": "Check Budget Status",
        "body": "monarch-money acc list"
      },
      {
        "title": "Error Handling",
        "body": "ErrorSolution\"Not logged in\"Run monarch-money auth login\"MFA code required\"Set MONARCH_MFA_SECRET environment variable\"Invalid credentials\"Verify email/password work at app.monarchmoney.com\"Session expired\"Run monarch-money auth login again"
      },
      {
        "title": "Session Management",
        "body": "Sessions are cached locally at ~/.mm/session.json. After initial login, subsequent commands reuse the saved session for faster execution.\n\nTo clear the session: monarch-money auth logout"
      },
      {
        "title": "References",
        "body": "API.md - GraphQL API details and advanced usage\nTROUBLESHOOTING.md - Common issues and solutions"
      }
    ],
    "body": "Monarch Money\n\nCLI and TypeScript library for Monarch Money budget automation.\n\nPrerequisites\nEnvironment Variables (Required)\nVariable\tRequired\tDescription\nMONARCH_EMAIL\tYes\tMonarch Money account email\nMONARCH_PASSWORD\tYes\tMonarch Money account password\nMONARCH_MFA_SECRET\tYes\tTOTP secret for MFA (see below)\nGetting Your MFA Secret\n\nMonarch Money requires MFA. Generate the TOTP secret:\n\nLogin to https://app.monarchmoney.com\nGo to Settings > Security > Two-Factor Authentication\nIf MFA is already enabled: disable and re-enable to get a new secret\nWhen shown the QR code: click \"Can't scan? View setup key\"\nCopy the secret key (base32 string like JBSWY3DPEHPK3PXP)\nComplete MFA setup in Monarch Money with an authenticator app\nSet the secret: export MONARCH_MFA_SECRET=\"YOUR_SECRET\"\nQuick Start\n# Check setup\nmonarch-money doctor\n\n# Login (uses env vars by default)\nmonarch-money auth login\n\n# List transactions\nmonarch-money tx list --limit 10\n\n# List categories\nmonarch-money cat list\n\nCLI Commands\nAuthentication\n# Login with environment variables\nmonarch-money auth login\n\n# Login with explicit credentials\nmonarch-money auth login -e email@example.com -p password --mfa-secret SECRET\n\n# Check auth status\nmonarch-money auth status\n\n# Logout\nmonarch-money auth logout\n\nTransactions\n# List recent transactions\nmonarch-money tx list --limit 20\n\n# Search by date\nmonarch-money tx list --start-date 2026-01-01 --end-date 2026-01-31\n\n# Search by merchant\nmonarch-money tx list --merchant \"Walmart\"\n\n# Get transaction by ID\nmonarch-money tx get <transaction_id>\n\n# Update category\nmonarch-money tx update <id> --category <category_id>\n\n# Update merchant name\nmonarch-money tx update <id> --merchant \"New Name\"\n\n# Add notes\nmonarch-money tx update <id> --notes \"My notes here\"\n\nCategories\n# List all categories\nmonarch-money cat list\n\n# List with IDs (for updates)\nmonarch-money cat list --show-ids\n\nAccounts\n# List accounts\nmonarch-money acc list\n\n# Show account details\nmonarch-money acc get <account_id>\n\nDoctor (Diagnostics)\n# Run diagnostic checks\nmonarch-money doctor\n\n\nChecks:\n\nEnvironment variables set\nAPI connectivity\nSession validity\nNode.js version\nLibrary Usage\n\nImport and use the TypeScript library directly:\n\nimport { MonarchClient } from 'monarch-money';\n\nconst client = new MonarchClient({ baseURL: 'https://api.monarch.com' });\n\n// Login\nawait client.login({\n  email: process.env.MONARCH_EMAIL,\n  password: process.env.MONARCH_PASSWORD,\n  mfaSecretKey: process.env.MONARCH_MFA_SECRET\n});\n\n// Get transactions\nconst transactions = await client.transactions.getTransactions({ limit: 10 });\n\n// Get categories\nconst categories = await client.categories.getCategories();\n\n// Get accounts\nconst accounts = await client.accounts.getAll();\n\nCommon Workflows\nFind and Update a Transaction\n# 1. Find the transaction\nmonarch-money tx list --date 2026-01-15 --merchant \"Target\"\n\n# 2. Get category ID\nmonarch-money cat list --show-ids\n\n# 3. Update the transaction\nmonarch-money tx update <transaction_id> --category <category_id>\n\nSearch Transactions by Date Range\nmonarch-money tx list --start-date 2026-01-01 --end-date 2026-01-31 --limit 100\n\nCheck Budget Status\nmonarch-money acc list\n\nError Handling\nError\tSolution\n\"Not logged in\"\tRun monarch-money auth login\n\"MFA code required\"\tSet MONARCH_MFA_SECRET environment variable\n\"Invalid credentials\"\tVerify email/password work at app.monarchmoney.com\n\"Session expired\"\tRun monarch-money auth login again\nSession Management\n\nSessions are cached locally at ~/.mm/session.json. After initial login, subsequent commands reuse the saved session for faster execution.\n\nTo clear the session: monarch-money auth logout\n\nReferences\nAPI.md - GraphQL API details and advanced usage\nTROUBLESHOOTING.md - Common issues and solutions"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/davideasaf/monarch-money",
    "publisherUrl": "https://clawhub.ai/davideasaf/monarch-money",
    "owner": "davideasaf",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/monarch-money",
    "downloadUrl": "https://openagent3.xyz/downloads/monarch-money",
    "agentUrl": "https://openagent3.xyz/skills/monarch-money/agent",
    "manifestUrl": "https://openagent3.xyz/skills/monarch-money/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/monarch-money/agent.md"
  }
}