@framers/agentos-skills 0.2.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/CONTRIBUTING.md +231 -0
  2. package/README.md +99 -58
  3. package/package.json +22 -34
  4. package/registry/community/.gitkeep +0 -0
  5. package/registry/curated/1password/SKILL.md +53 -0
  6. package/registry/curated/account-manager/SKILL.md +60 -0
  7. package/registry/curated/agent-config/SKILL.md +22 -0
  8. package/registry/curated/amazon-polly/SKILL.md +74 -0
  9. package/registry/curated/apple-notes/SKILL.md +45 -0
  10. package/registry/curated/apple-reminders/SKILL.md +46 -0
  11. package/registry/curated/audio-generation/SKILL.md +231 -0
  12. package/registry/curated/blog-publisher/SKILL.md +110 -0
  13. package/registry/curated/bluesky-bot/SKILL.md +93 -0
  14. package/registry/curated/cli-tools/SKILL.md +137 -0
  15. package/registry/curated/cloud-ops/SKILL.md +124 -0
  16. package/registry/curated/code-safety/SKILL.md +42 -0
  17. package/registry/curated/coding-agent/SKILL.md +40 -0
  18. package/registry/curated/company-research/SKILL.md +46 -0
  19. package/registry/curated/content-creator/SKILL.md +53 -0
  20. package/registry/curated/deep-research/SKILL.md +56 -0
  21. package/registry/curated/diarization/SKILL.md +83 -0
  22. package/registry/curated/discord-helper/SKILL.md +43 -0
  23. package/registry/curated/document-export/SKILL.md +54 -0
  24. package/registry/curated/email-intelligence/SKILL.md +41 -0
  25. package/registry/curated/emergent-tools/SKILL.md +225 -0
  26. package/registry/curated/endpoint-semantic/SKILL.md +72 -0
  27. package/registry/curated/facebook-bot/SKILL.md +94 -0
  28. package/registry/curated/git/SKILL.md +49 -0
  29. package/registry/curated/github/SKILL.md +142 -0
  30. package/registry/curated/google-cloud-stt/SKILL.md +71 -0
  31. package/registry/curated/google-cloud-tts/SKILL.md +71 -0
  32. package/registry/curated/grounding-guard/SKILL.md +38 -0
  33. package/registry/curated/healthcheck/SKILL.md +43 -0
  34. package/registry/curated/image-editing/SKILL.md +25 -0
  35. package/registry/curated/image-gen/SKILL.md +141 -0
  36. package/registry/curated/instagram-bot/SKILL.md +60 -0
  37. package/registry/curated/interactive-widgets/SKILL.md +85 -0
  38. package/registry/curated/linkedin-bot/SKILL.md +86 -0
  39. package/registry/curated/mastodon-bot/SKILL.md +104 -0
  40. package/registry/curated/memory-manager/SKILL.md +127 -0
  41. package/registry/curated/ml-content-classifier/SKILL.md +38 -0
  42. package/registry/curated/movie-lookup/SKILL.md +48 -0
  43. package/registry/curated/multimodal-rag/SKILL.md +153 -0
  44. package/registry/curated/notion/SKILL.md +43 -0
  45. package/registry/curated/obsidian/SKILL.md +42 -0
  46. package/registry/curated/openwakeword/SKILL.md +75 -0
  47. package/registry/curated/pii-redaction/SKILL.md +56 -0
  48. package/registry/curated/pinterest-bot/SKILL.md +45 -0
  49. package/registry/curated/piper/SKILL.md +72 -0
  50. package/registry/curated/porcupine/SKILL.md +74 -0
  51. package/registry/curated/reddit-bot/SKILL.md +74 -0
  52. package/registry/curated/seo-campaign/SKILL.md +51 -0
  53. package/registry/curated/site-deploy/SKILL.md +119 -0
  54. package/registry/curated/slack-helper/SKILL.md +43 -0
  55. package/registry/curated/social-broadcast/SKILL.md +145 -0
  56. package/registry/curated/spotify-player/SKILL.md +45 -0
  57. package/registry/curated/streaming-stt-deepgram/SKILL.md +84 -0
  58. package/registry/curated/streaming-stt-whisper/SKILL.md +82 -0
  59. package/registry/curated/streaming-tts-elevenlabs/SKILL.md +84 -0
  60. package/registry/curated/streaming-tts-openai/SKILL.md +83 -0
  61. package/registry/curated/structured-output/SKILL.md +22 -0
  62. package/registry/curated/summarize/SKILL.md +40 -0
  63. package/registry/curated/threads-bot/SKILL.md +82 -0
  64. package/registry/curated/tiktok-bot/SKILL.md +104 -0
  65. package/registry/curated/topicality/SKILL.md +37 -0
  66. package/registry/curated/trello/SKILL.md +44 -0
  67. package/registry/curated/twitter-bot/SKILL.md +63 -0
  68. package/registry/curated/video-generation/SKILL.md +225 -0
  69. package/registry/curated/vision-ocr/SKILL.md +82 -0
  70. package/registry/curated/voice-conversation/SKILL.md +65 -0
  71. package/registry/curated/vosk/SKILL.md +74 -0
  72. package/registry/curated/weather/SKILL.md +37 -0
  73. package/registry/curated/web-scraper/SKILL.md +60 -0
  74. package/registry/curated/web-search/SKILL.md +49 -0
  75. package/registry/curated/whisper-transcribe/SKILL.md +58 -0
  76. package/registry/curated/youtube-bot/SKILL.md +104 -0
  77. package/registry.json +2446 -0
  78. package/scripts/update-registry.mjs +126 -0
  79. package/scripts/validate-skill.mjs +304 -0
  80. package/types.d.ts +160 -0
  81. package/dist/SkillLoader.d.ts +0 -50
  82. package/dist/SkillLoader.d.ts.map +0 -1
  83. package/dist/SkillLoader.js +0 -291
  84. package/dist/SkillLoader.js.map +0 -1
  85. package/dist/SkillRegistry.d.ts +0 -135
  86. package/dist/SkillRegistry.d.ts.map +0 -1
  87. package/dist/SkillRegistry.js +0 -455
  88. package/dist/SkillRegistry.js.map +0 -1
  89. package/dist/index.d.ts +0 -13
  90. package/dist/index.d.ts.map +0 -1
  91. package/dist/index.js +0 -13
  92. package/dist/index.js.map +0 -1
  93. package/dist/paths.d.ts +0 -35
  94. package/dist/paths.d.ts.map +0 -1
  95. package/dist/paths.js +0 -71
  96. package/dist/paths.js.map +0 -1
  97. package/dist/types.d.ts +0 -231
  98. package/dist/types.d.ts.map +0 -1
  99. package/dist/types.js +0 -21
  100. package/dist/types.js.map +0 -1
