Skip to content

fix: add testing refs and swamp-extension-vault to BUNDLED_SKILLS#971

Merged
stack72 merged 2 commits intomainfrom
fix-bundled-skills
Mar 31, 2026
Merged

fix: add testing refs and swamp-extension-vault to BUNDLED_SKILLS#971
stack72 merged 2 commits intomainfrom
fix-bundled-skills

Conversation

@stack72
Copy link
Copy Markdown
Contributor

@stack72 stack72 commented Mar 30, 2026

Summary

  • Add testing.md references for all extension skills (model, vault, datastore, driver, report) to BUNDLED_SKILLS so they're copied during swamp repo init and swamp repo upgrade
  • Add the entire swamp-extension-vault skill which was missing from the bundle (SKILL.md + api, examples, testing, troubleshooting refs)
  • Update all four extension skill references/testing.md with mock primitive documentation (withMockedFetch, withMockedCommand, local mock server patterns)

Without these entries, the testing docs wouldn't be shipped to user repos.

Test Plan

  • deno check passes on skill_assets.ts
  • deno lint passes
  • Skill files exist on disk for all referenced paths

🤖 Generated with Claude Code

stack72 and others added 2 commits March 31, 2026 00:51
Update all four skill testing references to document withMockedFetch,
withMockedCommand, and local mock server patterns. Each skill doc now
covers the appropriate mocking approach for its extension type:

- Vault: withMockedCommand for CLI vaults (1password), local mock
  server + AWS_ENDPOINT_URL for AWS SDK vaults, withMockedFetch for
  REST API vaults
- Datastore: local mock server for S3 verifier, mock client for lock
  testing, withMockedCommand for CLI-based datastores
- Driver: withMockedFetch for HTTP drivers, withMockedCommand for
  subprocess drivers, local mock server for AWS SDK drivers
- Report: withMockedFetch and withMockedCommand for reports that call
  external pricing APIs or CLI tools

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…KILLS

The testing.md reference files for vault, datastore, driver, and report
skills were not registered in BUNDLED_SKILLS, so they wouldn't be copied
during `swamp repo init` or `swamp repo upgrade`.

Also adds the entire swamp-extension-vault skill which was missing from
the bundle (SKILL.md + api, examples, testing, troubleshooting refs).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

No blocking issues found. This is a clean, low-risk PR that adds missing skill bundle entries and improves testing documentation.

What was reviewed

  • skill_assets.ts: New BUNDLED_SKILLS entries follow the existing { relativePath, name } pattern exactly. All referenced files verified to exist on disk.
  • testing.md updates: Four extension skill testing docs updated with withMockedFetch, withMockedCommand, and local mock server patterns. Documentation is well-structured and consistent across all four skills.
  • No libswamp import boundary violations — changes are in the infrastructure layer and skill documentation only.
  • No security concerns — static array additions and markdown documentation.
  • AGPLv3 header present on skill_assets.ts.

Suggestions

  1. The swamp-extension-vault entries in BUNDLED_SKILLS could be grouped closer to the other swamp-vault entries for readability, but they're already adjacent so this is minor.

LGTM — ship it.

Copy link
Copy Markdown

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adversarial Review

Critical / High

None.

Medium

None.

Low

  1. .claude/skills/swamp-extension-datastore/references/testing.md:82-86 — The S3 mock server example sets AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY as environment variables and deletes them in finally, but AWS_SECRET_ACCESS_KEY is not deleted in the finally block (only AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY are deleted — wait, on re-read both are deleted, this is fine). No issue here actually.

  2. .claude/skills/swamp-extension-vault/references/testing.md:87 — The AWS mock server example's finally block deletes AWS_ENDPOINT_URL but not AWS_ACCESS_KEY_ID or AWS_SECRET_ACCESS_KEY. Similarly, the datastore and driver testing docs have the same pattern in their AWS examples. Since these are documentation examples (not executable code), this is cosmetic, but users copying the pattern could leak test env vars to subsequent tests. Unlikely to cause real issues since these are fake creds in test contexts.

  3. Documentation-only concern — The vault testing doc removed the createVaultTestContext usage example (the in-memory test double section) in favor of mock primitive docs. The function still exists and is exported from @systeminit/swamp-testing. Users looking for "how to create an in-memory vault for consumer tests" now have less guidance in this skill doc, though the README in the testing package still covers it. Minor discoverability regression.

Verdict

PASS — Straightforward data additions to BUNDLED_SKILLS (all referenced files verified to exist on disk) and documentation updates adding mock primitive guidance. No logic changes, no security concerns, no breaking changes.

@stack72 stack72 merged commit 8dff809 into main Mar 31, 2026
10 checks passed
@stack72 stack72 deleted the fix-bundled-skills branch March 31, 2026 00:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant