[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6N2RPRJ0X5YA70Q49PBVDXZ":3,"skill-same:01M6N2RPRJ0X5YA70Q49PBVDXZ":97},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":25,"publishedAt":45,"linkOnly":46,"markdownContent":47,"markdownBody":48,"frontMatter":49,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":6,"ownerHtmlUrl":58,"ownerBlogUrl":6,"ownerDescription":59,"updatedAt":60,"install":61,"resources":74},"01M6N2RPRJ0X5YA70Q49PBVDXZ","skillcraft",null,"Create, design, and package Clawdbot skills. Use when asked to \"make\u002Fbuild\u002Fcraft a skill for X\", or when extracting ad-hoc functionality (\"turn my script\u002Fagent instructions\u002Flibrary into a skill\"). Applies Clawdbot-specific integration concerns (tool calling, memory, message routing etc.) to build reusable skills that compose.","Kernel8901\u002Fai-agent-skills-classification","Kernel8901","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F72647553?v=4","01M6KV388J2H5PNC8D8P940BJD","01M6KV38CS5B3AY63RKZB410YM",7,"MIT","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fskillcraft\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[5,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"craft","for","my","extracting","make","tool calling","message","calling","clawdbot","design","reusable","compose","use","tool","library","package","routing","create","memory","2026-11-10 10:12:30",false,"---\nname: skillcraft\ndescription: Create, design, and package Clawdbot skills. Use when asked to \"make\u002Fbuild\u002Fcraft a skill for X\", or when extracting ad-hoc functionality (\"turn my script\u002Fagent instructions\u002Flibrary into a skill\"). Applies Clawdbot-specific integration concerns (tool calling, memory, message routing etc.) to build reusable skills that compose.\nmetadata: {\"clawdbot\":{\"emoji\":\"?\"}}\n---\n\n# Skillcraft - Clawdbot Skill Creator\n\nAn opinionated, AI-native design guide for Clawdbot skills. Focuses on **clawdbot-specific integration patterns** — message routing, cron scheduling, memory persistence, channel formatting — not generic programming advice.\n\n**Assumes:** The agent knows how to write code, structure projects, and handle errors. This skill teaches *clawdbot-specific* concerns.\n\n## Prerequisites\n\n**Load the `clawddocs` (or equivalent) skill first.** This skill relies on Clawdbot documentation for authoritative feature details. The clawddocs skill provides:\n\n- Documentation category navigation (see categories below)\n- Search scripts for finding specific docs\n- Config snippets for common patterns\n\n**Documentation categories** (via clawddocs):\n\n| Category | Path | Use for |\n| -------- | ---- | ------- |\n| Gateway & Config | `\u002Fgateway\u002F` | Configuration, security, health |\n| Tools | `\u002Ftools\u002F` | Skills, browser, bash, subagents |\n| Automation | `\u002Fautomation\u002F` | Cron jobs, webhooks, polling |\n| Concepts | `\u002Fconcepts\u002F` | Sessions, models, queues, streaming |\n| Providers | `\u002Fproviders\u002F` | Discord, Telegram, WhatsApp, etc. |\n\nWhen this skill says \"consult documentation,\" use clawddocs to fetch the relevant doc.\n\n## Core Philosophy\n\n**Skills are how Clawdbot extends itself.** They survive context limits, compose cleanly, and share via ClawdHub. \n\n**Most good skills start as scattered notes before anyone formalizes them.** This skill is a protocol for that formalization — turning \"remember to do X\" into something that composes and shares.\n\n---\n\n## The Design Sequence\n\nFollow these stages in order. Each produces artifacts that feed the next.\n\n**Two entry modes:**\n\n- **New skill:** Start at Stage 1\n- **Extracting existing functionality:** Start at Stage 0\n\n---\n\n### Stage 0: Inventory (Extraction Only)\n\n**Skip this stage if building a new skill from scratch.**\n\nUse this when functionality already exists but isn't packaged as a skill. Common sources:\n\n- Scripts in `\u003Cworkspace>\u002Fscripts\u002F` that aren't part of any skill\n- Instructions buried in TOOLS.md or AGENTS.md\n- Patterns repeated across conversations\n- \"Remember to do X\" notes that should be formalized\n\n**Gather the artifacts:**\n\nAsk:\n\n- **Where does it live?** (scripts, TOOLS.md section, memory notes, conversation patterns)\n- **What does it do?** (describe the capability)\n- **How is it currently triggered?** (manual request, heartbeat check, ad-hoc)\n- **What Clawdbot features does it use?** (exec, cron, message, memory, etc.)\n\nExample inventory:\n\n```\n- scripts\u002Fmail\u002Fcheck.py — fetches and processes emails\n- TOOLS.md ## Mail Rules — documents the mail command syntax  \n- HEARTBEAT.md — includes \"run mail heartbeat\" instruction\n- mail-rules.yaml — configuration file\n```\n\n**Assess current state:**\n\n- **What's working well?** (keep it)\n- **What's fragile or unclear?** (improve it)\n- **What's missing?** (add it)\n- **What's over-engineered?** (simplify it)\n\n**Output:** Inventory of existing artifacts with assessment notes. Then proceed to Stage 1.\n\n---\n\n### Stage 1: Problem Understanding\n\n**Goal:** Concrete clarity on what the skill does and when it's needed.\n\nWork through these questions with the user:\n\n1. **What does this skill do?** (one sentence)\n\n2. **When should this skill be loaded?**\n   - What would a user say? (3-5 example phrases)\n   - What mid-task needs might lead here? (e.g., \"need weather data\", \"need to send a message\")\n   - Any scheduled\u002Fperiodic triggers? (heartbeat, cron)\n\n3. **What does success look like?** For each example, what's the outcome?\n\n*If extracting:* Derive from actual usage, not just hypotheticals. It's ok to generalise the problem if that's what the user wants.\n\n**Output:** Problem statement with trigger examples and success criteria.\n\n---\n\n### Stage 2: Capability Discovery\n\n**Goal:** Understand what the skill needs to work with.\n\n#### Generalisability\n\nAsk the user: **Is this skill for your setup specifically, or should it work for any Clawdbot instance?**\n\n| Choice | Implications |\n|--------|--------------|\n| **Universal** | Generic paths (`\u003Cworkspace>\u002F`), no assumptions about installed tools, minimal references to user-specific config, suitable for ClawdHub |\n| **Particular** | Can reference specific local paths, skills, tools, TOOLS.md entries; tailored to user's workflow |\n\nThis affects many downstream decisions. Capture it early.\n\n*If extracting:* Also decide what stays in workspace (user config, state) vs. what moves to skill (scripts, instructions, references).\n\n#### Skill Synergy Search (Particular Only)\n\n**Skip this section if building a Universal skill.**\n\nWhen building for a particular setup, leverage existing workspace capabilities:\n\n1. **Scan available skills** — review the skill descriptions in `\u003Cavailable_skills>` from your system prompt\n2. **Identify promising synergies** — look for skills that:\n   - Provide data sources this skill could consume (e.g., calendar, contacts, location)\n   - Offer complementary capabilities (e.g., notification, storage, presentation)\n   - Handle adjacent domains that might integrate naturally\n3. **Deep-read promising skills** — for each skill with apparent synergy, read its SKILL.md to understand:\n   - Exact capabilities and invocation patterns\n   - Output formats that could be consumed\n   - State or configuration that might be shared\n   - Opportunities for composition or delegation\n\nPrioritise skills which have their dependencies fulfilled and are in active use.\n\n**Example:** Building a \"daily briefing\" skill? Scan for: calendar skills (event data), weather skills (forecast), mail skills (unread count), location skills (context-aware content). Read each to understand how to compose them.\n\n**Output from this step:** List of synergistic skills with brief notes on how each might integrate.\n\n#### External Dependencies\n\n- Does it wrap a CLI tool? Which one? Is it installed? What's the basic usage pattern?\n- Does it wrap a web API? What's the base URL? Auth mechanism? Rate limits?\n- Does it process local files? What formats? What transformations?\n\n#### Clawdbot Features\n\nClawdbot has powerful built-in features with deep semantics and rich configurability. They can be combined in unexpected ways to solve user problems.\n\n**Conduct a creatively-minded review of the documentation** with the skill's needs in mind. Use **clawddocs** to explore — start with `\u002Fconcepts\u002F` and `\u002Ftools\u002F` categories. Think like a meta-programmer: Clawdbot's features are primitives that compose. A skill might combine cron scheduling with canvas presentation and node camera access in ways no single feature anticipates. If a solution would require a configuration change, check `\u002Fgateway\u002Fconfiguration` and suggest it to the user.\n\n**Documentation categories to explore:**\n\n| Need | Doc Category | Tools\u002FFeatures |\n|------|--------------|----------------|\n| Send messages | `\u002Fconcepts\u002Fmessages` | `message` tool |\n| Scheduled tasks | `\u002Fautomation\u002Fcron-jobs` | `cron` tool |\n| Persistent memory | `\u002Fconcepts\u002F` | Memory system, state files |\n| Background work | `\u002Ftools\u002Fsubagents` | `sessions_spawn` |\n| Device interaction | `\u002Fnodes\u002F` | `nodes` tool (camera, screen, location) |\n| UI presentation | `\u002Ftools\u002F` | `canvas` tool |\n| Web browsing | `\u002Ftools\u002Fbrowser` | `browser` tool |\n| Web research | `\u002Ftools\u002F` | `web_search`, `web_fetch` |\n| Image analysis | `\u002Ftools\u002F` | `image` tool |\n\n**Verify feature usage against documentation.** Don't assume — features evolve and have nuances. Use clawddocs to check:\n\n- Tool parameters and capabilities (fetch the relevant `\u002Ftools\u002F` doc)\n- Channel-specific constraints (check `\u002Fproviders\u002F` for the target channel)\n- Configuration requirements and defaults (`\u002Fgateway\u002Fconfiguration`)\n- Known gotchas or limitations\n\n**Output:** Capability map listing external deps, Clawdbot features to use, and generalisability choice.\n\n---\n\n### Stage 3: Architecture\n\n**Goal:** Identify applicable design patterns and propose initial architecture.\n\nBased on Stages 1-2, identify which patterns apply. Load relevant pattern references:\n\n| If the skill... | Load pattern |\n|-----------------|--------------|\n| Wraps a CLI tool | `patterns\u002Fcli-wrapper.md` |\n| Wraps a web API | `patterns\u002Fapi-wrapper.md` |\n| Monitors and notifies | `patterns\u002Fmonitor.md` |\n\nSkills often combine multiple patterns. Load all that apply and synthesize.\n\n#### Script vs. Agent Instructions\n\nA critical design juncture: how should executable scripts be combined with agent instructions in SKILL.md?\n\n**Use scripts when:**\n\n- The operation is deterministic and repeatable\n- Complex logic that's error-prone to re-derive each time\n- Performance matters (script runs faster than AI reasoning)\n- External tool interaction with specific syntax\n- State management with precise file formats\n\n**Use agent instructions when:**\n\n- Judgment is required (interpreting results, choosing approaches)\n- The task varies based on context\n- Natural language interaction is primary\n- Flexibility matters more than consistency\n- The \"how\" depends on \"what\" (can't be predetermined)\n\nThe split: scripts handle the *mechanics*, instructions handle the *judgment*.\n\n#### Example: Context Briefing Skill\n\nA skill that prepares briefings before meetings. This illustrates the full agent→script→agent flow.\n\n**User message:**\n> \"Brief me on Acme Corp before my 2pm call\"\n\n**Phase 1: Agent parses and routes (SKILL.md instructions)**\n\n```markdown\n## Handling Briefing Requests\n\nWhen user requests a briefing:\n1. Extract the **subject** (company, person, project, topic)\n2. Extract **context** if provided (meeting, call, presentation, general)\n3. Check calendar for related upcoming events\n4. Run the appropriate gather script based on subject type:\n   - Company\u002Forg → `scripts\u002Fgather.py --type company --name \"...\"`\n   - Person → `scripts\u002Fgather.py --type person --name \"...\"`\n   - Project → `scripts\u002Fgather.py --type project --name \"...\"`\n5. Analyze results and compose briefing (see Phase 3)\n```\n\nThe agent interprets \"Acme Corp\" as a company, \"2pm call\" as meeting context. It checks calendar, finds \"Call with Acme Corp re: Q2 partnership\" at 2pm.\n\n**Phase 2: Script fetches external data**\n\n```bash\nscripts\u002Fgather.py --type company --name \"Acme Corp\" --context meeting\n```\n\n```python\n# scripts\u002Fgather.py - deterministic data gathering\ndef gather_company(name: str, context: str) -> dict:\n    return {\n        \"emails\": search_emails(f\"from:{domain} OR to:{domain}\", days=30),\n        \"calendar\": get_related_events(name, days=14),\n        \"web\": search_web(f\"{name} news\", recent=True),\n        \"contacts\": find_contacts(name),\n        \"history\": load_prior_briefings(name)  # from state\n    }\n    # Output: structured JSON with all gathered data\n```\n\n**Phase 3: Agent synthesizes and acts (SKILL.md instructions)**\n\n```markdown\n## Composing the Briefing\n\nWith gathered data, synthesize: key context, recent activity, news, relationship history, suggested talking points, and warnings.\n\nIf meeting is \u003C1 hour away, send immediately. If >1 hour, offer to set a reminder.\n\nAfter delivery: log to `\u003Cworkspace>\u002Fmemory\u002F`, update `\u003Cskill>\u002Fstate.json`.\n```\n\nThe agent composes a briefing from the structured data, using judgment to prioritize and frame.\n\nIf user confirms reminder → **dynamically select the appropriate reminder system**. The skill doesn't hardcode \"use Apple Reminders\" — it checks what's available (Apple Reminders skill? Google Calendar? cron-based?) and routes accordingly. This is agent judgment, not script logic.\n\n---\n\n#### Composable Pattern Examples\n\nSkills often combine multiple Clawdbot primitives in non-obvious ways. See **[patterns\u002Fcomposable-examples.md](patterns\u002Fcomposable-examples.md)** for 7 detailed examples:\n\n1. Visual Monitoring Pipeline (nodes + image + canvas + message)\n2. Parallel Research Aggregator (sessions_spawn + web_search + browser)\n3. Location-Aware Context Switcher (nodes + cron + memory)\n4. Cross-Channel Thread Tracker (message + memory_search + sessions_send)\n5. Scheduled Report Generator (cron + exec + browser + canvas)\n6. Interactive Approval Workflow (message + cron + memory + gateway)\n7. Adaptive Learning Loop (image + memory + cron)\n\n**Output:** Selection of Clawdbot system features with rationale (if any), initial architecture sketch.\n\n\n### Stage 4: Design Specification\n\n**Goal:** User-reviewed specification ready for implementation.\n\n#### State Requirements\n\n- **Stateless:** Pure function of inputs, no memory needed\n- **Session-stateful:** Remembers within a conversation (use context)\n- **Persistent-stateful:** Survives restarts (needs file-based state)\n\nIf persistent state is needed, where should it live?\n\n- `\u003Cworkspace>\u002Fmemory\u002F` — for context that's part of the user's memory\n- `\u003Cskill>\u002Fstate.json` — for skill-internal state (lives with the skill)\n- `\u003Cworkspace>\u002Fstate\u002F\u003Cskill>.json` — for skill-internal state (common workspace area)\n- `\u003Cworkspace>\u002FTOOLS.md` — for user-specific configuration notes\n\nBy default, skills shouldn't write state outside the workspace. `~\u002F.clawdbot\u002F` and other system-level config directories are not suitable for state storage.\n\n#### User Preferences & Environment\n\nAsk about the user's existing setup:\n\n- **Scripting language preference?** (Python, Bash, etc.)\n- **Coding style preferences?** (types, functional idioms, etc.)\n- **Existing shared environment?** (venv, uv, conda that scripts should use)\n\nCheck USER.md and TOOLS.md for documented coding preferences.\n\n#### Secret Handling\n\nIf the skill needs API keys or credentials:\n\n1. **Ask how the user handles secrets** — they may have existing patterns\n2. **Default to environment variables** — `SERVICENAME_API_KEY`\n3. **Document the requirement** — in SKILL.md setup section\n4. **Never hard-code secrets** — not in scripts, not in skill files\n\nCommon patterns:\n\n- Environment variables (most portable)\n- macOS Keychain via `security` command\n- Config file in `~\u002F.config\u002Fskillname\u002F` (gitignored)\n- 1Password CLI (`op read`)\n\n#### Proposed Architecture\n\nPresent the proposed architecture:\n\n1. **Skill structure** — files and directories\n2. **SKILL.md outline** — sections and key content\n3. **Software** — high level requirements for each software component (script, module, wrapper)\n4. **State management** — where and how state is persisted\n5. **Clawdbot integration points** — which features, how they interact\n\n*If extracting:* Include migration notes — what moves where, what workspace files need updating.\n\n**The specification is a review checkpoint.** Its purpose is letting the user verify:\n\n- Assumptions about Clawdbot integration are correct\n- The design fits their existing workflow\n- No conflicts with existing workspace files or tools\n- Generalisability matches their intent\n\n**Validate against requirements:**\n\n- Does it handle all the examples from Stage 1?\n- Are Clawdbot features used correctly? (verify via clawddocs)\n- Is the state approach appropriate for the access pattern?\n- Are there edge cases or failure modes to handle?\n- Has the proposed architecture revealed any contradictions in the Stage 1 requirements?\n\n**Iterate** until the user is satisfied. This is where design problems surface cheaply.\n\n**Output:** Design specification including state approach, user preferences, secret handling, and skill structure.\n\n---\n\n### Stage 5: Implementation\n\n**Goal:** Working skill with all components.\n\n**Strong default: Same-session implementation.** Work through the spec with user review at each step. This keeps the user in the loop for integration decisions.\n\n**Coding-agent handoff is optional** and should be reserved for **complex software subcomponents only** — not entire skills. The SKILL.md and integration logic should stay in the main session where the user can review.\n\n#### Implementation Steps\n\nWork through in order, with user review at each checkpoint:\n\n1. **Create skill directory**\n2. **SKILL.md skeleton** — frontmatter + section headers\n   → *Review: is the structure right?*\n3. **Scripts** (if any) — get executable pieces working\n   → *Review: test each script*\n4. **SKILL.md body** — complete instructions\n5. **Test against Stage 1 examples**\n   → *Review: does it handle all examples?*\n\n*If extracting:*\n6. Update workspace files (remove migrated content, add skill references)\n7. Clean up old locations\n8. Verify skill works standalone\n\n#### Crafting the Skill Frontmatter\n\nThe SKILL.md frontmatter determines discoverability and provides structured metadata. The `description` field is critical — when the agent scans available skills, this determines whether the skill gets loaded.\n\nSee \u003Chttps:\u002F\u002Fdocs.clawd.bot\u002Ftools\u002Fskills> for Clawdbot-specific metadata documentation.\n\n**Frontmatter format:**\n\n```yaml\n---\nname: my-skill\ndescription: [description optimized for discovery]\nhomepage: https:\u002F\u002Fgithub.com\u002Fuser\u002Frepo  # optional\nmetadata: {\"clawdbot\": {\"emoji\": \"?\", \"requires\": {\"bins\": [\"tool\"], \"env\": [\"API_KEY\"]}, \"install\": [...]}}\n---\n```\n\n**Description field — write for keyword matching and context recognition:**\n\n- **What it does** — the core capability\n- **Keywords** — terms users might say that should trigger this skill\n- **Contexts** — situations where this skill applies\n- **Trigger phrases** — natural language patterns that indicate relevance\n\n**Example (good):**\n\n```yaml\ndescription: Download videos\u002Faudio from YouTube and other sites with interactive quality selection, learned preferences, and recent directory tracking. Use when user shares a video URL or asks to download video\u002Faudio.\n```\n\n**Example (too sparse):**\n\n```yaml\ndescription: YouTube downloader.\n```\n\n**Metadata field** (optional but recommended for publishable skills)\n\nRefer to the format specification at \u003Chttps:\u002F\u002Fdocs.clawd.bot\u002Ftools\u002Fskills>.\n\nSimple example:\n\n```json\n{\n  \"clawdbot\": {\n    \"emoji\": \"?\",\n    \"requires\": {\n      \"bins\": [\"goplaces\"],\n      \"env\": [\"GOOGLE_PLACES_API_KEY\"]\n    },\n    \"primaryEnv\": \"GOOGLE_PLACES_API_KEY\",\n    \"install\": [\n      {\n        \"id\": \"brew\",\n        \"kind\": \"brew\",\n        \"formula\": \"steipete\u002Ftap\u002Fgoplaces\",\n        \"bins\": [\"goplaces\"],\n        \"label\": \"Install goplaces (brew)\"\n      }\n    ]\n  }\n}\n```\n\n**Test the description:** Would the agent select this skill if the user said each of your Stage 1 example phrases? If not, add the missing keywords.\n\n**Output:** Complete skill directory ready for use.\n\n---\n\n## Path Conventions\n\nSkills must handle paths carefully, especially for portability and multi-agent contexts.\n\n### Notation\n\n| Prefix | Meaning | Example |\n|--------|---------|---------|\n| `\u003Cworkspace>\u002F` | Agent's workspace root | `\u003Cworkspace>\u002FTOOLS.md` |\n| `\u003Cskill>\u002F` | This skill's directory | `\u003Cskill>\u002Fscripts\u002Fcheck.py` |\n| (no prefix) | Skill-relative path | `scripts\u002Fhelper.sh` |\n\n**Rules:**\n\n- **Workspace files:** Always use `\u003Cworkspace>\u002F` prefix\n- **Skill components:** Relative paths OK (refers to skill directory)\n- **Never hardcode** `~\u002Fclawd` or similar — workspaces are portable\n- **State files:** Use `\u003Cworkspace>\u002F` paths, not `~\u002F.clawdbot\u002F` (skills don't own user home)\n\n### Sub-Agent Considerations\n\nSub-agents via `sessions_spawn` may run in sandboxed containers with different mount points. Use **clawddocs** to check `\u002Ftools\u002Fsubagents` for current sandbox configuration and path translation requirements. When spawning sub-agents that need workspace files, include path context in the task description.\n\n## Workspace Awareness\n\nSkills may interact with workspace structure:\n\n| File | Purpose | When to reference |\n|------|---------|-------------------|\n| `\u003Cworkspace>\u002FTOOLS.md` | Local tool notes | CLI wrappers storing user-specific config |\n| `\u003Cworkspace>\u002FMEMORY.md` | Long-term memory | Skills that contribute to memory |\n| `\u003Cworkspace>\u002Fmemory\u002F` | Daily logs | Skills that log activity |\n| `\u003Cworkspace>\u002FHEARTBEAT.md` | Periodic checks | Heartbeat-driven skills |\n| `\u003Cworkspace>\u002FUSER.md` | User context | Skills needing user info |\n\n**Principle:** Skills document *what* workspace files they touch and *why*.\n\n---\n\n## References\n\nPattern references for common skill types:\n\n- `patterns\u002Fcli-wrapper.md` — wrapping CLI tools\n- `patterns\u002Fapi-wrapper.md` — wrapping web APIs\n- `patterns\u002Fmonitor.md` — watching conditions and notifying\n","# Skillcraft - Clawdbot Skill Creator\n\nAn opinionated, AI-native design guide for Clawdbot skills. Focuses on **clawdbot-specific integration patterns** — message routing, cron scheduling, memory persistence, channel formatting — not generic programming advice.\n\n**Assumes:** The agent knows how to write code, structure projects, and handle errors. This skill teaches *clawdbot-specific* concerns.\n\n## Prerequisites\n\n**Load the `clawddocs` (or equivalent) skill first.** This skill relies on Clawdbot documentation for authoritative feature details. The clawddocs skill provides:\n\n- Documentation category navigation (see categories below)\n- Search scripts for finding specific docs\n- Config snippets for common patterns\n\n**Documentation categories** (via clawddocs):\n\n| Category | Path | Use for |\n| -------- | ---- | ------- |\n| Gateway & Config | `\u002Fgateway\u002F` | Configuration, security, health |\n| Tools | `\u002Ftools\u002F` | Skills, browser, bash, subagents |\n| Automation | `\u002Fautomation\u002F` | Cron jobs, webhooks, polling |\n| Concepts | `\u002Fconcepts\u002F` | Sessions, models, queues, streaming |\n| Providers | `\u002Fproviders\u002F` | Discord, Telegram, WhatsApp, etc. |\n\nWhen this skill says \"consult documentation,\" use clawddocs to fetch the relevant doc.\n\n## Core Philosophy\n\n**Skills are how Clawdbot extends itself.** They survive context limits, compose cleanly, and share via ClawdHub. \n\n**Most good skills start as scattered notes before anyone formalizes them.** This skill is a protocol for that formalization — turning \"remember to do X\" into something that composes and shares.\n\n---\n\n## The Design Sequence\n\nFollow these stages in order. Each produces artifacts that feed the next.\n\n**Two entry modes:**\n\n- **New skill:** Start at Stage 1\n- **Extracting existing functionality:** Start at Stage 0\n\n---\n\n### Stage 0: Inventory (Extraction Only)\n\n**Skip this stage if building a new skill from scratch.**\n\nUse this when functionality already exists but isn't packaged as a skill. Common sources:\n\n- Scripts in `\u003Cworkspace>\u002Fscripts\u002F` that aren't part of any skill\n- Instructions buried in TOOLS.md or AGENTS.md\n- Patterns repeated across conversations\n- \"Remember to do X\" notes that should be formalized\n\n**Gather the artifacts:**\n\nAsk:\n\n- **Where does it live?** (scripts, TOOLS.md section, memory notes, conversation patterns)\n- **What does it do?** (describe the capability)\n- **How is it currently triggered?** (manual request, heartbeat check, ad-hoc)\n- **What Clawdbot features does it use?** (exec, cron, message, memory, etc.)\n\nExample inventory:\n\n```\n- scripts\u002Fmail\u002Fcheck.py — fetches and processes emails\n- TOOLS.md ## Mail Rules — documents the mail command syntax  \n- HEARTBEAT.md — includes \"run mail heartbeat\" instruction\n- mail-rules.yaml — configuration file\n```\n\n**Assess current state:**\n\n- **What's working well?** (keep it)\n- **What's fragile or unclear?** (improve it)\n- **What's missing?** (add it)\n- **What's over-engineered?** (simplify it)\n\n**Output:** Inventory of existing artifacts with assessment notes. Then proceed to Stage 1.\n\n---\n\n### Stage 1: Problem Understanding\n\n**Goal:** Concrete clarity on what the skill does and when it's needed.\n\nWork through these questions with the user:\n\n1. **What does this skill do?** (one sentence)\n\n2. **When should this skill be loaded?**\n   - What would a user say? (3-5 example phrases)\n   - What mid-task needs might lead here? (e.g., \"need weather data\", \"need to send a message\")\n   - Any scheduled\u002Fperiodic triggers? (heartbeat, cron)\n\n3. **What does success look like?** For each example, what's the outcome?\n\n*If extracting:* Derive from actual usage, not just hypotheticals. It's ok to generalise the problem if that's what the user wants.\n\n**Output:** Problem statement with trigger examples and success criteria.\n\n---\n\n### Stage 2: Capability Discovery\n\n**Goal:** Understand what the skill needs to work with.\n\n#### Generalisability\n\nAsk the user: **Is this skill for your setup specifically, or should it work for any Clawdbot instance?**\n\n| Choice | Implications |\n|--------|--------------|\n| **Universal** | Generic paths (`\u003Cworkspace>\u002F`), no assumptions about installed tools, minimal references to user-specific config, suitable for ClawdHub |\n| **Particular** | Can reference specific local paths, skills, tools, TOOLS.md entries; tailored to user's workflow |\n\nThis affects many downstream decisions. Capture it early.\n\n*If extracting:* Also decide what stays in workspace (user config, state) vs. what moves to skill (scripts, instructions, references).\n\n#### Skill Synergy Search (Particular Only)\n\n**Skip this section if building a Universal skill.**\n\nWhen building for a particular setup, leverage existing workspace capabilities:\n\n1. **Scan available skills** — review the skill descriptions in `\u003Cavailable_skills>` from your system prompt\n2. **Identify promising synergies** — look for skills that:\n   - Provide data sources this skill could consume (e.g., calendar, contacts, location)\n   - Offer complementary capabilities (e.g., notification, storage, presentation)\n   - Handle adjacent domains that might integrate naturally\n3. **Deep-read promising skills** — for each skill with apparent synergy, read its SKILL.md to understand:\n   - Exact capabilities and invocation patterns\n   - Output formats that could be consumed\n   - State or configuration that might be shared\n   - Opportunities for composition or delegation\n\nPrioritise skills which have their dependencies fulfilled and are in active use.\n\n**Example:** Building a \"daily briefing\" skill? Scan for: calendar skills (event data), weather skills (forecast), mail skills (unread count), location skills (context-aware content). Read each to understand how to compose them.\n\n**Output from this step:** List of synergistic skills with brief notes on how each might integrate.\n\n#### External Dependencies\n\n- Does it wrap a CLI tool? Which one? Is it installed? What's the basic usage pattern?\n- Does it wrap a web API? What's the base URL? Auth mechanism? Rate limits?\n- Does it process local files? What formats? What transformations?\n\n#### Clawdbot Features\n\nClawdbot has powerful built-in features with deep semantics and rich configurability. They can be combined in unexpected ways to solve user problems.\n\n**Conduct a creatively-minded review of the documentation** with the skill's needs in mind. Use **clawddocs** to explore — start with `\u002Fconcepts\u002F` and `\u002Ftools\u002F` categories. Think like a meta-programmer: Clawdbot's features are primitives that compose. A skill might combine cron scheduling with canvas presentation and node camera access in ways no single feature anticipates. If a solution would require a configuration change, check `\u002Fgateway\u002Fconfiguration` and suggest it to the user.\n\n**Documentation categories to explore:**\n\n| Need | Doc Category | Tools\u002FFeatures |\n|------|--------------|----------------|\n| Send messages | `\u002Fconcepts\u002Fmessages` | `message` tool |\n| Scheduled tasks | `\u002Fautomation\u002Fcron-jobs` | `cron` tool |\n| Persistent memory | `\u002Fconcepts\u002F` | Memory system, state files |\n| Background work | `\u002Ftools\u002Fsubagents` | `sessions_spawn` |\n| Device interaction | `\u002Fnodes\u002F` | `nodes` tool (camera, screen, location) |\n| UI presentation | `\u002Ftools\u002F` | `canvas` tool |\n| Web browsing | `\u002Ftools\u002Fbrowser` | `browser` tool |\n| Web research | `\u002Ftools\u002F` | `web_search`, `web_fetch` |\n| Image analysis | `\u002Ftools\u002F` | `image` tool |\n\n**Verify feature usage against documentation.** Don't assume — features evolve and have nuances. Use clawddocs to check:\n\n- Tool parameters and capabilities (fetch the relevant `\u002Ftools\u002F` doc)\n- Channel-specific constraints (check `\u002Fproviders\u002F` for the target channel)\n- Configuration requirements and defaults (`\u002Fgateway\u002Fconfiguration`)\n- Known gotchas or limitations\n\n**Output:** Capability map listing external deps, Clawdbot features to use, and generalisability choice.\n\n---\n\n### Stage 3: Architecture\n\n**Goal:** Identify applicable design patterns and propose initial architecture.\n\nBased on Stages 1-2, identify which patterns apply. Load relevant pattern references:\n\n| If the skill... | Load pattern |\n|-----------------|--------------|\n| Wraps a CLI tool | `patterns\u002Fcli-wrapper.md` |\n| Wraps a web API | `patterns\u002Fapi-wrapper.md` |\n| Monitors and notifies | `patterns\u002Fmonitor.md` |\n\nSkills often combine multiple patterns. Load all that apply and synthesize.\n\n#### Script vs. Agent Instructions\n\nA critical design juncture: how should executable scripts be combined with agent instructions in SKILL.md?\n\n**Use scripts when:**\n\n- The operation is deterministic and repeatable\n- Complex logic that's error-prone to re-derive each time\n- Performance matters (script runs faster than AI reasoning)\n- External tool interaction with specific syntax\n- State management with precise file formats\n\n**Use agent instructions when:**\n\n- Judgment is required (interpreting results, choosing approaches)\n- The task varies based on context\n- Natural language interaction is primary\n- Flexibility matters more than consistency\n- The \"how\" depends on \"what\" (can't be predetermined)\n\nThe split: scripts handle the *mechanics*, instructions handle the *judgment*.\n\n#### Example: Context Briefing Skill\n\nA skill that prepares briefings before meetings. This illustrates the full agent→script→agent flow.\n\n**User message:**\n> \"Brief me on Acme Corp before my 2pm call\"\n\n**Phase 1: Agent parses and routes (SKILL.md instructions)**\n\n```markdown\n## Handling Briefing Requests\n\nWhen user requests a briefing:\n1. Extract the **subject** (company, person, project, topic)\n2. Extract **context** if provided (meeting, call, presentation, general)\n3. Check calendar for related upcoming events\n4. Run the appropriate gather script based on subject type:\n   - Company\u002Forg → `scripts\u002Fgather.py --type company --name \"...\"`\n   - Person → `scripts\u002Fgather.py --type person --name \"...\"`\n   - Project → `scripts\u002Fgather.py --type project --name \"...\"`\n5. Analyze results and compose briefing (see Phase 3)\n```\n\nThe agent interprets \"Acme Corp\" as a company, \"2pm call\" as meeting context. It checks calendar, finds \"Call with Acme Corp re: Q2 partnership\" at 2pm.\n\n**Phase 2: Script fetches external data**\n\n```bash\nscripts\u002Fgather.py --type company --name \"Acme Corp\" --context meeting\n```\n\n```python\n# scripts\u002Fgather.py - deterministic data gathering\ndef gather_company(name: str, context: str) -> dict:\n    return {\n        \"emails\": search_emails(f\"from:{domain} OR to:{domain}\", days=30),\n        \"calendar\": get_related_events(name, days=14),\n        \"web\": search_web(f\"{name} news\", recent=True),\n        \"contacts\": find_contacts(name),\n        \"history\": load_prior_briefings(name)  # from state\n    }\n    # Output: structured JSON with all gathered data\n```\n\n**Phase 3: Agent synthesizes and acts (SKILL.md instructions)**\n\n```markdown\n## Composing the Briefing\n\nWith gathered data, synthesize: key context, recent activity, news, relationship history, suggested talking points, and warnings.\n\nIf meeting is \u003C1 hour away, send immediately. If >1 hour, offer to set a reminder.\n\nAfter delivery: log to `\u003Cworkspace>\u002Fmemory\u002F`, update `\u003Cskill>\u002Fstate.json`.\n```\n\nThe agent composes a briefing from the structured data, using judgment to prioritize and frame.\n\nIf user confirms reminder → **dynamically select the appropriate reminder system**. The skill doesn't hardcode \"use Apple Reminders\" — it checks what's available (Apple Reminders skill? Google Calendar? cron-based?) and routes accordingly. This is agent judgment, not script logic.\n\n---\n\n#### Composable Pattern Examples\n\nSkills often combine multiple Clawdbot primitives in non-obvious ways. See **[patterns\u002Fcomposable-examples.md](patterns\u002Fcomposable-examples.md)** for 7 detailed examples:\n\n1. Visual Monitoring Pipeline (nodes + image + canvas + message)\n2. Parallel Research Aggregator (sessions_spawn + web_search + browser)\n3. Location-Aware Context Switcher (nodes + cron + memory)\n4. Cross-Channel Thread Tracker (message + memory_search + sessions_send)\n5. Scheduled Report Generator (cron + exec + browser + canvas)\n6. Interactive Approval Workflow (message + cron + memory + gateway)\n7. Adaptive Learning Loop (image + memory + cron)\n\n**Output:** Selection of Clawdbot system features with rationale (if any), initial architecture sketch.\n\n\n### Stage 4: Design Specification\n\n**Goal:** User-reviewed specification ready for implementation.\n\n#### State Requirements\n\n- **Stateless:** Pure function of inputs, no memory needed\n- **Session-stateful:** Remembers within a conversation (use context)\n- **Persistent-stateful:** Survives restarts (needs file-based state)\n\nIf persistent state is needed, where should it live?\n\n- `\u003Cworkspace>\u002Fmemory\u002F` — for context that's part of the user's memory\n- `\u003Cskill>\u002Fstate.json` — for skill-internal state (lives with the skill)\n- `\u003Cworkspace>\u002Fstate\u002F\u003Cskill>.json` — for skill-internal state (common workspace area)\n- `\u003Cworkspace>\u002FTOOLS.md` — for user-specific configuration notes\n\nBy default, skills shouldn't write state outside the workspace. `~\u002F.clawdbot\u002F` and other system-level config directories are not suitable for state storage.\n\n#### User Preferences & Environment\n\nAsk about the user's existing setup:\n\n- **Scripting language preference?** (Python, Bash, etc.)\n- **Coding style preferences?** (types, functional idioms, etc.)\n- **Existing shared environment?** (venv, uv, conda that scripts should use)\n\nCheck USER.md and TOOLS.md for documented coding preferences.\n\n#### Secret Handling\n\nIf the skill needs API keys or credentials:\n\n1. **Ask how the user handles secrets** — they may have existing patterns\n2. **Default to environment variables** — `SERVICENAME_API_KEY`\n3. **Document the requirement** — in SKILL.md setup section\n4. **Never hard-code secrets** — not in scripts, not in skill files\n\nCommon patterns:\n\n- Environment variables (most portable)\n- macOS Keychain via `security` command\n- Config file in `~\u002F.config\u002Fskillname\u002F` (gitignored)\n- 1Password CLI (`op read`)\n\n#### Proposed Architecture\n\nPresent the proposed architecture:\n\n1. **Skill structure** — files and directories\n2. **SKILL.md outline** — sections and key content\n3. **Software** — high level requirements for each software component (script, module, wrapper)\n4. **State management** — where and how state is persisted\n5. **Clawdbot integration points** — which features, how they interact\n\n*If extracting:* Include migration notes — what moves where, what workspace files need updating.\n\n**The specification is a review checkpoint.** Its purpose is letting the user verify:\n\n- Assumptions about Clawdbot integration are correct\n- The design fits their existing workflow\n- No conflicts with existing workspace files or tools\n- Generalisability matches their intent\n\n**Validate against requirements:**\n\n- Does it handle all the examples from Stage 1?\n- Are Clawdbot features used correctly? (verify via clawddocs)\n- Is the state approach appropriate for the access pattern?\n- Are there edge cases or failure modes to handle?\n- Has the proposed architecture revealed any contradictions in the Stage 1 requirements?\n\n**Iterate** until the user is satisfied. This is where design problems surface cheaply.\n\n**Output:** Design specification including state approach, user preferences, secret handling, and skill structure.\n\n---\n\n### Stage 5: Implementation\n\n**Goal:** Working skill with all components.\n\n**Strong default: Same-session implementation.** Work through the spec with user review at each step. This keeps the user in the loop for integration decisions.\n\n**Coding-agent handoff is optional** and should be reserved for **complex software subcomponents only** — not entire skills. The SKILL.md and integration logic should stay in the main session where the user can review.\n\n#### Implementation Steps\n\nWork through in order, with user review at each checkpoint:\n\n1. **Create skill directory**\n2. **SKILL.md skeleton** — frontmatter + section headers\n   → *Review: is the structure right?*\n3. **Scripts** (if any) — get executable pieces working\n   → *Review: test each script*\n4. **SKILL.md body** — complete instructions\n5. **Test against Stage 1 examples**\n   → *Review: does it handle all examples?*\n\n*If extracting:*\n6. Update workspace files (remove migrated content, add skill references)\n7. Clean up old locations\n8. Verify skill works standalone\n\n#### Crafting the Skill Frontmatter\n\nThe SKILL.md frontmatter determines discoverability and provides structured metadata. The `description` field is critical — when the agent scans available skills, this determines whether the skill gets loaded.\n\nSee \u003Chttps:\u002F\u002Fdocs.clawd.bot\u002Ftools\u002Fskills> for Clawdbot-specific metadata documentation.\n\n**Frontmatter format:**\n\n```yaml\n---\nname: my-skill\ndescription: [description optimized for discovery]\nhomepage: https:\u002F\u002Fgithub.com\u002Fuser\u002Frepo  # optional\nmetadata: {\"clawdbot\": {\"emoji\": \"?\", \"requires\": {\"bins\": [\"tool\"], \"env\": [\"API_KEY\"]}, \"install\": [...]}}\n---\n```\n\n**Description field — write for keyword matching and context recognition:**\n\n- **What it does** — the core capability\n- **Keywords** — terms users might say that should trigger this skill\n- **Contexts** — situations where this skill applies\n- **Trigger phrases** — natural language patterns that indicate relevance\n\n**Example (good):**\n\n```yaml\ndescription: Download videos\u002Faudio from YouTube and other sites with interactive quality selection, learned preferences, and recent directory tracking. Use when user shares a video URL or asks to download video\u002Faudio.\n```\n\n**Example (too sparse):**\n\n```yaml\ndescription: YouTube downloader.\n```\n\n**Metadata field** (optional but recommended for publishable skills)\n\nRefer to the format specification at \u003Chttps:\u002F\u002Fdocs.clawd.bot\u002Ftools\u002Fskills>.\n\nSimple example:\n\n```json\n{\n  \"clawdbot\": {\n    \"emoji\": \"?\",\n    \"requires\": {\n      \"bins\": [\"goplaces\"],\n      \"env\": [\"GOOGLE_PLACES_API_KEY\"]\n    },\n    \"primaryEnv\": \"GOOGLE_PLACES_API_KEY\",\n    \"install\": [\n      {\n        \"id\": \"brew\",\n        \"kind\": \"brew\",\n        \"formula\": \"steipete\u002Ftap\u002Fgoplaces\",\n        \"bins\": [\"goplaces\"],\n        \"label\": \"Install goplaces (brew)\"\n      }\n    ]\n  }\n}\n```\n\n**Test the description:** Would the agent select this skill if the user said each of your Stage 1 example phrases? If not, add the missing keywords.\n\n**Output:** Complete skill directory ready for use.\n\n---\n\n## Path Conventions\n\nSkills must handle paths carefully, especially for portability and multi-agent contexts.\n\n### Notation\n\n| Prefix | Meaning | Example |\n|--------|---------|---------|\n| `\u003Cworkspace>\u002F` | Agent's workspace root | `\u003Cworkspace>\u002FTOOLS.md` |\n| `\u003Cskill>\u002F` | This skill's directory | `\u003Cskill>\u002Fscripts\u002Fcheck.py` |\n| (no prefix) | Skill-relative path | `scripts\u002Fhelper.sh` |\n\n**Rules:**\n\n- **Workspace files:** Always use `\u003Cworkspace>\u002F` prefix\n- **Skill components:** Relative paths OK (refers to skill directory)\n- **Never hardcode** `~\u002Fclawd` or similar — workspaces are portable\n- **State files:** Use `\u003Cworkspace>\u002F` paths, not `~\u002F.clawdbot\u002F` (skills don't own user home)\n\n### Sub-Agent Considerations\n\nSub-agents via `sessions_spawn` may run in sandboxed containers with different mount points. Use **clawddocs** to check `\u002Ftools\u002Fsubagents` for current sandbox configuration and path translation requirements. When spawning sub-agents that need workspace files, include path context in the task description.\n\n## Workspace Awareness\n\nSkills may interact with workspace structure:\n\n| File | Purpose | When to reference |\n|------|---------|-------------------|\n| `\u003Cworkspace>\u002FTOOLS.md` | Local tool notes | CLI wrappers storing user-specific config |\n| `\u003Cworkspace>\u002FMEMORY.md` | Long-term memory | Skills that contribute to memory |\n| `\u003Cworkspace>\u002Fmemory\u002F` | Daily logs | Skills that log activity |\n| `\u003Cworkspace>\u002FHEARTBEAT.md` | Periodic checks | Heartbeat-driven skills |\n| `\u003Cworkspace>\u002FUSER.md` | User context | Skills needing user info |\n\n**Principle:** Skills document *what* workspace files they touch and *why*.\n\n---\n\n## References\n\nPattern references for common skill types:\n\n- `patterns\u002Fcli-wrapper.md` — wrapping CLI tools\n- `patterns\u002Fapi-wrapper.md` — wrapping web APIs\n- `patterns\u002Fmonitor.md` — watching conditions and notifying\n",{"name":5,"metadata":50,"description":7},{"clawdbot":51},{"emoji":52},"?","main","f4cb2d49f7667e79ef7804f50396d5aaffdf1f56","人工智能与大型语言模型\u002Fskillcraft",1,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification","https:\u002F\u002Fgithub.com\u002FKernel8901","a little little little dobe in life but science geek","2026-04-05 16:43:56",{"source":8,"skillName":5,"commands":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add Kernel8901\u002Fai-agent-skills-classification --skill skillcraft",{"tool":67,"command":68},"bunx","bunx skills add Kernel8901\u002Fai-agent-skills-classification --skill skillcraft",{"tool":70,"command":71},"pnpm","pnpm dlx skills add Kernel8901\u002Fai-agent-skills-classification --skill skillcraft","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fskillcraft\u002FSKILL.md",true,[75,81,85,89,93],{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"_meta.json","REFERENCE","参考文档",448,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fskillcraft\u002F_meta.json",{"path":82,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":83,"sourceHtmlUrl":84},"patterns\u002Fapi-wrapper.md",3194,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fskillcraft\u002Fpatterns\u002Fapi-wrapper.md",{"path":86,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":87,"sourceHtmlUrl":88},"patterns\u002Fcli-wrapper.md",3414,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fskillcraft\u002Fpatterns\u002Fcli-wrapper.md",{"path":90,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":91,"sourceHtmlUrl":92},"patterns\u002Fcomposable-examples.md",6000,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fskillcraft\u002Fpatterns\u002Fcomposable-examples.md",{"path":94,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":95,"sourceHtmlUrl":96},"patterns\u002Fmonitor.md",2521,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fskillcraft\u002Fpatterns\u002Fmonitor.md",[98,121,153,164,174,203],{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":45},"01M6Q5R6WZ06RRB9RQTW54B34B","zyfai","Earn yield on any Ethereum wallet on Base, Arbitrum, and Plasma. Use when a user wants passive DeFi yield on their funds. Deploys a non-custodial subaccount (Safe) linked to their EOA, enables automated yield optimization, and lets them deposit\u002Fwithdraw anytime.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzyfai-sdk\u002FSKILL.md",[],[100,105,106,107,108,109,38,110,111,112,113,114,115,116,117,118,119,120],"safe","ethereum","defi","Optimization","user","Wallet","base","deposit","withdraw","yield","arbitrum","non-custodial","passive","defi yield","earn","yield optimization",{"skillNo":122,"name":123,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":135,"publishedAt":45},"01M6Q5R337B5JSNER4P4YS03TN","zerion-api","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api\u002FSKILL.md",[126,129,130],{"categoryNo":127,"categoryName":128,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":131,"categoryName":132,"taxonomyType":133,"taxonomyTypeDesc":134},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[136,137,138,139,140,141,142,107,143,110,144,145,146,147,148,149,150,151,152],"api","zerion api","zerion","MCP","mcp server","server","blockchain","transactions","crypto wallet","crypto","evm","solana","query","across","positions","token","prices",{"skillNo":154,"name":155,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":161,"publishedAt":45},"01M6Q5QZFYTDAZMZ27BN5VZXAR","zerion-api-skill","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-skill\u002FSKILL.md",[158,159,160],{"categoryNo":127,"categoryName":128,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":131,"categoryName":132,"taxonomyType":133,"taxonomyTypeDesc":134},[136,162,163,137,138,139,140,141,142,107,143,110,145,146,147,148,149,150,151,152],"api skill","zerion api skill",{"skillNo":165,"name":166,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":167,"categories":168,"keywords":172,"publishedAt":45},"01M6Q5QW17QW98RA3FE45E4RD8","zerion-api-mcp","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-mcp\u002FSKILL.md",[169,170,171],{"categoryNo":127,"categoryName":128,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":131,"categoryName":132,"taxonomyType":133,"taxonomyTypeDesc":134},[139,136,173,137,138,140,141,107,143,110,144,145,146,147,148,149,150,151,152],"zerion api mcp",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":178,"categories":179,"keywords":183,"publishedAt":45},"01M6Q5QQYZB7A501BDEQWKGSJT","yahoo-finance-forex","Fetches real-time FOREX news and market data from Yahoo Finance for major currency pairs (EUR\u002FUSD, GBP\u002FUSD, USD\u002FJPY, etc.). Analyzes sentiment and provides trading context.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fyahoo-finance-forex\u002FSKILL.md",[180],{"categoryNo":181,"categoryName":182,"taxonomyType":133,"taxonomyTypeDesc":134},"01JBSEEDCAT000000000000040","财务",[184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,27],"finance","yahoo finance","forex","yahoo","yahoo finance forex","github","https","sentiment","real-time","python3","install","Market","usd","news","time","currency","gbp","pip","market data",{"skillNo":204,"name":205,"nameZh":6,"description":206,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":207,"categories":208,"keywords":210,"publishedAt":45},"01M6Q5QM6VS84WZVM7BKXXPF32","yahoo-finance","This skill should be used when the user asks to \"get stock prices\", \"check stock quotes\", \"look up earnings\", \"get financial data\", \"find trending stocks\", or needs stock market data from Yahoo Finance.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fyahoo-finance-cli\u002FSKILL.md",[209],{"categoryNo":181,"categoryName":182,"taxonomyType":133,"taxonomyTypeDesc":134},[184,185,187,211,212,213,214,215,216,195,217,218,219,220,221,222,223,224,152,202],"cli","homebrew","find","check","brew","up","local","get","stock","link","trending","sf","quotes","ln"]