{"id":"f8bdd872-67b6-4754-9a34-1cee7c3598b9","entityType":"agent","slug":"clawhub-skills-aikarjal-wilma-triage","name":"wilma-triage","canonicalUrl":"https://www.xpersona.co/agent/clawhub-skills-aikarjal-wilma-triage","canonicalPath":"/agent/clawhub-skills-aikarjal-wilma-triage","generatedAt":"2026-10-10T08:54:43.634Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"description":"Daily triage of Wilma school notifications for Finnish parents. Fetches exams, messages, news, schedules, and homework — filters for actionable items, syncs exams to Google Calendar, and reports via chat. Requires the `wilma` skill and `gog` CLI (or `gog` skill from ClawHub) for calendar access. --- name: wilma-triage version: 1.0.1 description: Daily triage of Wilma school notifications for Finnish parents. Fetches exams, messages, news, schedules, and homework — filters for actionable items, syncs exams to Google Calendar, and reports via chat. Requires the wilma skill and gog CLI (or gog skill from ClawHub) for calendar access. metadata: { \"openclaw\": { \"requires\": { \"bins\": [\"wilma\", \"gog\"], \"skills\": [\"","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.","installCommand":"clawhub skill install skills:aikarjal:wilma-triage","sourceUrl":"https://github.com/openclaw/skills/tree/main/skills/aikarjal/wilma-triage","homepage":null,"primaryLinks":[{"label":"View on ClawHub","url":"https://github.com/openclaw/skills/tree/main/skills/aikarjal/wilma-triage","kind":"source"}],"safetyScore":84,"overallRank":62,"popularityScore":50,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Daily triage of Wilma school notifications for Finnish parents. Fetches exams, messages, news, schedules, and homework — filters for actionable items, syncs exa"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"no-adoption-signals","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No source adoption metrics were available."},"stars":null,"forks":null,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":null},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-02-25T05:57:03.254Z","emptyReason":null},"lastUpdatedAt":"2026-04-15T00:45:39.800Z","lastCrawledAt":"2026-02-25T05:57:03.254Z","lastIndexedAt":null,"nextCrawlAt":"2026-02-26T05:57:03.254Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install skills:aikarjal:wilma-triage","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-aikarjal-wilma-triage/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-aikarjal-wilma-triage/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-aikarjal-wilma-triage/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-aikarjal-wilma-triage/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-aikarjal-wilma-triage/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-aikarjal-wilma-triage/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T08:54:43.634Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-aikarjal-wilma-triage/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-aikarjal-wilma-triage/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-aikarjal-wilma-triage/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-aikarjal-wilma-triage/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"readme":"---\nname: wilma-triage\nversion: 1.0.1\ndescription: Daily triage of Wilma school notifications for Finnish parents. Fetches exams, messages, news, schedules, and homework — filters for actionable items, syncs exams to Google Calendar, and reports via chat. Requires the `wilma` skill and `gog` CLI (or `gog` skill from ClawHub) for calendar access.\nmetadata:\n  {\n    \"openclaw\":\n      {\n        \"requires\":\n          {\n            \"bins\": [\"wilma\", \"gog\"],\n            \"skills\": [\"wilma\"],\n            \"configPaths\":\n              [\n                \"~/.config/wilmai/config.json\",\n                \"~/Library/Application Support/gogcli/\",\n              ],\n          },\n        \"credentials\":\n          {\n            \"note\": \"Requires local Wilma credentials (~/.config/wilmai/config.json) for school data access and gog CLI auth (Google OAuth) for calendar sync. Both must be set up interactively before use.\",\n          },\n      },\n  }\n---\n\n# Wilma Triage\n\nAutomated daily triage of Wilma school data for parents. Filters noise, surfaces actionable items, and syncs exams/events to Google Calendar.\n\n## Dependencies\n\n- **wilma skill** — install from ClawHub (`clawhub install wilma`) for Wilma CLI commands and setup\n- **gog skill** — install from ClawHub (`clawhub install gog`) for Google Calendar sync\n\n## First Run Setup\n\nOn first use, collect and store configuration:\n\n1. **Discover kids:** Run `wilma kids list --json` to get student names, numbers, and schools\n2. **Calendar ID:** Run `gog calendar calendars` to list available calendars. Ask the user which calendar to use for school events. Store the calendar ID in **TOOLS.md** under a `## Wilma Triage` section along with naming conventions for events.\n3. **Preferences:** Ask about any kid-specific rules (e.g., subject overrides like ET instead of religion). Store in **MEMORY.md** as part of the Wilma triage context.\n\nOver time, the user will give feedback on what to report and what to skip — store these preferences in MEMORY.md. The triage gets smarter with use.\n\n## Workflow\n\n1. **Fetch data** — check TOOLS.md for student details, then start with summary:\n   ```bash\n   # Best starting point — returns schedule, exams, homework, news, messages\n   wilma summary --all-students --json\n\n   # Drill into specifics as needed\n   wilma exams list --all-students --json\n   wilma schedule list --when today --all-students --json\n   wilma schedule list --when tomorrow --all-students --json\n   wilma homework list --all-students --limit 10 --json\n   wilma grades list --all-students --limit 5 --json\n   wilma messages list --all-students --limit 10 --json\n   wilma news list --all-students --limit 10 --json\n\n   # Read full content when subject line looks actionable\n   wilma messages read <id> --student <name> --json\n   wilma news read <id> --student <name> --json\n   ```\n\n2. **Filter** — apply triage rules below plus any kid-specific rules from MEMORY.md\n\n3. **Calendar sync** — add missing exams and actionable events using gog CLI commands from TOOLS.md\n   - **ALWAYS check for existing events before adding** to avoid duplicates\n   - Use naming conventions stored in TOOLS.md\n   - Remove cancelled events from calendar\n\n4. **Report** — if actionable items found, send details. If nothing actionable, stay silent or send a brief confirmation. Check MEMORY.md for the user's notification preference.\n\n## Calendar Sync\n\nRefer to TOOLS.md for the calendar ID, naming conventions, and exact gog CLI commands.\n\n**NO DUPLICATES rule:**\n1. Before adding any event, check calendar for that date range\n2. If a matching event exists (same date + child + subject keywords), skip it\n3. Only add if not already there\n\n## Understanding Wilma Messages\n\nWilma messages come from different sources and have very different signal-to-noise ratios. Knowing the difference is critical for good triage:\n\n- **Viikkoviesti / weekly letter** (from class teacher) — **HIGH VALUE.** These are the class teacher's weekly updates. They look like casual newsletters but frequently contain buried actionable items: upcoming exams, materials to bring, schedule changes, field trips, deadlines. **Always read the full content.** Never skip based on subject line.\n- **Teacher messages** (from subject teachers) — Usually about specific exams, homework, or class events. High signal.\n- **School office / rehtori messages** — Administrative: schedule changes, events, policy updates. Medium signal — skim for actions.\n- **Kuukausitiedote / monthly newsletter** (from school office) — **Read these.** They typically contain important dates: holidays, school year start/end, event schedules, enrollment deadlines. Don't skip based on the generic subject line.\n- **City-wide notices** (from Helsinki/municipality) — Health campaigns, transport info, surveys. Usually noise for daily triage. Skim subject, skip unless clearly actionable.\n- **Parent union / vanhempainyhdistys** — Low signal by default (fundraising, volunteer calls). However, check MEMORY.md — if the parent is actively involved in the union, these become high priority.\n\n**Rule of thumb:** If a message is from a teacher (class teacher or subject teacher), always read it. If it's from the school office or city, skim the subject and skip unless it's clearly actionable.\n\n## Triage Rules\n\n### Always Report (Actionable)\n- Forms, permission slips, replies needed\n- Deadlines (sign-ups, payments, materials to bring)\n- Schedule changes (early dismissal, cancelled classes, substitute arrangements)\n- Special gear/materials needed (e.g., \"bring ski gear\", \"outdoor clothing\")\n- After-school events kids might want to attend (discos, movie nights)\n- Exam schedule updates or new exams\n- Cancelled events that are on the calendar → remove them\n\n### Report Briefly (Worth Mentioning)\n- Field trips, themed days with date info\n- School closures, holiday schedule changes\n- Health notices (lice alerts, illness outbreaks)\n- New grades (brief mention with grade)\n\n### Important: Always Read Weekly Letters (viikkoviesti)\nWeekly letters from class teachers often contain actionable items buried in the text: exams, materials to bring, schedule changes, field trips. **Always read the full content** of viikkoviesti messages — do not skip based on subject line alone.\n\n### Skip Silently\n- Concerts, cultural performances (FYI only)\n- Generic \"welcome back\" or seasonal greetings\n- City-wide informational notices (health campaigns, transport info, surveys)\n- Parent union messages (unless user is actively involved — check MEMORY.md)\n\n**Check MEMORY.md for additional skip/report rules** the user has provided over time (e.g., subject overrides, school-specific filtering).\n\n## Suggested Cron Setup\n\nRun daily at 07:00 local time as an isolated agentTurn job:\n\n```\nSchedule: 07:00 daily\nTimeout: 180s\nTask: \"Read the wilma-triage skill, then run the full triage workflow. Report actionable findings.\"\n```\n\nStagger with other morning jobs (e.g., email check at 07:05) to avoid API rate limits.\n\n## Output Format Example\n\n```\n📚 Wilma Update\n\nChild A (8th grade)\n• Math exam tomorrow — yhtälöt, kpl 1-8\n• Friday short day (9:20-12:35) — kulttuuripäivä, bring laptop + outdoor clothes\n\nChild B (6th grade)\n• No actionable items\n\n📅 Calendar: Added Child A math exam (Feb 10), removed cancelled disco (Feb 11)\n```\n\nKeep it brief. One line per item. Silence is better than noise.\n","readmeExcerpt":"--- name: wilma-triage version: 1.0.1 description: Daily triage of Wilma school notifications for Finnish parents. Fetches exams, messages, news, schedules, and homework — filters for actionable items, syncs exams to Google Calendar, and reports via chat. Requires the wilma skill and gog CLI (or gog skill from ClawHub) for calendar access. metadata: { \"openclaw\": { \"requires\": { \"bins\": [\"wilma\", \"gog\"], \"skills\": [\"","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"# Best starting point — returns schedule, exams, homework, news, messages\n   wilma summary --all-students --json\n\n   # Drill into specifics as needed\n   wilma exams list --all-students --json\n   wilma schedule list --when today --all-students --json\n   wilma schedule list --when tomorrow --all-students --json\n   wilma homework list --all-students --limit 10 --json\n   wilma grades list --all-students --limit 5 --json\n   wilma messages list --all-students --limit 10 --json\n   wilma news list --all-students --limit 10 --json\n\n   # Read full content when subject line looks actionable\n   wilma messages read <id> --student <name> --json\n   wilma news read <id> --student <name> --json"},{"language":"text","snippet":"Schedule: 07:00 daily\nTimeout: 180s\nTask: \"Read the wilma-triage skill, then run the full triage workflow. Report actionable findings.\""},{"language":"text","snippet":"📚 Wilma Update\n\nChild A (8th grade)\n• Math exam tomorrow — yhtälöt, kpl 1-8\n• Friday short day (9:20-12:35) — kulttuuripäivä, bring laptop + outdoor clothes\n\nChild B (6th grade)\n• No actionable items\n\n📅 Calendar: Added Child A math exam (Feb 10), removed cancelled disco (Feb 11)"}],"parameters":{},"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["typescript"],"docsSourceLabel":"CLAWHUB","editorialOverview":"Daily triage of Wilma school notifications for Finnish parents. Fetches exams, messages, news, schedules, and homework — filters for actionable items, syncs exams to Google Calendar, and reports via chat. Requires the `wilma` skill and `gog` CLI (or `gog` skill from ClawHub) for calendar access. --- name: wilma-triage version: 1.0.1 description: Daily triage of Wilma school notifications for Finnish parents. Fetches exams, messages, news, schedules, and homework — filters for actionable items, syncs exams to Google Calendar, and reports via chat. Requires the wilma skill and gog CLI (or gog skill from ClawHub) for calendar access. metadata: { \"openclaw\": { \"requires\": { \"bins\": [\"wilma\", \"gog\"], \"skills\": [\"","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":404,"uniquenessScore":61,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T08:54:43.634Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}