Skip to content

Commit 4519b6c

Browse files
andresdjassoclaude
andcommitted
Merge origin/main into design-updates — sync 136 upstream commits
Brings in mothership v0.2, the copilot contract update, toast redesign, and tables/knowledge/logs changes. Conflict resolutions favor upstream structure with this branch's deltas re-applied: vendored Hugeicons (lucide-react stays removed — 14 new upstream imports migrated), chat-everywhere resource tabs/dock, error-marker persistence on failed turns, and the local title-generation fallback. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 parents 14fa20d + f4d22ff commit 4519b6c

1,909 files changed

Lines changed: 174817 additions & 43099 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.agents/skills/add-block/SKILL.md

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ export const {ServiceName}Block: BlockConfig = {
4141
name: '{Service Name}', // Human readable
4242
description: 'Brief description', // One sentence
4343
longDescription: 'Detailed description for docs',
44-
docsLink: 'https://docs.sim.ai/tools/{service}',
44+
docsLink: 'https://docs.sim.ai/integrations/{service}',
4545
category: 'tools', // 'tools' | 'blocks' | 'triggers'
4646
integrationType: IntegrationType.X, // Primary category (see IntegrationType enum)
4747
tags: ['oauth', 'api'], // Cross-cutting tags (see IntegrationTag type)
@@ -651,6 +651,14 @@ export const {Service}BlockMeta = {
651651
alsoIntegrations: ['slack'], // Other blocks referenced in the prompt (optional)
652652
},
653653
],
654+
skills: [ // Optional but strongly encouraged
655+
{
656+
name: 'summarize-thread', // kebab-case, becomes the created skill's name
657+
description: 'One line: what it does and when to use it.',
658+
content:
659+
'# Summarize Thread\n\n...\n\n## Steps\n1. ...\n\n## Output\n...', // markdown
660+
},
661+
],
654662
} as const satisfies BlockMeta
655663
```
656664

@@ -665,6 +673,16 @@ export const {Service}BlockMeta = {
665673
- **`alsoIntegrations`** names other block types (e.g. `'slack'`, `'linear'`) referenced in the template prompt — helps the catalog surface this template when those blocks are selected
666674
- Place the export **after** the main `{Service}Block` export, at the very bottom of the file
667675

676+
#### `skills` — curated, ready-to-add agent skills
677+
678+
`skills` is an optional array of `SuggestedSkill` (`{ name, description, content }`) shown on the integration's detail page; users click **Add** to create the skill in their workspace. Aim for 3–5 skills for mainstream services, 2–3 for niche/low-level ones.
679+
680+
- **`name`** — kebab-case, lowercase letters/numbers/hyphens, ≤ 64 chars, unique within the integration, verb-led (e.g. `summarize-thread`).
681+
- **`description`** — one line, ≤ 1024 chars: what it does and when to use it.
682+
- **`content`** — markdown instructions for the agent (literal `\n` for newlines): a `# Title`, then `## Steps` and an output/guidance section. Keep ~600–2000 chars.
683+
- **Ground every skill in operations the block actually exposes.** Cross-check each skill's steps against the block's `tools.access` list — never describe an action the integration cannot perform (e.g. "receive messages" when the block only sends).
684+
- **Skills MUST be derived from real, popular use cases found online — never invented.** Before adding a skill, web-search the service's documented use cases (vendor use-case/solutions pages, official docs describing the workflow, reputable "top automations for X" articles). If you cannot source a use case as something people genuinely do with the service, do not add it. Do not hallucinate skills.
685+
668686
### Register in the blocksMeta object
669687

670688
After adding `{Service}BlockMeta` to the block file, register it in `apps/sim/blocks/registry.ts`:
@@ -714,7 +732,7 @@ export const ServiceBlock: BlockConfig = {
714732
name: 'Service',
715733
description: 'Integrate with Service API',
716734
longDescription: 'Full description for documentation...',
717-
docsLink: 'https://docs.sim.ai/tools/service',
735+
docsLink: 'https://docs.sim.ai/integrations/service',
718736
category: 'tools',
719737
integrationType: IntegrationType.DeveloperTools,
720738
tags: ['oauth', 'api'],
@@ -888,6 +906,7 @@ All tool IDs referenced in `tools.access` and returned by `tools.config.tool` MU
888906
- [ ] Outputs match tool outputs
889907
- [ ] Block registered in `registry.ts` blocks object (alphabetically)
890908
- [ ] `{Service}BlockMeta` exported at bottom of block file with `tags` and `templates`
909+
- [ ] `skills` added to `{Service}BlockMeta`, each grounded in the block's `tools.access` and derived from a real online-sourced use case (not invented)
891910
- [ ] `BlockMeta` imported from `@/blocks/types` alongside `BlockConfig`
892911
- [ ] Block meta registered in `registry.ts` blocksMeta object (alphabetically)
893912
- [ ] If icon missing: asked user to provide SVG

.agents/skills/add-integration/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ export const {Service}Block: BlockConfig = {
137137
name: '{Service}',
138138
description: '...',
139139
longDescription: '...',
140-
docsLink: 'https://docs.sim.ai/tools/{service}',
140+
docsLink: 'https://docs.sim.ai/integrations/{service}',
141141
category: 'tools',
142142
bgColor: '#HEXCOLOR',
143143
icon: {Service}Icon,
@@ -425,7 +425,7 @@ Run the documentation generator:
425425
bun run scripts/generate-docs.ts
426426
```
427427

428-
This creates `apps/docs/content/docs/en/tools/{service}.mdx`
428+
This creates `apps/docs/content/docs/en/integrations/{service}.mdx` — one page per service carrying the block's Actions and, if it has one, its Triggers section. Never hand-edit generated pages; the only editable region is the `{/* MANUAL-CONTENT */}` block (see `scripts/README.md`).
429429

430430
## V2 Integration Pattern
431431

0 commit comments

Comments
 (0)