Skip to content

Commit 7e64d31

Browse files
FreekHeijtingclaude
andcommitted
feat: add discovery manifests and quality fixes
- Add package.json with agents.skills[] manifest (25 skills, npm-agentskills standard) - Add agents/openai.yaml for OpenAI Codex discoverability - Add SKILLS_LOG.md to .gitignore - Fix em-dashes in section headings across 4 SKILL.md files Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 9563ac4 commit 7e64d31

7 files changed

Lines changed: 70 additions & 10 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Privacy
22
PROMPTS.md
3+
SKILLS_LOG.md
34
.claude/
45

56
# Dependencies

agents/openai.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# OpenAI Codex skill discovery
2+
name: speckle-claude-skill-package
3+
description: >
4+
25 deterministic Claude AI skills for Speckle Data Platform.
5+
Covers object model, GraphQL API, Python/C# SDKs, connectors
6+
(Revit, Rhino, Blender, AutoCAD, Tekla), viewer, Automate.
7+
skills_directory: ./skills/source

package.json

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
{
2+
"name": "@openaec/speckle-claude-skill-package",
3+
"version": "1.2.0",
4+
"description": "25 deterministic Claude AI skills for Speckle Data Platform — object model, GraphQL API, Python/C# SDKs, connectors (Revit, Rhino, Blender, AutoCAD, Tekla), viewer, Automate",
5+
"license": "MIT",
6+
"repository": {
7+
"type": "git",
8+
"url": "https://github.com/OpenAEC-Foundation/Speckle-Claude-Skill-Package"
9+
},
10+
"keywords": [
11+
"agent-skills",
12+
"agentskills",
13+
"claude-skills",
14+
"speckle",
15+
"bim",
16+
"aec",
17+
"graphql",
18+
"revit",
19+
"rhino",
20+
"grasshopper",
21+
"data-platform"
22+
],
23+
"agents": {
24+
"skills": [
25+
{ "name": "speckle-agents-data-validator", "path": "./skills/source/speckle-agents/speckle-agents-data-validator" },
26+
{ "name": "speckle-agents-model-coordinator", "path": "./skills/source/speckle-agents/speckle-agents-model-coordinator" },
27+
{ "name": "speckle-core-api", "path": "./skills/source/speckle-core/speckle-core-api" },
28+
{ "name": "speckle-core-object-model", "path": "./skills/source/speckle-core/speckle-core-object-model" },
29+
{ "name": "speckle-core-transport", "path": "./skills/source/speckle-core/speckle-core-transport" },
30+
{ "name": "speckle-errors-auth", "path": "./skills/source/speckle-errors/speckle-errors-auth" },
31+
{ "name": "speckle-errors-conversion", "path": "./skills/source/speckle-errors/speckle-errors-conversion" },
32+
{ "name": "speckle-errors-transport", "path": "./skills/source/speckle-errors/speckle-errors-transport" },
33+
{ "name": "speckle-impl-autocad-civil3d", "path": "./skills/source/speckle-impl/speckle-impl-autocad-civil3d" },
34+
{ "name": "speckle-impl-automate-functions", "path": "./skills/source/speckle-impl/speckle-impl-automate-functions" },
35+
{ "name": "speckle-impl-blender", "path": "./skills/source/speckle-impl/speckle-impl-blender" },
36+
{ "name": "speckle-impl-connectors-overview", "path": "./skills/source/speckle-impl/speckle-impl-connectors-overview" },
37+
{ "name": "speckle-impl-federation", "path": "./skills/source/speckle-impl/speckle-impl-federation" },
38+
{ "name": "speckle-impl-powerbi", "path": "./skills/source/speckle-impl/speckle-impl-powerbi" },
39+
{ "name": "speckle-impl-python-sdk", "path": "./skills/source/speckle-impl/speckle-impl-python-sdk" },
40+
{ "name": "speckle-impl-revit", "path": "./skills/source/speckle-impl/speckle-impl-revit" },
41+
{ "name": "speckle-impl-rhino-grasshopper", "path": "./skills/source/speckle-impl/speckle-impl-rhino-grasshopper" },
42+
{ "name": "speckle-impl-sharp-sdk", "path": "./skills/source/speckle-impl/speckle-impl-sharp-sdk" },
43+
{ "name": "speckle-impl-tekla", "path": "./skills/source/speckle-impl/speckle-impl-tekla" },
44+
{ "name": "speckle-impl-versioning", "path": "./skills/source/speckle-impl/speckle-impl-versioning" },
45+
{ "name": "speckle-impl-viewer", "path": "./skills/source/speckle-impl/speckle-impl-viewer" },
46+
{ "name": "speckle-syntax-automate", "path": "./skills/source/speckle-syntax/speckle-syntax-automate" },
47+
{ "name": "speckle-syntax-base-objects", "path": "./skills/source/speckle-syntax/speckle-syntax-base-objects" },
48+
{ "name": "speckle-syntax-graphql", "path": "./skills/source/speckle-syntax/speckle-syntax-graphql" },
49+
{ "name": "speckle-syntax-webhooks", "path": "./skills/source/speckle-syntax/speckle-syntax-webhooks" }
50+
]
51+
}
52+
}

