Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 4 additions & 12 deletions .claude/skills/swamp-extension-datastore/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -202,18 +202,10 @@ Present findings to the user before proceeding.

## Publishing

Publishing is the same for all extension types. Before pushing:

1. **Get next version**:
`swamp extension version --manifest manifest.yaml --json`
2. **Bump version** in `manifest.yaml` — use the `nextVersion` from above
3. **Format & lint**: `swamp extension fmt manifest.yaml`
4. **Dry-run**: `swamp extension push manifest.yaml --dry-run --json`
5. **Push**: `swamp extension push manifest.yaml --yes --json`

For the full manifest schema, CalVer versioning, safety rules, and
troubleshooting, see the
[publishing guide](../swamp-extension-model/references/publishing.md).
Use the `swamp-extension-publish` skill to publish extensions to the registry.
It provides a state-machine checklist that enforces all prerequisites
(repository initialization, authentication, manifest validation, collective
verification) before allowing a push.

## When to Use Other Skills

Expand Down
16 changes: 4 additions & 12 deletions .claude/skills/swamp-extension-driver/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -233,18 +233,10 @@ findings to the user before proceeding.

## Publishing

Publishing is the same for all extension types. Before pushing:

1. **Get next version**:
`swamp extension version --manifest manifest.yaml --json`
2. **Bump version** in `manifest.yaml` — use the `nextVersion` from above
3. **Format & lint**: `swamp extension fmt manifest.yaml`
4. **Dry-run**: `swamp extension push manifest.yaml --dry-run --json`
5. **Push**: `swamp extension push manifest.yaml --yes --json`

For the full manifest schema, CalVer versioning, safety rules, and
troubleshooting, see the
[publishing guide](../swamp-extension-model/references/publishing.md).
Use the `swamp-extension-publish` skill to publish extensions to the registry.
It provides a state-machine checklist that enforces all prerequisites
(repository initialization, authentication, manifest validation, collective
verification) before allowing a push.

## References

Expand Down
44 changes: 9 additions & 35 deletions .claude/skills/swamp-extension-model/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ export const model = {

Use `swamp extension version @myorg/my-model --json` to get the correct next
version. See
[references/publishing.md](references/publishing.md#determining-the-next-version)
[publishing reference](../swamp-extension-publish/references/publishing.md#determining-the-next-version)
for details.

## Version Upgrades
Expand Down Expand Up @@ -445,37 +445,10 @@ before proceeding to testing.

## Publishing Extensions

Extensions are published to the swamp registry via a `manifest.yaml` and the
`swamp extension push` command. Extensions can contain models, workflows,
vaults, drivers, datastores, and reports.

**Minimal manifest:**

```yaml
manifestVersion: 1
name: "@myorg/my-model"
version: "2026.02.26.1"
models:
- my_model.ts
```

**Push commands:**

```bash
swamp extension push manifest.yaml --json # Push to registry
swamp extension push manifest.yaml --dry-run --json # Validate without pushing
swamp extension push manifest.yaml -y --json # Skip confirmation prompts
```

The manifest `name` collective must match your authenticated username. Content
paths are relative to their respective directories (`extensions/models/`,
`extensions/vaults/`, `extensions/drivers/`, `extensions/datastores/`). Local
imports are auto-resolved. **All manifest paths must be relative and
downward-only — paths containing `..` components or starting with `/` are
rejected during push to prevent broken archives.**

For the full manifest schema, safety rules, CalVer versioning, and
troubleshooting, see [references/publishing.md](references/publishing.md).
Use the `swamp-extension-publish` skill to publish extensions to the registry.
It provides a state-machine checklist that enforces all prerequisites
(repository initialization, authentication, manifest validation, collective
verification) before allowing a push.

## Key Rules

Expand All @@ -489,7 +462,8 @@ troubleshooting, see [references/publishing.md](references/publishing.md).
7. **Version upgrades**: When bumping `version`, always add an `upgrades` entry

For import styles, helper scripts, collective naming rules, and version details,
see [references/publishing.md](references/publishing.md).
see the
[publishing reference](../swamp-extension-publish/references/publishing.md).

## Verify

Expand Down Expand Up @@ -523,8 +497,8 @@ swamp model type describe @myorg/my-model --json # Check schema
complete model examples (CRUD lifecycle, data chaining, extensions, etc.)
- **Scenarios**: See [references/scenarios.md](references/scenarios.md) for
end-to-end scenarios (custom API, cloud CRUD, factory models)
- **Publishing**: See [references/publishing.md](references/publishing.md) for
manifest schema, push workflow, safety rules, and CalVer versioning
- **Publishing**: Use the `swamp-extension-publish` skill for the full
publishing workflow, manifest schema, safety rules, and CalVer versioning
- **Smoke Testing**: See
[references/smoke_testing.md](references/smoke_testing.md) for the pre-push
smoke-test protocol, CRUD lifecycle testing, and common failure patterns
Expand Down
24 changes: 12 additions & 12 deletions .claude/skills/swamp-extension-model/evals/trigger_evals.json
Original file line number Diff line number Diff line change
Expand Up @@ -93,36 +93,36 @@
{
"query": "Make a manifest.yaml so I can push my extension",
"should_trigger": true,
"note": "manifest.yaml and push extension are triggers"
"note": "manifest creation is shared between this skill and swamp-extension-publish"
},
{
"query": "Publish my model to the registry",
"should_trigger": true,
"note": "publish extension and publish to registry are triggers"
"should_trigger": false,
"note": "Publishing → swamp-extension-publish"
},
{
"query": "Help me push this extension to swamp-club",
"should_trigger": true,
"note": "push extension is a trigger"
"should_trigger": false,
"note": "Pushing extensions → swamp-extension-publish"
},
{
"query": "I need to write a manifest for my model",
"should_trigger": true,
"note": "write manifest and manifest are triggers"
"note": "manifest creation is part of model authoring"
},
{
"query": "Prepare my extension for publishing",
"should_trigger": true,
"note": "prepare for publishing is a trigger"
"should_trigger": false,
"note": "Publishing workflow → swamp-extension-publish"
},
{
"query": "How do I swamp extension push my model?",
"should_trigger": true,
"note": "extension push is a trigger"
"should_trigger": false,
"note": "Extension push → swamp-extension-publish"
},
{
"query": "I want to release a new version of my extension",
"should_trigger": true,
"note": "release extension and bump version are triggers"
"should_trigger": false,
"note": "Releasing extensions → swamp-extension-publish"
}
]
Loading
Loading