{
  "schemaVersion": "1.0",
  "item": {
    "slug": "norman-expense-report",
    "name": "Norman: Expense report",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/stanlee000/norman-expense-report",
    "canonicalUrl": "https://clawhub.ai/stanlee000/norman-expense-report",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/norman-expense-report",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=norman-expense-report",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "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/norman-expense-report"
    },
    "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/norman-expense-report",
    "agentPageUrl": "https://openagent3.xyz/skills/norman-expense-report/agent",
    "manifestUrl": "https://openagent3.xyz/skills/norman-expense-report/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/norman-expense-report/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": "Step 1: Gather data",
        "body": "Call search_transactions for the specified period (default: last month)\nFilter for outgoing transactions (expenses only, exclude income)\nCall get_company_balance for current balance context"
      },
      {
        "title": "Step 2: Categorize and group",
        "body": "Group expenses by bookkeeping category. For each category show:\n\nCategory name\nTotal amount (EUR)\nNumber of transactions\nPercentage of total expenses\n\nPresent as a ranked list, largest category first."
      },
      {
        "title": "Step 3: Top vendors",
        "body": "List the top 10 vendors/payees by total spend:\n\nVendor name\nTotal amount\nNumber of transactions\nAverage transaction amount"
      },
      {
        "title": "Step 4: Trends and insights",
        "body": "If the user asks for a longer period (quarter or year), provide:\n\nMonth-over-month comparison of total expenses\nCategories that increased or decreased significantly\nRecurring vs. one-time expenses\nLargest single transactions in the period"
      },
      {
        "title": "Step 5: Comparison (if possible)",
        "body": "If data is available for the previous equivalent period:\n\nTotal expenses this period vs. last period\nPercentage change\nCategories with the biggest increase/decrease\nFlag any unusual or new expense categories"
      },
      {
        "title": "Presentation format",
        "body": "Structure the report clearly:\n\nExpense Report: [Period]\n========================\nTotal Expenses: X,XXX.XX EUR\n\nBy Category:\n  1. [Category]     X,XXX.XX EUR  (XX%)  [N transactions]\n  2. [Category]       XXX.XX EUR  (XX%)  [N transactions]\n  ...\n\nTop Vendors:\n  1. [Vendor]       X,XXX.XX EUR  [N transactions]\n  2. [Vendor]         XXX.XX EUR  [N transactions]\n  ...\n\nKey Insights:\n  - [Notable finding]\n  - [Notable finding]\n\nKeep amounts in EUR. Use clear formatting for readability. Offer to drill down into any specific category if the user wants more detail."
      }
    ],
    "body": "Generate a comprehensive expense report for the user:\n\nStep 1: Gather data\nCall search_transactions for the specified period (default: last month)\nFilter for outgoing transactions (expenses only, exclude income)\nCall get_company_balance for current balance context\nStep 2: Categorize and group\n\nGroup expenses by bookkeeping category. For each category show:\n\nCategory name\nTotal amount (EUR)\nNumber of transactions\nPercentage of total expenses\n\nPresent as a ranked list, largest category first.\n\nStep 3: Top vendors\n\nList the top 10 vendors/payees by total spend:\n\nVendor name\nTotal amount\nNumber of transactions\nAverage transaction amount\nStep 4: Trends and insights\n\nIf the user asks for a longer period (quarter or year), provide:\n\nMonth-over-month comparison of total expenses\nCategories that increased or decreased significantly\nRecurring vs. one-time expenses\nLargest single transactions in the period\nStep 5: Comparison (if possible)\n\nIf data is available for the previous equivalent period:\n\nTotal expenses this period vs. last period\nPercentage change\nCategories with the biggest increase/decrease\nFlag any unusual or new expense categories\nPresentation format\n\nStructure the report clearly:\n\nExpense Report: [Period]\n========================\nTotal Expenses: X,XXX.XX EUR\n\nBy Category:\n  1. [Category]     X,XXX.XX EUR  (XX%)  [N transactions]\n  2. [Category]       XXX.XX EUR  (XX%)  [N transactions]\n  ...\n\nTop Vendors:\n  1. [Vendor]       X,XXX.XX EUR  [N transactions]\n  2. [Vendor]         XXX.XX EUR  [N transactions]\n  ...\n\nKey Insights:\n  - [Notable finding]\n  - [Notable finding]\n\n\nKeep amounts in EUR. Use clear formatting for readability. Offer to drill down into any specific category if the user wants more detail."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/stanlee000/norman-expense-report",
    "publisherUrl": "https://clawhub.ai/stanlee000/norman-expense-report",
    "owner": "stanlee000",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/norman-expense-report",
    "downloadUrl": "https://openagent3.xyz/downloads/norman-expense-report",
    "agentUrl": "https://openagent3.xyz/skills/norman-expense-report/agent",
    "manifestUrl": "https://openagent3.xyz/skills/norman-expense-report/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/norman-expense-report/agent.md"
  }
}