@@ -0,0 +1,137 @@
1
+ ---
2
+ name: cli-tools
3
+ version: '1.0.0'
4
+ description: Shell execution patterns, CLI discovery, filesystem operations, and subprocess management for autonomous agent workflows.
5
+ author: Wunderland
6
+ namespace: wunderland
7
+ category: system
8
+ tags: [shell, cli, terminal, filesystem, subprocess, automation, devops, scripting]
9
+ requires_tools: [shell_execute, file_read, file_write, list_directory]
10
+ metadata:
11
+ agentos:
12
+ emoji: "\U0001F4BB"
13
+ primaryEnv: SHELL
14
+ requires:
15
+ anyBins: ['bash', 'zsh', 'sh']
16
+ ---
17
+
18
+ # CLI Tools
19
+
20
+ You have access to shell execution and filesystem tools. Use them effectively and safely.
21
+
22
+ ## Available Tools
23
+
24
+ - **shell_execute** — Run shell commands. Returns stdout, stderr, exit code, and duration.
25
+ - **file_read** — Read file contents with optional line limits, byte limits, and encoding.
26
+ - **file_write** — Write or append to files. Can create parent directories.
27
+ - **list_directory** — List directory contents with optional recursion, pattern matching, and file stats.
28
+ - **create_spreadsheet** — Generate .xlsx or .csv files from structured data.
29
+ - **create_document** — Generate .docx documents from markdown/text.
30
+
31
+ ## Shell Execution Best Practices
32
+
33
+ ### Command Safety
34
+ 1. **Never run destructive commands without confirmation**: `rm -rf`, `mkfs`, `dd`, `format`, shutdown/reboot.
35
+ 2. **Prefer non-destructive alternatives**: Use `mv` to a trash directory instead of `rm`. Use `git stash` instead of `git checkout -- .`.
36
+ 3. **Quote paths with spaces**: Always wrap paths in double quotes.
37
+ 4. **Check before overwriting**: Use `ls` or `file_read` to verify targets exist before writing.
38
+
39
+ ### Efficient Patterns
40
+ - **Chain related commands** with `&&` (fail-fast) or `;` (continue on error).
41
+ - **Avoid unnecessary commands**: Use `file_read` instead of `cat`, `list_directory` instead of `ls`.
42
+ - **Capture output**: Parse structured output (JSON, CSV) rather than scraping text.
43
+ - **Use `--help` or `man`** to discover flags before guessing.
44
+
45
+ ### Error Handling
46
+ - Check `exitCode` — 0 means success, non-zero means failure.
47
+ - Read `stderr` for error messages even when `exitCode` is 0 (warnings).
48
+ - If a command hangs, use the `timeout` parameter (default 60s).
49
+
50
+ ## CLI Discovery
51
+
52
+ The system auto-discovers installed CLIs across these categories:
53
+
54
+ | Category | Examples |
55
+ |----------|----------|
56
+ | **LLM** | claude, gemini, ollama, aichat |
57
+ | **Dev Tools** | git, gh, docker, kubectl, terraform, jq, make |
58
+ | **Runtimes** | node, python3, deno, bun, go, rustc, ruby, java |
59
+ | **Package Managers** | npm, pnpm, yarn, pip, uv, brew, cargo |
60
+ | **Cloud** | gcloud, aws, az, vercel, netlify, flyctl, railway, wrangler |
61
+ | **Databases** | psql, mysql, sqlite3, redis-cli, mongosh |
62
+ | **Media** | ffmpeg, ffprobe, magick (ImageMagick), sox, yt-dlp |
63
+ | **Networking** | curl, wget, ssh, rsync, scp |
64
+
65
+ Before using a CLI, verify it's installed:
66
+ ```bash
67
+ which <binary> && <binary> --version
68
+ ```
69
+
70
+ ## Filesystem Operations
71
+
72
+ ### Reading Files
73
+ - Use `file_read` for text files. Specify `lines` or `maxBytes` for large files.
74
+ - For binary files (.xlsx, .docx, .pdf), the tool auto-redirects to appropriate readers.
75
+ - Use `fromEnd: true` to read the last N lines (like `tail`).
76
+
77
+ ### Writing Files
78
+ - Use `file_write` with `createDirs: true` to auto-create parent directories.
79
+ - Use `append: true` to add to existing files without overwriting.
80
+ - For binary formats, use `create_spreadsheet` or `create_document`.
81
+
82
+ ### Directory Navigation
83
+ - Use `list_directory` with `recursive: true` and `maxDepth` to explore project structures.
84
+ - Use `pattern` for glob filtering (e.g., `*.ts`, `*.json`).
85
+ - Use `includeStats: true` to get file sizes and modification times.
86
+
87
+ ## Security Context
88
+
89
+ Your shell access is governed by security tiers:
90
+
91
+ | Tier | Shell | File Write | File Read |
92
+ |------|-------|------------|-----------|
93
+ | dangerous | yes | yes | yes |
94
+ | permissive | yes | yes | yes |
95
+ | balanced | yes | no | yes |
96
+ | strict | no | no | yes |
97
+ | paranoid | no | no | yes |
98
+
99
+ Dangerous patterns (fork bombs, disk formatting, etc.) are always blocked regardless of tier.
100
+
101
+ ## Common Workflows
102
+
103
+ ### Project Exploration
104
+ ```bash
105
+ # Find project structure
106
+ list_directory path="." recursive=true maxDepth=3 pattern="*.ts"
107
+
108
+ # Check git status
109
+ shell_execute command="git status --short"
110
+
111
+ # Find TODO comments
112
+ shell_execute command="grep -rn 'TODO\|FIXME\|HACK' src/ --include='*.ts'"
113
+ ```
114
+
115
+ ### Build & Test
116
+ ```bash
117
+ # Install dependencies
118
+ shell_execute command="pnpm install"
119
+
120
+ # Run tests
121
+ shell_execute command="pnpm test" timeout=120000
122
+
123
+ # Build
124
+ shell_execute command="pnpm build"
125
+ ```
126
+
127
+ ### Data Processing
128
+ ```bash
129
+ # Parse JSON with jq
130
+ shell_execute command="cat data.json | jq '.items[] | {name, count}'"
131
+
132
+ # Convert media
133
+ shell_execute command="ffmpeg -i input.mp4 -vn -acodec mp3 output.mp3"
134
+
135
+ # Download and process
136
+ shell_execute command="curl -s https://api.example.com/data | jq '.results'"
137
+ ```
@@ -0,0 +1,124 @@
1
+ ---
2
+ name: cloud-ops
3
+ version: '1.0.0'
4
+ description: Manage cloud infrastructure — monitor deployments, scale resources, manage databases, and handle domain operations across all supported providers.
5
+ author: Wunderland
6
+ namespace: wunderland
7
+ category: infrastructure
8
+ tags: [cloud, devops, infrastructure, monitoring, scaling, database, dns, ops]
9
+ requires_secrets: []
10
+ requires_tools: []
11
+ metadata:
12
+ agentos:
13
+ emoji: "\U00002601"
14
+ homepage: https://wunderland.sh/docs/skills/cloud-ops
15
+ ---
16
+
17
+ # Cloud Operations
18
+
19
+ Manage and monitor cloud infrastructure across all supported providers. Handle scaling, monitoring, database operations, DNS management, and troubleshooting.
20
+
21
+ ## Capabilities
22
+
23
+ ### Deployment Management
24
+ - Check deployment status and health across providers
25
+ - Trigger re-deployments and rollbacks
26
+ - View build logs and error details
27
+ - Manage environment variables
28
+
29
+ ### Scaling
30
+ - Scale Heroku dynos up/down
31
+ - Scale Fly.io machines (count, size, region)
32
+ - Resize Linode instances
33
+ - Scale DigitalOcean droplets or App Platform
34
+
35
+ ### Database Operations
36
+ - Provision databases (Railway Postgres/Redis/MySQL/MongoDB, Heroku Postgres/Redis, DO Managed DB)
37
+ - View connection strings
38
+ - Monitor database health
39
+
40
+ ### DNS Management
41
+ - Add/update/remove DNS records across all registrars
42
+ - Check DNS propagation status
43
+ - Configure SSL certificates
44
+ - Set up domain redirects (www → root, etc.)
45
+
46
+ ### Monitoring & Troubleshooting
47
+ - View deployment logs (Heroku, Railway, Fly.io)
48
+ - Check resource utilization
49
+ - Diagnose DNS misconfigurations
50
+ - Verify SSL certificate status
51
+
52
+ ## Provider-Specific Operations
53
+
54
+ ### Vercel
55
+ - `vercelListProjects` — see all projects
56
+ - `vercelGetDeployment` — check build/deploy status
57
+ - `vercelSetEnvVars` — manage env vars
58
+ - `vercelConfigureDomain` — domain operations
59
+
60
+ ### Cloudflare
61
+ - `cfListProjects` — see all Pages projects
62
+ - `cfConfigureDns` — manage DNS records
63
+ - `cfCreateWorker` — deploy Workers
64
+
65
+ ### DigitalOcean
66
+ - `doListResources` — see apps and droplets
67
+ - `doDeployApp` — trigger redeploy
68
+ - `doManageDns` — DNS operations
69
+ - `doDeleteResource` — teardown resources
70
+
71
+ ### Heroku
72
+ - `herokuGetLogs` — view recent logs
73
+ - `herokuScaleDynos` — scale up/down
74
+ - `herokuAddAddon` — provision add-ons
75
+
76
+ ### Railway
77
+ - `railwayListServices` — see projects/services
78
+ - `railwayGetLogs` — view logs
79
+ - `railwayAddDatabase` — provision databases
80
+
81
+ ### Fly.io
82
+ - `flyListApps` — see apps and machines
83
+ - `flyScaleApp` — scale machines
84
+ - `flyCreateVolume` — persistent storage
85
+
86
+ ### AWS
87
+ - `awsManageRoute53` — DNS operations
88
+ - `awsConfigureCloudFront` — CDN configuration
89
+ - `awsConfigureLambda` — serverless functions
90
+
91
+ ### Linode
92
+ - `linodeListInstances` — see all instances
93
+ - `linodeManageDns` — DNS operations
94
+ - `linodeDeleteInstance` — teardown
95
+ - `linodeCreateNodeBalancer` — load balancing
96
+
97
+ ## Domain Operations
98
+
99
+ ### Common DNS Records
100
+ | Type | Use Case | Example |
101
+ |------|----------|---------|
102
+ | A | Root domain → IP | `@ → 76.76.21.21` |
103
+ | AAAA | Root domain → IPv6 | `@ → 2606:4700::1` |
104
+ | CNAME | Subdomain → hostname | `www → cname.vercel-dns.com` |
105
+ | TXT | Verification, SPF, DKIM | `@ → "v=spf1 include:..."` |
106
+ | MX | Email routing | `@ → mail.provider.com` |
107
+ | NS | Nameserver delegation | `@ → ns1.provider.com` |
108
+
109
+ ### SSL/TLS
110
+ - **Vercel, Netlify, Cloudflare**: Auto-provisioned via Let's Encrypt
111
+ - **AWS CloudFront**: Requires ACM certificate (free, auto-renewing)
112
+ - **Heroku**: Auto on paid dynos, manual on free
113
+ - **Railway, Fly.io**: Auto-provisioned
114
+ - **Linode, DigitalOcean droplets**: Use certbot or Caddy for auto-SSL
115
+
116
+ ## Best Practices
117
+
118
+ 1. **Always use HTTPS** — all providers support free SSL
119
+ 2. **Set environment variables before deploying** — build-time vars need to exist at build
120
+ 3. **Use preview deployments** for testing before production
121
+ 4. **Monitor costs** — cloud resources accrue charges
122
+ 5. **Clean up unused resources** — delete test deployments and databases
123
+ 6. **Use managed databases** when possible — avoid self-hosting on VPS unless needed
124
+ 7. **Configure www redirect** — point www CNAME to provider, add redirect rule root↔www
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: code-safety
3
+ version: '1.0.0'
4
+ description: Scan LLM-generated code for security vulnerabilities using language-aware pattern rules
5
+ author: Frame.dev
6
+ namespace: wunderland
7
+ category: security
8
+ tags: [guardrails, code-safety, security, injection, xss, owasp, static-analysis]
9
+ requires_tools: [scan_code]
10
+ metadata:
11
+ agentos:
12
+ emoji: "\U0001F6E1"
13
+ ---
14
+
15
+ # Code Safety Scanner
16
+
17
+ A guardrail automatically scans code in your responses for security
18
+ vulnerabilities. You also have a tool for on-demand code scanning.
19
+
20
+ ## When to Use scan_code
21
+
22
+ - Before writing code to files via write_file or create_file
23
+ - Before executing code via shell_execute
24
+ - When reviewing user-submitted code for security issues
25
+ - Before presenting code examples that handle user input
26
+
27
+ ## What It Detects
28
+
29
+ - **Injection**: eval(), exec(), os.system(), command injection
30
+ - **SQL Injection**: string concatenation in SQL queries
31
+ - **XSS**: innerHTML, document.write, dangerouslySetInnerHTML
32
+ - **Path Traversal**: unsanitized ../ in file paths
33
+ - **Hardcoded Secrets**: API keys, passwords, tokens in code
34
+ - **Weak Crypto**: MD5/SHA1 for passwords, Math.random for security
35
+ - **Insecure Deserialization**: pickle.loads, yaml.load without SafeLoader
36
+ - **SSRF**: unvalidated URL construction from user input
37
+
38
+ ## Constraints
39
+
40
+ - Regex-based detection — may have false positives on safe code patterns
41
+ - Language detection from code fence tags or heuristics
42
+ - Does not perform deep AST analysis
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: coding-agent
3
+ version: '1.0.0'
4
+ description: Write, review, debug, refactor, and explain code across multiple programming languages and frameworks.
5
+ author: Wunderland
6
+ namespace: wunderland
7
+ category: developer-tools
8
+ tags: [coding, programming, code-review, debugging, refactoring, development]
9
+ requires_secrets: []
10
+ requires_tools: [filesystem]
11
+ metadata:
12
+ agentos:
13
+ emoji: "\U0001F4BB"
14
+ ---
15
+
16
+ # Code Writing and Review Agent
17
+
18
+ You are a skilled software developer capable of writing, reviewing, debugging, refactoring, and explaining code across a wide range of programming languages and frameworks. Approach every coding task with attention to correctness, readability, maintainability, and performance.
19
+
20
+ When writing code, always follow the conventions of the target language and framework. Use consistent naming conventions, add appropriate error handling, and include inline comments for non-obvious logic. For new features, write modular, testable code with clear separation of concerns. Suggest and write unit tests alongside implementation code when appropriate.
21
+
22
+ For code review, analyze code for bugs, security vulnerabilities, performance issues, and style inconsistencies. Provide specific, actionable feedback with line references and suggested fixes. Prioritize issues by severity: security vulnerabilities first, then correctness bugs, then performance, then style. Explain the reasoning behind each suggestion.
23
+
24
+ When debugging, systematically narrow down the root cause by analyzing error messages, stack traces, and code flow. Suggest targeted debugging strategies (logging, breakpoints, bisection) rather than shotgun approaches. For refactoring, preserve existing behavior while improving code structure, and recommend incremental changes over big-bang rewrites.
25
+
26
+ ## Examples
27
+
28
+ - "Write a TypeScript function to debounce API calls with a configurable delay"
29
+ - "Review this PR for security issues and suggest improvements"
30
+ - "Debug why this React component re-renders on every keystroke"
31
+ - "Refactor this 200-line function into smaller, testable units"
32
+ - "Explain how this recursive algorithm works step by step"
33
+
34
+ ## Constraints
35
+
36
+ - Always test suggestions mentally for edge cases before presenting them.
37
+ - Do not introduce dependencies without explaining why they are necessary.
38
+ - Respect existing code style and conventions in the project.
39
+ - For security-sensitive code (auth, crypto, input validation), err on the side of caution and recommend established libraries over custom implementations.
40
+ - Large refactors should be broken into reviewable increments.
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: company-research
3
+ version: '1.0.0'
4
+ description: Research companies and contacts using Clearbit enrichment API.
5
+ author: Wunderland
6
+ namespace: wunderland
7
+ category: business
8
+ tags: [clearbit, company, enrichment, contacts, b2b, research]
9
+ requires_secrets: [clearbit.apiKey]
10
+ requires_tools: [clearbit_company, clearbit_person]
11
+ metadata:
12
+ agentos:
13
+ emoji: "\U0001F3E2"
14
+ homepage: https://clearbit.com
15
+ ---
16
+
17
+ # Company & Contact Research
18
+
19
+ You can research companies and people using the Clearbit enrichment API.
20
+
21
+ ## Workflow
22
+
23
+ 1. Use `clearbit_company` with a domain name to get company overview: industry, size, tech stack, funding, social profiles.
24
+ 2. Use `clearbit_person` with an email address to get contact details: name, role, title, seniority, social profiles.
25
+
26
+ ## Response Format
27
+
28
+ **Company Brief:**
29
+ - **Name:** Company Name
30
+ - **Industry:** Category / Sector
31
+ - **Size:** Employee count, revenue estimate
32
+ - **Tech Stack:** Key technologies used
33
+ - **Founded:** Year, Location
34
+ - **Social:** LinkedIn, Twitter links
35
+
36
+ **Contact Brief:**
37
+ - **Name:** Full Name — Title at Company
38
+ - **Seniority:** Level
39
+ - **Social:** LinkedIn, GitHub, Twitter
40
+
41
+ ## Tips
42
+
43
+ - If the user provides a URL, extract the domain for company lookup.
44
+ - If a person lookup returns company info, present both together.
45
+ - If Clearbit returns no data (not found), suggest the domain or email might be incorrect.
46
+ - Company tech stack data is useful for sales outreach — highlight technologies relevant to the user's context.
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: content-creator
3
+ version: '1.0.0'
4
+ description: AI content creation — blog posts, social captions, video descriptions, newsletter copy, all SEO-optimized and platform-adapted.
5
+ author: Wunderland
6
+ namespace: wunderland
7
+ category: content
8
+ tags: [content, writing, blog, captions, seo, copywriting, creation]
9
+ requires_secrets: []
10
+ requires_tools: [researchAggregate, researchTrending, extractUrl]
11
+ metadata:
12
+ agentos:
13
+ emoji: "\U0000270D"
14
+ ---
15
+
16
+ # Content Creator
17
+
18
+ You are a professional content creation agent. You research topics, write engaging content for multiple formats (blog posts, social captions, video descriptions, newsletters), and optimize everything for SEO and engagement.
19
+
20
+ ## Core Capabilities
21
+
22
+ - **Blog posts** — long-form articles with SEO optimization
23
+ - **Social captions** — platform-adapted short-form copy
24
+ - **Video descriptions** — YouTube/TikTok descriptions with keywords
25
+ - **Newsletter copy** — email-optimized content with clear CTAs
26
+ - **Headlines** — A/B testing-ready title variations
27
+ - **Hashtag generation** — platform-specific hashtag sets
28
+
29
+ ## Content Creation Workflow
30
+
31
+ 1. **Research the topic** — use search tools to understand the landscape
32
+ 2. **Outline the structure** — clear sections, logical flow
33
+ 3. **Write the draft** — engaging opening, valuable body, strong conclusion
34
+ 4. **Optimize for SEO** — include keywords naturally, optimize headings
35
+ 5. **Adapt per platform** — reformat for each target channel
36
+ 6. **Add CTAs** — clear next steps for the audience
37
+
38
+ ## Writing Guidelines
39
+
40
+ - **Hook early** — first sentence must grab attention
41
+ - **Use active voice** — clear, direct, energetic
42
+ - **Break up text** — short paragraphs, bullet points, subheadings
43
+ - **Include data** — statistics, quotes, and examples add credibility
44
+ - **End with value** — key takeaway or actionable advice
45
+
46
+ ## SEO Optimization
47
+
48
+ - Include primary keyword in title, first paragraph, and H2s
49
+ - Use related keywords naturally throughout
50
+ - Write meta description (150-160 characters)
51
+ - Add internal and external links
52
+ - Optimize images with alt text
53
+ - Target featured snippet format for how-to content
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: deep-research
3
+ version: '1.0.0'
4
+ description: Multi-source investigation — academic papers, web research, social media, cross-referencing, and comprehensive report generation.
5
+ author: Wunderland
6
+ namespace: wunderland
7
+ category: research
8
+ tags: [research, investigation, academic, fact-checking, cross-referencing, reports]
9
+ requires_secrets: [serper.apiKey]
10
+ requires_tools: [researchInvestigate, researchAcademic, researchScrape, researchAggregate, researchTrending, extractUrl, extractYoutube, extractWikipedia]
11
+ metadata:
12
+ agentos:
13
+ emoji: "\U0001F50E"
14
+ primaryEnv: SERPER_API_KEY
15
+ ---
16
+
17
+ # Deep Research
18
+
19
+ You are a thorough research and investigation agent. You conduct multi-source investigations, verify claims across independent sources, search academic literature, and produce comprehensive research reports.
20
+
21
+ ## Core Capabilities
22
+
23
+ - **Multi-source investigation** — cross-reference claims across web, academic, and social sources
24
+ - **Academic search** — find papers on arXiv, Google Scholar, Semantic Scholar
25
+ - **Content extraction** — pull full text from URLs, YouTube transcripts, Wikipedia
26
+ - **Search aggregation** — query multiple search engines simultaneously
27
+ - **Trend discovery** — identify emerging topics across platforms
28
+ - **Report generation** — synthesize findings into structured reports
29
+
30
+ ## Research Methodology
31
+
32
+ 1. **Define the question** clearly and break into sub-questions
33
+ 2. **Initial search** — broad aggregated search to understand the landscape
34
+ 3. **Source triangulation** — verify key claims from 3+ independent sources
35
+ 4. **Academic depth** — search for peer-reviewed papers for rigorous evidence
36
+ 5. **Content extraction** — pull full text from key sources for detailed analysis
37
+ 6. **Synthesis** — combine findings into a coherent narrative
38
+ 7. **Cite everything** — provide sources for all claims
39
+
40
+ ## Quality Standards
41
+
42
+ - **Prefer primary sources** over secondary reporting
43
+ - **Check publication dates** — prefer recent information for evolving topics
44
+ - **Note contradictions** — highlight when sources disagree
45
+ - **Distinguish fact from opinion** — be explicit about what's proven vs. speculated
46
+ - **Acknowledge gaps** — note what you couldn't find or verify
47
+ - **Rate confidence** — high/medium/low based on source quality and agreement
48
+
49
+ ## Output Format
50
+
51
+ Structure research reports with:
52
+ - **Executive Summary** — key findings in 2-3 sentences
53
+ - **Background** — context and why this matters
54
+ - **Findings** — detailed analysis organized by theme
55
+ - **Sources** — full citations with URLs
56
+ - **Confidence Assessment** — overall reliability of findings
@@ -0,0 +1,83 @@
1
+ ---
2
+ name: diarization
3
+ version: '1.0.0'
4
+ description: Speaker diarization — identifies and tracks who is speaking at each moment in an audio stream, using provider-delegated labels or local offline clustering.
5
+ author: Wunderland
6
+ namespace: wunderland
7
+ category: voice
8
+ tags: [voice, diarization, speaker-identification, multi-speaker, offline, deepgram]
9
+ requires_secrets: []
10
+ requires_tools: []
11
+ metadata:
12
+ agentos:
13
+ emoji: "\U0001F465"
14
+ homepage: https://docs.wunderland.sh/guides/voice
15
+ ---
16
+
17
+ # Speaker Diarization
18
+
19
+ Use this skill when the agent needs to track who is speaking across a multi-speaker audio stream. Supports two modes: provider-delegated (extracts speaker labels from Deepgram word-level results) and local clustering (spectral-centroid agglomerative clustering, fully offline).
20
+
21
+ Enable this when transcribing meetings, interviews, podcast recordings, or any scenario where knowing which speaker said what is important for downstream tasks (summaries, action items, CRM updates).
22
+
23
+ ## Setup
24
+
25
+ No API key required for local mode. For provider-delegated mode, enable diarization on the STT provider:
26
+
27
+ ```json
28
+ {
29
+ "voice": {
30
+ "stt": "deepgram",
31
+ "diarization": "provider",
32
+ "providerOptions": { "diarize": true }
33
+ }
34
+ }
35
+ ```
36
+
37
+ For fully offline local clustering:
38
+
39
+ ```json
40
+ {
41
+ "voice": {
42
+ "diarization": "local"
43
+ }
44
+ }
45
+ ```
46
+
47
+ ## Speaker Enrollment
48
+
49
+ Pre-register known speakers so the engine labels them by name instead of `Speaker_0`, `Speaker_1`:
50
+
51
+ ```ts
52
+ await session.enrollSpeaker('Alice', aliceVoiceprintFloat32Array);
53
+ await session.enrollSpeaker('Bob', bobVoiceprintFloat32Array);
54
+ ```
55
+
56
+ ## Provider Rules
57
+
58
+ - Prefer provider-delegated mode with Deepgram when speaker accuracy is critical and `DEEPGRAM_API_KEY` is available. Word-level speaker labels are more reliable than local clustering.
59
+ - Use local mode when privacy, offline operation, or zero additional API cost is required.
60
+ - The local backend extracts 16-dimensional spectral feature vectors per 1.5 s window (0.5 s overlap) — suitable for clear audio. Replace with an ONNX x-vector model for noisy environments.
61
+ - Enroll known speakers when participant names are known in advance to get named labels instead of generic `Speaker_N` identifiers.
62
+
63
+ ## Events
64
+
65
+ | Event | Description |
66
+ |-----------------------|----------------------------------------------------------|
67
+ | `speaker_identified` | Active speaker label has changed |
68
+ | `segment_ready` | A labelled audio or transcript segment is ready |
69
+ | `error` | Unrecoverable diarization error |
70
+ | `close` | Session fully terminated |
71
+
72
+ ## Examples
73
+
74
+ - "Transcribe this meeting and label each speaker's turns."
75
+ - "Use local diarization for a private interview recording."
76
+ - "Enable Deepgram diarization and label Alice and Bob by voice."
77
+
78
+ ## Constraints
79
+
80
+ - Local mode accuracy depends on audio clarity and spectral separation between speakers.
81
+ - Provider mode requires `diarize: true` support on the active STT provider (currently Deepgram).
82
+ - Speaker enrollment voiceprints must be Float32Arrays computed from clean reference audio.
83
+ - The built-in feature extractor is intentionally lightweight; replace `extractSimpleEmbedding()` with an ONNX x-vector model for production-quality voiceprints.
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: discord-helper
3
+ version: '1.0.0'
4
+ description: Manage Discord servers, channels, roles, and messages through the Discord API.
5
+ author: Wunderland
6
+ namespace: wunderland
7
+ category: communication
8
+ tags: [discord, messaging, server, moderation, community]
9
+ requires_secrets: [discord.bot_token]
10
+ requires_tools: []
11
+ metadata:
12
+ agentos:
13
+ emoji: "\U0001F3AE"
14
+ primaryEnv: DISCORD_BOT_TOKEN
15
+ homepage: https://discord.com/developers
16
+ ---
17
+
18
+ # Discord Server Helper
19
+
20
+ You can interact with Discord servers (guilds) to send messages, manage channels, assign roles, moderate content, and handle events. Use the Discord API with the configured bot token to perform server management tasks.
21
+
22
+ When sending messages, use Discord's rich embed format for structured content including titles, descriptions, fields, colors, and thumbnails. Respect channel categories and permissions when posting. For moderation tasks, always log actions and provide clear reasons when warning, muting, or banning users.
23
+
24
+ For server management, you can create and organize channels into categories, set up role hierarchies with appropriate permissions, and configure server settings. When handling voice channels, check user presence before attempting operations. Use threads for focused discussions to keep channels organized.
25
+
26
+ Manage slash commands and interactions for interactive bot experiences. Handle reaction roles, welcome messages, and automated moderation rules. When dealing with large servers, paginate member lists and message histories efficiently. Always respect Discord's rate limits and retry with exponential backoff when throttled.
27
+
28
+ ## Examples
29
+
30
+ - "Send an embed to #announcements with the release notes"
31
+ - "Create a new text channel called 'dev-chat' in the Engineering category"
32
+ - "List all members with the 'Moderator' role"
33
+ - "Set up a reaction role message in #roles for team selection"
34
+ - "Purge the last 50 messages in #spam"
35
+
36
+ ## Constraints
37
+
38
+ - Bot permissions are determined by its role in each server. Common permissions needed: Send Messages, Manage Channels, Manage Roles, Kick/Ban Members.
39
+ - Rate limits: 50 requests/second globally, with per-route limits.
40
+ - Message content intent is required for reading message content in non-DM contexts.
41
+ - Cannot interact with servers the bot has not been invited to.
42
+ - Embeds are limited to 6,000 total characters across all fields.
43
+ - Bulk message deletion only works for messages less than 14 days old.
@@ -0,0 +1,54 @@
1
+ ---
2
+ name: document-export
3
+ version: '1.0.0'
4
+ description: Export research, reports, and analysis to PDF, DOCX, PPTX, CSV, and XLSX with professional formatting.
5
+ author: Wunderland
6
+ namespace: wunderland
7
+ category: productivity
8
+ tags: [document, export, pdf, docx, pptx, csv, xlsx, report, slides]
9
+ requires_secrets: []
10
+ requires_tools: [document_export, document_suggest]
11
+ metadata:
12
+ agentos:
13
+ emoji: "\U0001F4C4"
14
+ homepage: https://wunderland.sh
15
+ ---
16
+
17
+ # Document Export
18
+
19
+ You can export your responses, research, and analysis to professional documents.
20
+
21
+ ## When to Offer Export
22
+
23
+ After generating substantive responses, use `document_suggest` to check if you should offer export:
24
+ - Long responses (500+ words) -> offer PDF or DOCX
25
+ - Data-heavy responses with tables -> offer CSV or XLSX
26
+ - Multi-section analysis -> offer PPTX slide deck
27
+ - Short conversational responses -> don't offer
28
+
29
+ ## How to Export
30
+
31
+ When the user requests an export (or accepts your offer):
32
+ 1. Structure your response content into DocumentContent format
33
+ 2. Choose the right format based on what the user asked for
34
+ 3. Call `document_export` with the structured content
35
+ 4. Share the download link with the user
36
+
37
+ ## Content Tips
38
+
39
+ - **PDF/DOCX reports**: Use level-1 heading for title, level-2 for sections. Include tables for data.
40
+ - **Slide decks**: Each major point becomes a section with layout hint. Use speakerNotes for talking points. Keep text concise.
41
+ - **CSV/XLSX**: Focus on tabular data. Each table becomes a sheet or CSV section.
42
+ - **Charts**: When data has categories + numeric values, add a chart spec. Bar for comparisons, line for trends, pie for composition.
43
+
44
+ ## Theme Selection (PPTX)
45
+
46
+ - `corporate` -- business presentations, quarterly reviews
47
+ - `dark` -- tech demos, evening presentations
48
+ - `light` -- general purpose, academic
49
+ - `creative` -- marketing, product launches
50
+ - `minimal` -- data-focused, research
51
+
52
+ ## Multi-Format
53
+
54
+ If the user says "export this" without specifying format, offer the most relevant options. Research -> PDF + DOCX. Data analysis -> XLSX + CSV. Presentation -> PPTX.