{
  "schemaVersion": "1.0",
  "item": {
    "slug": "wilma",
    "name": "Wilma",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/aikarjal/wilma",
    "canonicalUrl": "https://clawhub.ai/aikarjal/wilma",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/wilma",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=wilma",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/wilma-cli.sh"
    ],
    "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-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-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/wilma"
    },
    "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/wilma",
    "agentPageUrl": "https://openagent3.xyz/skills/wilma/agent",
    "manifestUrl": "https://openagent3.xyz/skills/wilma/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/wilma/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": "Overview",
        "body": "Wilma is the Finnish school information system used by schools and municipalities to share messages, news, exams, schedules, homework, and other student-related updates with parents/guardians.\n\nUse the wilma / wilmai CLI in non-interactive mode to retrieve Wilma data for AI agents. Prefer --json outputs and avoid interactive prompts."
      },
      {
        "title": "Install",
        "body": "npm i -g @wilm-ai/wilma-cli\n\nEnsure the user has run the interactive CLI once to create ~/.config/wilmai/config.json.\nUse non-interactive commands with --json."
      },
      {
        "title": "Daily briefing (start here)",
        "body": "wilma summary --student <id|name> --json\nwilma summary --all-students --json\n\nReturns today's and tomorrow's schedule, upcoming exams, recent homework, recent news, and recent messages in one call. This is the best starting point for any parent-facing summary."
      },
      {
        "title": "Schedule",
        "body": "wilma schedule list --when today --student <id|name> --json\nwilma schedule list --when tomorrow --student <id|name> --json\nwilma schedule list --when week --student <id|name> --json\nwilma schedule list --date 2026-03-10 --student <id|name> --json\nwilma schedule list --weekday thu --student <id|name> --json\n\n--weekday also accepts Finnish short forms: ma, ti, ke, to, pe, la, su. Use --date or --weekday, not both."
      },
      {
        "title": "Homework",
        "body": "wilma homework list --student <id|name> --json"
      },
      {
        "title": "Upcoming exams",
        "body": "wilma exams list --student <id|name> --json"
      },
      {
        "title": "Exam grades",
        "body": "wilma grades list --student <id|name> --json"
      },
      {
        "title": "List students",
        "body": "wilma kids list --json"
      },
      {
        "title": "News and messages",
        "body": "wilma news list --student <id|name> --json\nwilma news read <id> --student <id|name> --json\nwilma messages list --student <id|name> --folder inbox --json\nwilma messages read <id> --student <id|name> --json"
      },
      {
        "title": "Fetch data for all students",
        "body": "All list commands support --all-students:\n\nwilma summary --all-students --json\nwilma homework list --all-students --json\nwilma exams list --all-students --json\n\nYou can also pass a name fragment for --student (fuzzy match)."
      },
      {
        "title": "MFA (Multi-Factor Authentication)",
        "body": "If the Wilma account has MFA/TOTP enabled:\n\nInteractive setup (recommended): Run wilma interactively. When MFA is detected, choose \"Save TOTP secret for automatic login\" and paste your TOTP secret or otpauth:// URI. Future logins will auto-authenticate.\n\nNon-interactive (one-off): Pass the TOTP secret directly:\n\nwilma schedule list --totp-secret <base32-key> --student \"Stella\" --json\nwilma schedule list --totp-secret 'otpauth://totp/...' --student \"Stella\" --json\n\nIf the TOTP secret has been saved via interactive setup, --totp-secret is not needed — the CLI auto-authenticates from the stored config."
      },
      {
        "title": "Notes",
        "body": "If no --student is provided, the CLI uses the last selected student from ~/.config/wilmai/config.json (or $XDG_CONFIG_HOME/wilmai/config.json).\nIf multiple students exist and no default is set, the CLI will print a helpful error with the list of students.\nWhen the account has multiple students, --student is required for read commands.\nIf auth expires or the CLI says no saved profile, re-run wilma interactively or use wilma config clear to reset.\nRun wilma update to update the CLI to the latest version."
      },
      {
        "title": "Actionability guidance (for parents)",
        "body": "Wilma contains a mix of urgent items and general info. When summarizing for parents, prioritize actionable items:\n\nInclude items that:\n\nRequire action or preparation (forms, replies, permissions, materials to bring).\nAnnounce a deadline or time-specific requirement.\nDescribe a schedule deviation or noteworthy event (trips, themed days, school closures, exams).\nMention homework, exams, or upcoming deadlines.\n\nDe-prioritize items that:\n\nAre purely informational with no action, deadline, or schedule impact.\nAre generic announcements unrelated to the target period.\n\nWhen in doubt, include and let the parent decide. Prefer a short, structured summary with dates and IDs."
      },
      {
        "title": "Scripts",
        "body": "Use scripts/wilma-cli.sh for a stable wrapper around the CLI."
      },
      {
        "title": "Links",
        "body": "GitHub: https://github.com/aikarjal/wilmai\nWebsite: https://wilm.ai"
      }
    ],
    "body": "Wilma Skill\nOverview\n\nWilma is the Finnish school information system used by schools and municipalities to share messages, news, exams, schedules, homework, and other student-related updates with parents/guardians.\n\nUse the wilma / wilmai CLI in non-interactive mode to retrieve Wilma data for AI agents. Prefer --json outputs and avoid interactive prompts.\n\nQuick start\nInstall\nnpm i -g @wilm-ai/wilma-cli\n\nEnsure the user has run the interactive CLI once to create ~/.config/wilmai/config.json.\nUse non-interactive commands with --json.\nCore tasks\nDaily briefing (start here)\nwilma summary --student <id|name> --json\nwilma summary --all-students --json\n\n\nReturns today's and tomorrow's schedule, upcoming exams, recent homework, recent news, and recent messages in one call. This is the best starting point for any parent-facing summary.\n\nSchedule\nwilma schedule list --when today --student <id|name> --json\nwilma schedule list --when tomorrow --student <id|name> --json\nwilma schedule list --when week --student <id|name> --json\nwilma schedule list --date 2026-03-10 --student <id|name> --json\nwilma schedule list --weekday thu --student <id|name> --json\n\n\n--weekday also accepts Finnish short forms: ma, ti, ke, to, pe, la, su. Use --date or --weekday, not both.\n\nHomework\nwilma homework list --student <id|name> --json\n\nUpcoming exams\nwilma exams list --student <id|name> --json\n\nExam grades\nwilma grades list --student <id|name> --json\n\nList students\nwilma kids list --json\n\nNews and messages\nwilma news list --student <id|name> --json\nwilma news read <id> --student <id|name> --json\nwilma messages list --student <id|name> --folder inbox --json\nwilma messages read <id> --student <id|name> --json\n\nFetch data for all students\n\nAll list commands support --all-students:\n\nwilma summary --all-students --json\nwilma homework list --all-students --json\nwilma exams list --all-students --json\n\n\nYou can also pass a name fragment for --student (fuzzy match).\n\nMFA (Multi-Factor Authentication)\n\nIf the Wilma account has MFA/TOTP enabled:\n\nInteractive setup (recommended): Run wilma interactively. When MFA is detected, choose \"Save TOTP secret for automatic login\" and paste your TOTP secret or otpauth:// URI. Future logins will auto-authenticate.\n\nNon-interactive (one-off): Pass the TOTP secret directly:\n\nwilma schedule list --totp-secret <base32-key> --student \"Stella\" --json\nwilma schedule list --totp-secret 'otpauth://totp/...' --student \"Stella\" --json\n\n\nIf the TOTP secret has been saved via interactive setup, --totp-secret is not needed — the CLI auto-authenticates from the stored config.\n\nNotes\nIf no --student is provided, the CLI uses the last selected student from ~/.config/wilmai/config.json (or $XDG_CONFIG_HOME/wilmai/config.json).\nIf multiple students exist and no default is set, the CLI will print a helpful error with the list of students.\nWhen the account has multiple students, --student is required for read commands.\nIf auth expires or the CLI says no saved profile, re-run wilma interactively or use wilma config clear to reset.\nRun wilma update to update the CLI to the latest version.\nActionability guidance (for parents)\n\nWilma contains a mix of urgent items and general info. When summarizing for parents, prioritize actionable items:\n\nInclude items that:\n\nRequire action or preparation (forms, replies, permissions, materials to bring).\nAnnounce a deadline or time-specific requirement.\nDescribe a schedule deviation or noteworthy event (trips, themed days, school closures, exams).\nMention homework, exams, or upcoming deadlines.\n\nDe-prioritize items that:\n\nAre purely informational with no action, deadline, or schedule impact.\nAre generic announcements unrelated to the target period.\n\nWhen in doubt, include and let the parent decide. Prefer a short, structured summary with dates and IDs.\n\nScripts\n\nUse scripts/wilma-cli.sh for a stable wrapper around the CLI.\n\nLinks\nGitHub: https://github.com/aikarjal/wilmai\nWebsite: https://wilm.ai"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/aikarjal/wilma",
    "publisherUrl": "https://clawhub.ai/aikarjal/wilma",
    "owner": "aikarjal",
    "version": "1.4.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/wilma",
    "downloadUrl": "https://openagent3.xyz/downloads/wilma",
    "agentUrl": "https://openagent3.xyz/skills/wilma/agent",
    "manifestUrl": "https://openagent3.xyz/skills/wilma/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/wilma/agent.md"
  }
}