skills/source/speckle-errors/speckle-errors-auth/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ The server does NOT recognize the caller as a valid user.
9393
**Diagnostic steps:**
9494

9595
```graphql
96-
# Step 1: Test token validity this query requires only profile:read
96+
# Step 1: Test token validity: this query requires only profile:read
9797
query { activeUser { id name } }
9898
```
9999

skills/source/speckle-impl/speckle-impl-autocad-civil3d/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Civil 3D: File > Layer > Objects (inherits AutoCAD structure)
4545
| Extension Dictionaries | Yes | Appears in `properties` field |
4646
| Layers | Yes | Preserved as Collection hierarchy |
4747

48-
### Publishable Content (Civil 3D Additional)
48+
### Publishable Content (Civil 3D: Additional)
4949

5050
| Content Type | Supported | Notes |
5151
|-------------|-----------|-------|
@@ -255,7 +255,7 @@ Civil 3D adds a fifth proxy type not present in standard AutoCAD:
255255

256256
This proxy stores the schema of each Property Set — field names, data types, default values. It references objects that use the property set via the standard `objects` array of `applicationId` strings.
257257

258-
### Proxy Types (Civil 3D Full Set)
258+
### Proxy Types (Civil 3D: Full Set)
259259

260260
| Proxy Type | Purpose |
261261
|-----------|---------|

skills/source/speckle-impl/speckle-impl-sharp-sdk/SKILL.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ metadata:
5151

5252
---
5353

54-
## Old vs New SDK Migration Guide
54+
## Old vs New SDK: Migration Guide
5555

5656
### DEPRECATED: speckle-sharp (Legacy)
5757

@@ -98,7 +98,7 @@ dotnet add package Speckle.Objects
9898

9999
## Client and Account Setup
100100

101-
### Account Creation (Manual No Speckle Manager)
101+
### Account Creation (Manual: No Speckle Manager)
102102

103103
```csharp
104104
var account = new Account();
@@ -218,7 +218,7 @@ Base deserialized = await Operations.DeserializeAsync(json, cancellationToken);
218218

219219
---
220220

221-
## Helpers Simplified API
221+
## Helpers: Simplified API
222222

223223
The `Helpers` class provides a streamlined API for common operations:
224224

@@ -339,7 +339,7 @@ Every class extends `Base` and defines typed properties with serialization attri
339339

340340
---
341341

342-
## IL Repack Dependency Isolation
342+
## IL Repack: Dependency Isolation
343343

344344
### The Problem
345345

skills/source/speckle-syntax/speckle-syntax-base-objects/SKILL.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -240,13 +240,13 @@ var polyline = new Polyline
240240
All curve types require a `Plane` (origin, normal, xdir, ydir). See [references/examples.md](references/examples.md) for full construction examples.
241241

242242
```python
243-
# Python Arc
243+
# Python: Arc
244244
arc = Arc(startPoint=p1, midPoint=p2, endPoint=p3, plane=xy_plane, units="m")
245245

246-
# Python Circle
246+
# Python: Circle
247247
circle = Circle(plane=xy_plane, radius=5.0, units="m")
248248

249-
# Python Ellipse
249+
# Python: Ellipse
250250
ellipse = Ellipse(plane=xy_plane, firstRadius=5.0, secondRadius=3.0, units="m")
251251
```
252252

0 commit comments

Comments
 (0)