@framers/agentos-skills 0.3.0 → 0.4.1
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.
- package/CONTRIBUTING.md +231 -0
- package/README.md +93 -58
- package/package.json +19 -31
- package/registry/community/.gitkeep +0 -0
- package/registry/curated/1password/SKILL.md +53 -0
- package/registry/curated/account-manager/SKILL.md +60 -0
- package/registry/curated/agent-config/SKILL.md +22 -0
- package/registry/curated/amazon-polly/SKILL.md +74 -0
- package/registry/curated/apple-notes/SKILL.md +45 -0
- package/registry/curated/apple-reminders/SKILL.md +46 -0
- package/registry/curated/audio-generation/SKILL.md +231 -0
- package/registry/curated/blog-publisher/SKILL.md +110 -0
- package/registry/curated/bluesky-bot/SKILL.md +93 -0
- package/registry/curated/cli-tools/SKILL.md +137 -0
- package/registry/curated/cloud-ops/SKILL.md +124 -0
- package/registry/curated/code-safety/SKILL.md +42 -0
- package/registry/curated/coding-agent/SKILL.md +40 -0
- package/registry/curated/company-research/SKILL.md +46 -0
- package/registry/curated/content-creator/SKILL.md +53 -0
- package/registry/curated/deep-research/SKILL.md +56 -0
- package/registry/curated/diarization/SKILL.md +83 -0
- package/registry/curated/discord-helper/SKILL.md +43 -0
- package/registry/curated/document-export/SKILL.md +54 -0
- package/registry/curated/email-intelligence/SKILL.md +41 -0
- package/registry/curated/emergent-tools/SKILL.md +225 -0
- package/registry/curated/endpoint-semantic/SKILL.md +72 -0
- package/registry/curated/facebook-bot/SKILL.md +94 -0
- package/registry/curated/git/SKILL.md +49 -0
- package/registry/curated/github/SKILL.md +142 -0
- package/registry/curated/google-cloud-stt/SKILL.md +71 -0
- package/registry/curated/google-cloud-tts/SKILL.md +71 -0
- package/registry/curated/grounding-guard/SKILL.md +38 -0
- package/registry/curated/healthcheck/SKILL.md +43 -0
- package/registry/curated/image-editing/SKILL.md +25 -0
- package/registry/curated/image-gen/SKILL.md +141 -0
- package/registry/curated/instagram-bot/SKILL.md +60 -0
- package/registry/curated/interactive-widgets/SKILL.md +85 -0
- package/registry/curated/linkedin-bot/SKILL.md +86 -0
- package/registry/curated/mastodon-bot/SKILL.md +104 -0
- package/registry/curated/memory-manager/SKILL.md +127 -0
- package/registry/curated/ml-content-classifier/SKILL.md +38 -0
- package/registry/curated/movie-lookup/SKILL.md +48 -0
- package/registry/curated/multimodal-rag/SKILL.md +153 -0
- package/registry/curated/notion/SKILL.md +43 -0
- package/registry/curated/obsidian/SKILL.md +42 -0
- package/registry/curated/openwakeword/SKILL.md +75 -0
- package/registry/curated/pii-redaction/SKILL.md +56 -0
- package/registry/curated/pinterest-bot/SKILL.md +45 -0
- package/registry/curated/piper/SKILL.md +72 -0
- package/registry/curated/porcupine/SKILL.md +74 -0
- package/registry/curated/reddit-bot/SKILL.md +74 -0
- package/registry/curated/seo-campaign/SKILL.md +51 -0
- package/registry/curated/site-deploy/SKILL.md +119 -0
- package/registry/curated/slack-helper/SKILL.md +43 -0
- package/registry/curated/social-broadcast/SKILL.md +145 -0
- package/registry/curated/spotify-player/SKILL.md +45 -0
- package/registry/curated/streaming-stt-deepgram/SKILL.md +84 -0
- package/registry/curated/streaming-stt-whisper/SKILL.md +82 -0
- package/registry/curated/streaming-tts-elevenlabs/SKILL.md +84 -0
- package/registry/curated/streaming-tts-openai/SKILL.md +83 -0
- package/registry/curated/structured-output/SKILL.md +22 -0
- package/registry/curated/summarize/SKILL.md +40 -0
- package/registry/curated/threads-bot/SKILL.md +82 -0
- package/registry/curated/tiktok-bot/SKILL.md +104 -0
- package/registry/curated/topicality/SKILL.md +37 -0
- package/registry/curated/trello/SKILL.md +44 -0
- package/registry/curated/twitter-bot/SKILL.md +63 -0
- package/registry/curated/video-generation/SKILL.md +225 -0
- package/registry/curated/vision-ocr/SKILL.md +82 -0
- package/registry/curated/voice-conversation/SKILL.md +65 -0
- package/registry/curated/vosk/SKILL.md +74 -0
- package/registry/curated/weather/SKILL.md +37 -0
- package/registry/curated/web-scraper/SKILL.md +60 -0
- package/registry/curated/web-search/SKILL.md +49 -0
- package/registry/curated/whisper-transcribe/SKILL.md +58 -0
- package/registry/curated/youtube-bot/SKILL.md +104 -0
- package/registry.json +2446 -0
- package/scripts/update-registry.mjs +126 -0
- package/scripts/validate-skill.mjs +304 -0
- package/types.d.ts +160 -0
- package/dist/SkillLoader.d.ts +0 -50
- package/dist/SkillLoader.d.ts.map +0 -1
- package/dist/SkillLoader.js +0 -291
- package/dist/SkillLoader.js.map +0 -1
- package/dist/SkillRegistry.d.ts +0 -135
- package/dist/SkillRegistry.d.ts.map +0 -1
- package/dist/SkillRegistry.js +0 -455
- package/dist/SkillRegistry.js.map +0 -1
- package/dist/index.d.ts +0 -13
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -13
- package/dist/index.js.map +0 -1
- package/dist/paths.d.ts +0 -35
- package/dist/paths.d.ts.map +0 -1
- package/dist/paths.js +0 -71
- package/dist/paths.js.map +0 -1
- package/dist/types.d.ts +0 -231
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -21
- package/dist/types.js.map +0 -1
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
# Contributing to @framers/agentos-skills
|
|
2
|
+
|
|
3
|
+
Thank you for your interest in contributing a skill to the AgentOS ecosystem! This guide walks you through the process of creating, testing, and submitting a new skill.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Skills are **SKILL.md files** — each containing YAML frontmatter (metadata) and a markdown body (instructions for the AI agent). They live inside the `@framers/agentos-skills` content package under `registry/`. The typed SDK that discovers and loads them lives in the sibling `@framers/agentos-skills-registry` package. There are no individual packages per skill.
|
|
8
|
+
|
|
9
|
+
Skills are organized into two tiers:
|
|
10
|
+
|
|
11
|
+
| Tier | Directory | Namespace | Maintained By | Verified |
|
|
12
|
+
| ------------- | --------------------- | ------------ | --------------------------- | -------- |
|
|
13
|
+
| **Curated** | `registry/curated/` | `wunderland` | Framers staff | Yes |
|
|
14
|
+
| **Community** | `registry/community/` | `community` | Original author / community | No |
|
|
15
|
+
|
|
16
|
+
Curated skills ship pre-verified and are maintained by the Framers team. Community skills are submitted via pull request by anyone and are maintained by their authors.
|
|
17
|
+
|
|
18
|
+
## Creating a New Skill
|
|
19
|
+
|
|
20
|
+
### Step 1 — Fork the repo
|
|
21
|
+
|
|
22
|
+
Fork [framersai/agentos-skills-registry](https://github.com/framersai/agentos-skills-registry) and clone it locally.
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
git clone https://github.com/<your-username>/agentos-skills-registry.git
|
|
26
|
+
cd agentos-skills-registry
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Step 2 — Create the skill directory
|
|
30
|
+
|
|
31
|
+
Create a new directory under `registry/community/` with your skill name. The directory name must be lowercase, use hyphens for separators, and match the `name` field in your frontmatter.
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
mkdir -p registry/community/my-skill
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Step 3 — Write the SKILL.md file
|
|
38
|
+
|
|
39
|
+
Create `registry/community/my-skill/SKILL.md` with two parts:
|
|
40
|
+
|
|
41
|
+
1. **YAML frontmatter** between `---` delimiters containing metadata
|
|
42
|
+
2. **Markdown body** containing instructions for the AI agent
|
|
43
|
+
|
|
44
|
+
The markdown body should be written in **2nd person** ("You can...", "Use the...") because it is injected directly into an agent's system prompt.
|
|
45
|
+
|
|
46
|
+
### Step 4 — Write the YAML frontmatter
|
|
47
|
+
|
|
48
|
+
Fill in all required fields. See the [SKILL.md Format Reference](#skillmd-format-reference) below for the complete spec.
|
|
49
|
+
|
|
50
|
+
### Step 5 — Write the markdown body
|
|
51
|
+
|
|
52
|
+
The body is the actual instructions the AI agent will follow. It should include:
|
|
53
|
+
|
|
54
|
+
- A heading with the skill name
|
|
55
|
+
- A description of what the skill enables the agent to do
|
|
56
|
+
- Step-by-step guidance for how the agent should use the skill
|
|
57
|
+
- An **Examples** section with concrete usage examples
|
|
58
|
+
- A **Constraints** section documenting limitations
|
|
59
|
+
|
|
60
|
+
### Step 6 — Validate your skill
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
npm run validate registry/community/my-skill/SKILL.md
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## SKILL.md Format Reference
|
|
67
|
+
|
|
68
|
+
### Required Fields
|
|
69
|
+
|
|
70
|
+
| Field | Type | Description |
|
|
71
|
+
| ------------- | ------ | -------------------------------------------------------------------------- |
|
|
72
|
+
| `name` | string | Skill identifier. Must match the directory name. Lowercase, hyphens only. |
|
|
73
|
+
| `version` | string | Semantic version (e.g., `'1.0.0'`). Quote it to avoid YAML parsing issues. |
|
|
74
|
+
| `description` | string | Short description, under 200 characters. |
|
|
75
|
+
| `author` | string | Your name or GitHub username. |
|
|
76
|
+
| `namespace` | string | Must be `community` for community submissions. |
|
|
77
|
+
| `category` | string | One of the valid categories listed below. |
|
|
78
|
+
| `tags` | array | At least one tag. Use lowercase, hyphenated strings. |
|
|
79
|
+
|
|
80
|
+
### Optional Fields
|
|
81
|
+
|
|
82
|
+
| Field | Type | Description |
|
|
83
|
+
| --------------------------- | ------ | ------------------------------------------------------------------------- |
|
|
84
|
+
| `requires_secrets` | array | Secret keys the skill needs (e.g., `[service.token]`). Use `[]` if none. |
|
|
85
|
+
| `requires_tools` | array | Tool names the skill depends on (e.g., `[web-search]`). Use `[]` if none. |
|
|
86
|
+
| `metadata.agentos.emoji` | string | Emoji icon for the skill in UIs. |
|
|
87
|
+
| `metadata.agentos.homepage` | string | URL to the skill's related service or docs. |
|
|
88
|
+
|
|
89
|
+
### Valid Categories
|
|
90
|
+
|
|
91
|
+
- `automation` — Workflow automation, orchestration, repetitive task handling
|
|
92
|
+
- `communication` — Chat, email, messaging platforms
|
|
93
|
+
- `content` — Content planning, drafting, publishing pipelines
|
|
94
|
+
- `creative` — Art, writing, design, generation
|
|
95
|
+
- `developer-tools` — Code, repos, CI/CD, debugging
|
|
96
|
+
- `devops` — Operational tooling, monitoring, reliability checks
|
|
97
|
+
- `information` — Data lookup, search, knowledge retrieval
|
|
98
|
+
- `infrastructure` — Infrastructure provisioning, hosting, deployment workflows
|
|
99
|
+
- `marketing` — SEO, campaigns, growth workflows
|
|
100
|
+
- `media` — Audio, video, image, streaming
|
|
101
|
+
- `productivity` — Note-taking, task management, organization
|
|
102
|
+
- `research` — Multi-source investigation and synthesis
|
|
103
|
+
- `security` — Passwords, encryption, access control
|
|
104
|
+
- `social-automation` — Social publishing, engagement, and channel management
|
|
105
|
+
|
|
106
|
+
### Full Template
|
|
107
|
+
|
|
108
|
+
Copy and paste this into `registry/community/<your-skill>/SKILL.md`:
|
|
109
|
+
|
|
110
|
+
```markdown
|
|
111
|
+
---
|
|
112
|
+
name: my-skill
|
|
113
|
+
version: '1.0.0'
|
|
114
|
+
description: A short description of what this skill does (under 200 characters).
|
|
115
|
+
author: your-github-username
|
|
116
|
+
namespace: community
|
|
117
|
+
category: information
|
|
118
|
+
tags: [example, template]
|
|
119
|
+
requires_secrets: []
|
|
120
|
+
requires_tools: []
|
|
121
|
+
metadata:
|
|
122
|
+
agentos:
|
|
123
|
+
emoji: "\U0001F527"
|
|
124
|
+
homepage: https://example.com
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
# My Skill
|
|
128
|
+
|
|
129
|
+
You can use this skill to [describe what the agent can do]. When the user asks about [topic], you should [describe the agent's behavior].
|
|
130
|
+
|
|
131
|
+
Provide clear, structured responses. If the user's request is ambiguous, ask for clarification before proceeding.
|
|
132
|
+
|
|
133
|
+
## Examples
|
|
134
|
+
|
|
135
|
+
- "Example user query 1"
|
|
136
|
+
- "Example user query 2"
|
|
137
|
+
- "Example user query 3"
|
|
138
|
+
|
|
139
|
+
## Constraints
|
|
140
|
+
|
|
141
|
+
- Limitation or caveat 1.
|
|
142
|
+
- Limitation or caveat 2.
|
|
143
|
+
- Limitation or caveat 3.
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## Testing Your Skill
|
|
147
|
+
|
|
148
|
+
Run the validation script against your SKILL.md file:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
npm run validate registry/community/my-skill/SKILL.md
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
The validator checks:
|
|
155
|
+
|
|
156
|
+
- All required frontmatter fields are present
|
|
157
|
+
- Category is valid
|
|
158
|
+
- Description is under 200 characters
|
|
159
|
+
- Tags array has at least one entry
|
|
160
|
+
- Namespace is `community` or `wunderland`
|
|
161
|
+
- Skill name matches the directory name
|
|
162
|
+
- Markdown body is not empty
|
|
163
|
+
- No obvious secrets or API keys are embedded in the file
|
|
164
|
+
|
|
165
|
+
Fix any reported issues before submitting your PR.
|
|
166
|
+
|
|
167
|
+
## Submitting a PR
|
|
168
|
+
|
|
169
|
+
### 1. Create a branch
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
git checkout -b add-skill/my-skill
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### 2. Commit your SKILL.md
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
git add registry/community/my-skill/SKILL.md
|
|
179
|
+
git commit -m "feat: add my-skill community skill"
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### 3. Push and open a PR
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
git push origin add-skill/my-skill
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
Open a pull request against the `main` branch. The PR template will guide you through the checklist.
|
|
189
|
+
|
|
190
|
+
### PR Checklist
|
|
191
|
+
|
|
192
|
+
Before submitting, confirm:
|
|
193
|
+
|
|
194
|
+
- [ ] Skill is in `registry/community/<name>/SKILL.md`
|
|
195
|
+
- [ ] All required YAML fields are present
|
|
196
|
+
- [ ] `namespace` is set to `community`
|
|
197
|
+
- [ ] Category is one of the 8 valid categories
|
|
198
|
+
- [ ] Description is under 200 characters
|
|
199
|
+
- [ ] Markdown body includes usage instructions, Examples, and Constraints
|
|
200
|
+
- [ ] No secrets, API keys, or credentials are in the file
|
|
201
|
+
- [ ] `npm run validate` passes
|
|
202
|
+
|
|
203
|
+
### What Reviewers Look For
|
|
204
|
+
|
|
205
|
+
- **Quality**: Is the skill well-written? Are instructions clear and actionable?
|
|
206
|
+
- **No secrets**: The file must not contain API keys, tokens, passwords, or credentials.
|
|
207
|
+
- **Valid format**: Frontmatter must parse correctly with all required fields.
|
|
208
|
+
- **Usefulness**: Does the skill provide value that is not already covered by an existing skill?
|
|
209
|
+
- **Specificity**: Is the scope well-defined? Skills should do one thing well.
|
|
210
|
+
|
|
211
|
+
## Promotion to Curated
|
|
212
|
+
|
|
213
|
+
Community skills can be promoted to the curated tier. Promotion criteria:
|
|
214
|
+
|
|
215
|
+
1. **Longevity** — The skill has been in `registry/community/` for at least 3 months.
|
|
216
|
+
2. **Positive feedback** — The skill has received positive user feedback or adoption.
|
|
217
|
+
3. **Maintained** — The original author is responsive to issues and keeps the skill up to date.
|
|
218
|
+
4. **Staff review** — A Framers team member reviews the skill for quality and completeness.
|
|
219
|
+
|
|
220
|
+
When a skill is promoted:
|
|
221
|
+
|
|
222
|
+
- It moves from `registry/community/<name>/` to `registry/curated/<name>/`.
|
|
223
|
+
- The `namespace` field changes from `community` to `wunderland`.
|
|
224
|
+
- The `verified` flag is set to `true` in `registry.json`.
|
|
225
|
+
- The Framers team assumes co-maintenance responsibility.
|
|
226
|
+
|
|
227
|
+
To nominate a community skill for promotion, open an issue titled "Promote: <skill-name>" with a brief justification.
|
|
228
|
+
|
|
229
|
+
## Code of Conduct
|
|
230
|
+
|
|
231
|
+
This project follows the [Contributor Covenant Code of Conduct](https://www.contributor-covenant.org/version/2/1/code_of_conduct/). By participating, you agree to uphold this code. Please report unacceptable behavior to [team@frame.dev](mailto:team@frame.dev).
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# @framers/agentos-skills
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
**Curated SKILL.md prompt modules for AgentOS** — 72 staff-verified skills with a machine-readable registry index.
|
|
10
10
|
|
|
11
11
|
[](https://www.npmjs.com/package/@framers/agentos-skills)
|
|
12
12
|
|
|
@@ -14,83 +14,118 @@ Skills runtime for the [AgentOS](https://github.com/framersai/agentos) ecosystem
|
|
|
14
14
|
npm install @framers/agentos-skills
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
> **This is the content package.** It contains 72 curated SKILL.md files and
|
|
18
|
+
> the auto-generated `registry.json` index — no runtime code, no dependencies.
|
|
19
|
+
>
|
|
20
|
+
> For the **catalog SDK** (query helpers, lazy loading, factory functions), see
|
|
21
|
+
> [`@framers/agentos-skills-registry`](https://github.com/framersai/agentos-skills-registry).
|
|
22
|
+
>
|
|
23
|
+
> For the **runtime engine** (SkillLoader, SkillRegistry, path utilities), see
|
|
24
|
+
> [`@framers/agentos`](https://github.com/framersai/agentos) (`@framers/agentos/skills`).
|
|
18
25
|
|
|
19
|
-
|
|
26
|
+
## What's Inside
|
|
20
27
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
|
24
|
-
|
|
|
25
|
-
|
|
|
26
|
-
| `
|
|
28
|
+
This package bundles **72 curated SKILL.md files** organized under `registry/curated/`:
|
|
29
|
+
|
|
30
|
+
| Category | Skills |
|
|
31
|
+
| -------------- | ---------------------------------------------------------------------- |
|
|
32
|
+
| Developer | `github`, `git`, `coding-agent`, `code-safety`, `structured-output` |
|
|
33
|
+
| Social | `twitter-bot`, `instagram-bot`, `linkedin-bot`, `facebook-bot`, `threads-bot`, `bluesky-bot`, `mastodon-bot`, `youtube-bot`, `tiktok-bot`, `pinterest-bot`, `reddit-bot`, `blog-publisher`, `social-broadcast` |
|
|
34
|
+
| Research | `web-search`, `web-scraper`, `deep-research`, `summarize`, `company-research` |
|
|
35
|
+
| Productivity | `notion`, `obsidian`, `trello`, `apple-notes`, `apple-reminders`, `spotify-player` |
|
|
36
|
+
| Communication | `slack-helper`, `discord-helper`, `email-intelligence` |
|
|
37
|
+
| Voice | `voice-conversation`, `whisper-transcribe`, `streaming-stt-*`, `streaming-tts-*`, `vosk`, `piper`, `porcupine`, `openwakeword`, `diarization` |
|
|
38
|
+
| Creative | `image-gen`, `image-editing`, `audio-generation`, `video-generation`, `content-creator` |
|
|
39
|
+
| AI/ML | `vision-ocr`, `multimodal-rag`, `ml-content-classifier`, `endpoint-semantic`, `grounding-guard`, `topicality`, `emergent-tools`, `pii-redaction` |
|
|
40
|
+
| Infrastructure | `cloud-ops`, `site-deploy`, `healthcheck` |
|
|
41
|
+
| Security | `1password` |
|
|
42
|
+
| Other | `memory-manager`, `account-manager`, `agent-config`, `seo-campaign`, `weather` |
|
|
43
|
+
|
|
44
|
+
Each skill is a Markdown file with YAML frontmatter:
|
|
45
|
+
|
|
46
|
+
```yaml
|
|
47
|
+
---
|
|
48
|
+
name: github
|
|
49
|
+
version: '2.0.0'
|
|
50
|
+
description: Full GitHub API integration
|
|
51
|
+
author: Wunderland
|
|
52
|
+
category: developer
|
|
53
|
+
tags: [github, git, repository]
|
|
54
|
+
requires_secrets: [github.token]
|
|
55
|
+
requires_tools: [github_search, github_repo_list]
|
|
56
|
+
metadata:
|
|
57
|
+
agentos:
|
|
58
|
+
emoji: "🐙"
|
|
59
|
+
primaryEnv: GITHUB_TOKEN
|
|
60
|
+
requires:
|
|
61
|
+
bins: ['gh']
|
|
62
|
+
install:
|
|
63
|
+
- id: brew-gh
|
|
64
|
+
kind: brew
|
|
65
|
+
formula: gh
|
|
66
|
+
bins: [gh]
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
# GitHub
|
|
70
|
+
|
|
71
|
+
[Markdown instructions for the agent...]
|
|
72
|
+
```
|
|
27
73
|
|
|
28
|
-
##
|
|
74
|
+
## Ecosystem
|
|
29
75
|
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
resolveDefaultSkillsDirs,
|
|
36
|
-
} from '@framers/agentos-skills';
|
|
76
|
+
```
|
|
77
|
+
@framers/agentos/skills ← Engine (SkillLoader, SkillRegistry, path utils)
|
|
78
|
+
@framers/agentos-skills ← Content (you are here — 72 SKILL.md files + registry.json)
|
|
79
|
+
@framers/agentos-skills-registry ← Catalog SDK (SKILLS_CATALOG, query helpers, factories)
|
|
80
|
+
```
|
|
37
81
|
|
|
38
|
-
|
|
39
|
-
|
|
82
|
+
| Package | Role | What | Runtime Code |
|
|
83
|
+
| ------------------------------------ | --------------- | ------------------------------------------------------- | :----------: |
|
|
84
|
+
| **@framers/agentos/skills** | **Engine** | SkillLoader, SkillRegistry, path utils | Yes |
|
|
85
|
+
| **@framers/agentos-skills** | **Content** | 72 SKILL.md files + registry.json index | No |
|
|
86
|
+
| **@framers/agentos-skills-registry** | **Catalog SDK** | SKILLS_CATALOG, query helpers, lazy loaders, factories | Yes |
|
|
40
87
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
await registry.loadFromDirs(dirs);
|
|
88
|
+
> This layout mirrors the extensions ecosystem:
|
|
89
|
+
> `@framers/agentos-extensions` (content) + `@framers/agentos-extensions-registry` (SDK).
|
|
44
90
|
|
|
45
|
-
|
|
91
|
+
## Usage
|
|
46
92
|
|
|
47
|
-
|
|
48
|
-
const snapshot = registry.buildSnapshot({ platform: 'darwin', strict: true });
|
|
49
|
-
console.log(snapshot.prompt);
|
|
50
|
-
```
|
|
93
|
+
### Direct JSON import
|
|
51
94
|
|
|
52
|
-
|
|
95
|
+
```typescript
|
|
96
|
+
import registry from '@framers/agentos-skills/registry.json';
|
|
53
97
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
98
|
+
console.log(`${registry.stats.totalSkills} skills available`);
|
|
99
|
+
for (const skill of registry.skills.curated) {
|
|
100
|
+
console.log(` ${skill.metadata?.emoji ?? '📦'} ${skill.name} — ${skill.description}`);
|
|
101
|
+
}
|
|
58
102
|
```
|
|
59
103
|
|
|
60
|
-
|
|
61
|
-
| ------------------------------------ | ----------------------------------------- | :----------: | --------------- |
|
|
62
|
-
| **@framers/agentos-skills** | SkillLoader, SkillRegistry, path utils | Yes | `yaml` |
|
|
63
|
-
| **@framers/agentos-skills-registry** | 40+ SKILL.md files + JSON index + catalog | No | `yaml` |
|
|
64
|
-
| **@framers/agentos** | Full cognitive runtime | Yes | Many |
|
|
104
|
+
### Via the catalog SDK (recommended)
|
|
65
105
|
|
|
66
|
-
|
|
106
|
+
```typescript
|
|
107
|
+
import { searchSkills, loadSkillByName } from '@framers/agentos-skills-registry';
|
|
67
108
|
|
|
68
|
-
|
|
109
|
+
const matches = searchSkills('github');
|
|
110
|
+
const skill = await loadSkillByName('github');
|
|
111
|
+
console.log(skill?.content); // SKILL.md body ready for prompt injection
|
|
112
|
+
```
|
|
69
113
|
|
|
70
|
-
|
|
71
|
-
- `extractMetadata(frontmatter)` -- Extract typed SkillMetadata from parsed frontmatter
|
|
72
|
-
- `loadSkillFromDir(dir)` -- Load a single skill from a directory containing SKILL.md
|
|
73
|
-
- `loadSkillsFromDir(dir)` -- Load all skills from a parent directory
|
|
74
|
-
- `filterByPlatform(entries, platform)` -- Filter skill entries by OS platform
|
|
75
|
-
- `filterByEligibility(entries, context)` -- Filter by full eligibility context
|
|
76
|
-
- `checkBinaryRequirements(entry, hasBin)` -- Check if binary requirements are met
|
|
114
|
+
### Via the runtime engine
|
|
77
115
|
|
|
78
|
-
|
|
116
|
+
```typescript
|
|
117
|
+
import { SkillRegistry } from '@framers/agentos/skills';
|
|
79
118
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
- `buildSnapshot(options)` -- Build LLM context snapshot
|
|
86
|
-
- `buildPrompt(entries)` -- Format skills into prompt text
|
|
87
|
-
- `buildCommandSpecs(options)` -- Generate CLI command specs
|
|
119
|
+
const registry = new SkillRegistry();
|
|
120
|
+
await registry.loadFromDirs(['/path/to/agentos-skills/registry/curated']);
|
|
121
|
+
const snapshot = registry.buildSnapshot({ platform: 'darwin', strict: true });
|
|
122
|
+
console.log(snapshot.prompt);
|
|
123
|
+
```
|
|
88
124
|
|
|
89
|
-
|
|
125
|
+
## Contributing
|
|
90
126
|
|
|
91
|
-
|
|
127
|
+
See [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines on adding new skills.
|
|
92
128
|
|
|
93
129
|
## License
|
|
94
130
|
|
|
95
131
|
MIT
|
|
96
|
-
|
package/package.json
CHANGED
|
@@ -1,34 +1,37 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@framers/agentos-skills",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.4.1",
|
|
4
|
+
"description": "Curated SKILL.md prompt modules for AgentOS — 72 staff-verified skills with machine-readable registry index",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
7
|
-
"main": "dist/index.js",
|
|
8
|
-
"types": "dist/index.d.ts",
|
|
9
7
|
"exports": {
|
|
10
|
-
".":
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
},
|
|
8
|
+
".": "./registry.json",
|
|
9
|
+
"./registry.json": "./registry.json",
|
|
10
|
+
"./types": "./types.d.ts",
|
|
14
11
|
"./package.json": "./package.json"
|
|
15
12
|
},
|
|
16
13
|
"files": [
|
|
17
|
-
"
|
|
14
|
+
"registry",
|
|
15
|
+
"registry.json",
|
|
16
|
+
"types.d.ts",
|
|
17
|
+
"scripts",
|
|
18
|
+
"CONTRIBUTING.md",
|
|
18
19
|
"README.md"
|
|
19
20
|
],
|
|
20
21
|
"scripts": {
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
22
|
+
"validate": "node scripts/validate-skill.mjs",
|
|
23
|
+
"update:registry": "node scripts/update-registry.mjs",
|
|
24
|
+
"typecheck": "echo 'agentos-skills: content-only package, no TypeScript to check'",
|
|
25
|
+
"build": "echo 'agentos-skills: content-only package, no build step'"
|
|
24
26
|
},
|
|
25
27
|
"keywords": [
|
|
26
28
|
"agentos",
|
|
27
29
|
"skills",
|
|
28
|
-
"
|
|
29
|
-
"skill-
|
|
30
|
-
"
|
|
31
|
-
"
|
|
30
|
+
"prompts",
|
|
31
|
+
"skill-modules",
|
|
32
|
+
"ai-agent",
|
|
33
|
+
"prompt-engineering",
|
|
34
|
+
"curated-catalog"
|
|
32
35
|
],
|
|
33
36
|
"author": {
|
|
34
37
|
"name": "Framers AI",
|
|
@@ -42,20 +45,5 @@
|
|
|
42
45
|
},
|
|
43
46
|
"publishConfig": {
|
|
44
47
|
"access": "public"
|
|
45
|
-
},
|
|
46
|
-
"dependencies": {
|
|
47
|
-
"yaml": "^2.8.1"
|
|
48
|
-
},
|
|
49
|
-
"devDependencies": {
|
|
50
|
-
"@types/node": "^20.12.12",
|
|
51
|
-
"typescript": "^5.4.5"
|
|
52
|
-
},
|
|
53
|
-
"peerDependencies": {
|
|
54
|
-
"@framers/agentos": ">=0.1.0"
|
|
55
|
-
},
|
|
56
|
-
"peerDependenciesMeta": {
|
|
57
|
-
"@framers/agentos": {
|
|
58
|
-
"optional": true
|
|
59
|
-
}
|
|
60
48
|
}
|
|
61
49
|
}
|
|
File without changes
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 1password
|
|
3
|
+
version: '1.0.0'
|
|
4
|
+
description: Query and retrieve items from 1Password vaults using the 1Password CLI for secure credential access.
|
|
5
|
+
author: Wunderland
|
|
6
|
+
namespace: wunderland
|
|
7
|
+
category: security
|
|
8
|
+
tags: [1password, passwords, secrets, vault, credentials, security]
|
|
9
|
+
requires_secrets: [1password.service_account_token]
|
|
10
|
+
requires_tools: []
|
|
11
|
+
metadata:
|
|
12
|
+
agentos:
|
|
13
|
+
emoji: "\U0001F510"
|
|
14
|
+
primaryEnv: OP_SERVICE_ACCOUNT_TOKEN
|
|
15
|
+
homepage: https://developer.1password.com/docs/cli
|
|
16
|
+
requires:
|
|
17
|
+
bins: ['op']
|
|
18
|
+
install:
|
|
19
|
+
- id: brew
|
|
20
|
+
kind: brew
|
|
21
|
+
formula: 1password-cli
|
|
22
|
+
bins: ['op']
|
|
23
|
+
label: 'Install 1Password CLI (brew)'
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# 1Password Vault Queries
|
|
27
|
+
|
|
28
|
+
You can query 1Password vaults to retrieve credentials, secure notes, API keys, and other secrets using the `op` CLI. This enables secure access to stored credentials without hardcoding secrets in code or configuration files.
|
|
29
|
+
|
|
30
|
+
When retrieving items, use `op item get` with the item name or UUID. Support querying specific fields (username, password, TOTP, custom fields) using the `--fields` flag. For listing items, filter by vault, category (login, secure-note, api-credential, credit-card), or tags. Always use the most specific identifier available to avoid ambiguous matches.
|
|
31
|
+
|
|
32
|
+
For security, never display full passwords or secret values in plain text unless the user explicitly requests it. Instead, confirm the item exists and describe its metadata (title, vault, category, last modified). When injecting secrets into environment variables or configuration files, use `op run` or `op inject` for ephemeral secret injection that avoids writing secrets to disk.
|
|
33
|
+
|
|
34
|
+
Support common workflows like looking up API keys for service integrations, retrieving database credentials for connection strings, and checking TOTP codes for two-factor authentication. When multiple items match a query, present a disambiguated list with vault and category context so the user can select the correct one.
|
|
35
|
+
|
|
36
|
+
## Examples
|
|
37
|
+
|
|
38
|
+
- "Look up the API key for our Stripe integration"
|
|
39
|
+
- "What vaults do I have access to?"
|
|
40
|
+
- "Get the database connection credentials from the Production vault"
|
|
41
|
+
- "Generate a TOTP code for my AWS account"
|
|
42
|
+
- "List all items tagged 'deploy' in the DevOps vault"
|
|
43
|
+
- "Inject secrets from the 'staging-env' item into environment variables"
|
|
44
|
+
|
|
45
|
+
## Constraints
|
|
46
|
+
|
|
47
|
+
- Requires the `op` CLI to be installed and authenticated (service account token or interactive sign-in).
|
|
48
|
+
- The agent can only access vaults and items that the authenticated account has permissions for.
|
|
49
|
+
- Biometric unlock is not available in non-interactive CLI sessions; use service account tokens.
|
|
50
|
+
- TOTP codes are time-sensitive and expire every 30 seconds.
|
|
51
|
+
- Cannot create, modify, or delete vault items -- read-only access for security.
|
|
52
|
+
- Session tokens expire after 30 minutes of inactivity by default.
|
|
53
|
+
- Do not log, cache, or persist retrieved secret values beyond the immediate use.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: account-manager
|
|
3
|
+
version: '1.0.0'
|
|
4
|
+
description: Social account management — registration flows, profile optimization, credential storage, multi-platform account orchestration.
|
|
5
|
+
author: Wunderland
|
|
6
|
+
namespace: wunderland
|
|
7
|
+
category: automation
|
|
8
|
+
tags: [accounts, credentials, registration, profiles, management, automation]
|
|
9
|
+
requires_secrets: []
|
|
10
|
+
requires_tools: [credentialsSet, credentialsGet, credentialsList, credentialsImport, browserNavigate, browserClick, browserFill, browserScreenshot, browserSnapshot, browserSession]
|
|
11
|
+
metadata:
|
|
12
|
+
agentos:
|
|
13
|
+
emoji: "\U0001F511"
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Account Manager
|
|
17
|
+
|
|
18
|
+
You are a social account management agent. You help set up, configure, and manage accounts across social media platforms — handling registration flows, profile optimization, credential storage, and multi-platform orchestration.
|
|
19
|
+
|
|
20
|
+
## Core Capabilities
|
|
21
|
+
|
|
22
|
+
- **Account registration** — automate sign-up flows via browser automation
|
|
23
|
+
- **Profile optimization** — complete bios, profile pictures, settings
|
|
24
|
+
- **Credential management** — securely store and retrieve API keys and tokens
|
|
25
|
+
- **Multi-platform** — manage accounts across Twitter, Instagram, Reddit, Pinterest, TikTok, YouTube
|
|
26
|
+
- **Session management** — save and restore login sessions
|
|
27
|
+
- **Credential import** — bulk import from JSON or CSV files
|
|
28
|
+
|
|
29
|
+
## Account Setup Workflow
|
|
30
|
+
|
|
31
|
+
1. **Navigate** to the platform's sign-up page
|
|
32
|
+
2. **Fill registration form** with provided details
|
|
33
|
+
3. **Handle verification** — email/phone verification codes
|
|
34
|
+
4. **Complete profile** — bio, avatar, settings
|
|
35
|
+
5. **Store credentials** securely in the credential vault
|
|
36
|
+
6. **Save session** for future use without re-authentication
|
|
37
|
+
|
|
38
|
+
## Credential Management
|
|
39
|
+
|
|
40
|
+
- Use `credentialsSet` to store platform API keys and tokens
|
|
41
|
+
- Use `credentialsGet` to retrieve credentials when needed
|
|
42
|
+
- Use `credentialsList` to audit stored credentials
|
|
43
|
+
- Use `credentialsImport` for bulk setup from CSV/JSON
|
|
44
|
+
- All credentials are encrypted at rest
|
|
45
|
+
|
|
46
|
+
## Profile Optimization Tips
|
|
47
|
+
|
|
48
|
+
- **Bio**: Clear description of purpose, include relevant keywords
|
|
49
|
+
- **Avatar**: Consistent branding across platforms
|
|
50
|
+
- **Links**: Cross-link between platforms
|
|
51
|
+
- **Settings**: Enable API access, set appropriate privacy levels
|
|
52
|
+
- **Verification**: Complete platform-specific verification steps
|
|
53
|
+
|
|
54
|
+
## Safety
|
|
55
|
+
|
|
56
|
+
- Never store plaintext passwords in logs or outputs
|
|
57
|
+
- Always use the credential vault for sensitive data
|
|
58
|
+
- Verify account ownership before making changes
|
|
59
|
+
- Respect platform terms of service
|
|
60
|
+
- Use unique, strong passwords for each platform
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-config
|
|
3
|
+
description: Export and import agent configurations for sharing and backup
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
tags: [agent, config, export, import, yaml, json]
|
|
6
|
+
tools_required: []
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Agent Configuration
|
|
10
|
+
|
|
11
|
+
Export agent configurations as portable YAML/JSON files for sharing, backup, and migration. Import configurations to recreate agents.
|
|
12
|
+
|
|
13
|
+
## Capabilities
|
|
14
|
+
- **Export**: Save agent config with instructions, tools, personality, guardrails
|
|
15
|
+
- **Import**: Recreate agent from exported config
|
|
16
|
+
- **Secret redaction**: API keys automatically redacted on export
|
|
17
|
+
- **Round-trip**: Export -> edit -> import workflow
|
|
18
|
+
|
|
19
|
+
## Example
|
|
20
|
+
"Export my research agent to a file"
|
|
21
|
+
"Import this agent configuration"
|
|
22
|
+
"Share my agent config with the team"
|