Skip to content

Commit b1c4fc9

Browse files
Plugin extra comment fixes (#23)
* feat: add stackone-connector-builder plugin with full OAS schema references * feat: add import-schema skill and wire into choose-schema workflow * fix: collapse redundant schema path C into import-schema (B) * fix: Making plugins for new users. * feat: update claude.md * fix: restoring some changes in line with new skills. Fixing plugins. * fix: Addressing all comments. * Delete docs/plans/2026-03-20-connector-builder-plugins-implementation.md * Delete docs/plans directory * fix: Splitting examples to be accurate * fix: plugin fixes * fix: More comments. * fix: Update auth setup description The description for the `/configure-auth` command in the `stackone-connector-builder` skill was updated to be more specific about the supported authentication types (custom or OAuth2).
1 parent e52ea78 commit b1c4fc9

9 files changed

Lines changed: 17 additions & 38 deletions

File tree

.claude/plugins/stackone-connector-builder/skills/build-config/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,8 @@ Read `src/configs/{{provider}}/{{provider}}.connector.s1.yaml` and add a `$ref`
179179

180180
```yaml
181181
actions:
182-
$ref: {{provider}}.employees
183-
$ref: {{provider}}.departments
182+
- $ref: {{provider}}.employees.s1.partial.yaml
183+
- $ref: {{provider}}.departments.s1.partial.yaml
184184
```
185185

186186
---

.claude/plugins/stackone-connector-builder/skills/setup-connector/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@ If unavailable:
6161

6262
**If CLI available, first check if a pullable connector exists:**
6363
```bash
64-
npx @stackone/cli list | grep -iw {{provider}}
64+
npx @stackone/cli list | grep -ix "{{provider}}"
6565
```
66-
Use `-w` for word-boundary matching to avoid substring matches (e.g., `bamboo` matching `bamboohr`). If found in the CLI list, pull it:
66+
Use `-x` for full-line matching to avoid false positives from substring or hyphenated-name matches. If found in the CLI list, pull it:
6767
```bash
6868
npx @stackone/cli pull {{provider}}
6969
```

.claude/plugins/stackone-connector-builder/skills/stackone-connector-builder/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ For connectors that normalise data to a standard schema, use `/build-unified-con
1515
| Step | Command | What it does |
1616
|------|---------|-------------|
1717
| 1 | `/setup-connector` | Provider name, index check, CLI pull or scaffold |
18-
| 2 | `/configure-auth` | Set up authentication (API key, OAuth2, Basic Auth) |
18+
| 2 | `/configure-auth` | Set up authentication (custom or OAuth2) |
1919
| 3 | `/discover-actions` | Choose scoped actions or discover everything |
2020
| 4 | `/build-config` | Generate YAML for all confirmed actions |
2121
| 5 | `/validate-connector` | Validate the YAML config |
@@ -95,7 +95,7 @@ Execute `/test-connector` logic. Saves: `tested: true`, `test_artifacts`, `compl
9595

9696
## Rules
9797

98-
- Do not write YAML until Step 4 (`build-config`)
98+
- Do not write action YAML until Step 4 (`build-config`) — auth config written in Step 2 is the exception
9999
- Do not run tests until Step 5 (`validate-connector`) passes
100100
- Always clean up test records — log anything that cannot be removed
101101
- Always run `scramble_credentials` after testing

.claude/plugins/stackone-connector-builder/skills/validate-connector/SKILL.md

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -73,29 +73,7 @@ For each error from the CLI output or the manual checklist, identify the cause a
7373

7474
**`Missing required field: entrypointUrl`**
7575

76-
Cause: A non-custom action (e.g., `actionType: list`) is missing the `entrypointUrl` key. Note: this error does not apply to `actionType: custom` actions, which do not require `entrypointUrl`.
77-
78-
Fix — add the field to the non-custom action:
79-
```yaml
80-
- actionId: list_employees
81-
categories:
82-
- {{category}}
83-
actionType: list
84-
entrypointUrl: /employees # <-- add this
85-
entrypointHttpMethod: get # <-- add this
86-
label: List Employees
87-
description: List all employees
88-
steps:
89-
- stepId: fetch_employees
90-
description: Retrieve all employees
91-
stepFunction:
92-
functionName: request
93-
parameters:
94-
url: '/employees'
95-
method: get
96-
result:
97-
data: $.steps.fetch_employees.output.data
98-
```
76+
Cause: This error applies to non-custom actions (`actionType: list`, `get`, etc.) that are missing the `entrypointUrl` key. This error should not occur in this plugin's workflow since all actions use `actionType: custom`, which does not require `entrypointUrl`. If you see this error, check that the action has `actionType: custom`.
9977

10078
---
10179

.claude/plugins/stackone-unified-builder/references/field-mapping-guide.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
````markdown
21
# Field Mapping Guide
32

43
Detailed reference for writing `fieldConfigs` in unified connectors.
@@ -318,4 +317,3 @@ This shows exactly what the provider returns before any mapping. Use it to find
318317
- Do NOT use `objectMapping` — it is not supported by the validator
319318
- Use the inline block scalar `expression: |` pattern instead
320319
- In `group_data` context, confirm the step ID prefix is correct
321-
````

.claude/plugins/stackone-unified-builder/references/schemas/hris.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -728,7 +728,7 @@
728728
| `remote_policy_id` | `string` | Provider's unique identifier of the time off policy id associated with this balance |
729729
| `policy` | `TimeOffPolicies` | The time off policy associated with this balance |
730730
| `current_balance` | `number` | The current numeric balance for the associated employee and time off policy |
731-
| `initial_balance` | `number` | The initial numeric balance for the associated employee and time off policy as of the balance sta... |
731+
| `initial_balance` | `number` | The initial numeric balance for the associated employee and time off policy as of the balance start date |
732732
| `balance_unit` | `TimeOffBalanceUnitEnum` | The duration unit of the current balance |
733733
| `balance_start_date` | `string` | The date of when the initial balance quantity was set |
734734
| `balance_expiry_date` | `string` | The date of when the current balance expires |

.claude/plugins/stackone-unified-builder/references/schemas/iam.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@
131131
| `last_active_at` | `string` | The date this user was last active |
132132
| `last_login_at` | `string` | The date this user last logged in |
133133
| `created_at` | `string` | The date the user was created |
134-
| `updated_at` | `string` | The date the user was created |
134+
| `updated_at` | `string` | The date the user was last updated |
135135
| `multi_factor_enabled` | `array<IamMfaTypeEnum>` | The list of Multi-Factor Authentication (MFA) types enabled for the user. |
136136
| `avatar` | `File` | The user's avatar data. This generally contains a URL within this property's 'contents' array. |
137137

.claude/plugins/stackone-unified-builder/skills/import-schema/SKILL.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -169,9 +169,12 @@ Once confirmed, save to `.connector-build-session.json`:
169169
>
170170
> These fields will be used as your `targetFieldKey` names in `/map-fields`. The next step is deciding which provider operations to build.
171171
>
172-
> - If you haven't set a provider yet: tell me which provider you're building for (ask directly — do not redirect to `/choose-schema`), then run `/check-connector`
173-
> - If provider is already set but connector hasn't been pulled/scaffolded: run `/check-connector`
174-
> - If provider + connector + actions are already set: run `/map-fields` directly"
172+
> - If you haven't set a provider yet: tell me which provider you're building for"
173+
>
174+
> If the builder provides a provider name, **save it to session as `provider` immediately**, then run `/check-connector`.
175+
> If provider is already set but connector hasn't been pulled/scaffolded: run `/check-connector`.
176+
> If provider + connector + actions are already set: run `/map-fields` directly.
175177
176178
Update session:
177-
- `session_step``"map-fields"` (if provider, connector, and action_scope are all set) or `"check-connector"` (if provider is set but connector not yet pulled/scaffolded) or `"choose-schema"` (if provider is not set — ask for provider name directly before redirecting)
179+
- `provider` → the builder's answer (if just collected)
180+
- `session_step``"map-fields"` (if provider, connector, and action_scope are all set) or `"check-connector"` (if provider is set but connector not yet pulled/scaffolded) or `"choose-schema"` (if provider is still not set after prompting)

.claude/plugins/stackone-unified-builder/skills/test-connector/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ npx @stackone/cli test {{provider}} unified_{{action}}_{{resource}}
8888

8989
**Field is null or missing in output:**
9090
> "Field `{{field}}` is missing. Let's debug:
91-
> 1. Run with `--debug` to see the raw provider response: `npx @stackone/cli test {{provider}} {{action}} --debug`
91+
> 1. Run with `--debug` to see the raw provider response: `npx @stackone/cli test {{provider}} unified_{{action}}_{{resource}} --debug`
9292
> 2. Find `{{field}}` in the raw response — what is the actual JSONPath?
9393
> 3. Update the `expression` in `fieldConfigs` to match."
9494

0 commit comments

Comments
 (0)