atomic

flowstate-flowstate-platform-epicdm-smoke-tests

Package-local agent skill for @epicdm/smoke-tests.

Tags

Publisher

Versions

1 version published — latest: 0.1.0

  • 0.1.0
    publishedInvalid Date

Skill

smoke-tests Package Skill

Package: @epicdm/smoke-tests Repository: flowstate-platform Path: packages/smoke-tests Version: 0.1.0

Use this published Dojo skill as the package-level entrypoint. For detailed workflows, use the package-local skills listed below.

Primary Package Workflow

Smoke API Workflows

Status: Active Purpose: Add smoke tests that reuse the package helpers and degrade gracefully when credentials are absent. Scope: packages/smoke-tests/src Trigger: New service endpoint, CLI command, or platform lifecycle needs smoke coverage. Input: Target service, endpoint or command, expected status, and required auth. Output: A smoke test file consistent with the package harness.


Workflow

  1. Put API tests under src/api/<service>/, CLI tests under src/cli/, and cross-service tests under src/workflows/.
  2. Use resetConfig() and getConfig() in setup.
  3. Prefer typed clients from createClients(config) for generated API client coverage; use fetch when testing raw HTTP contract details such as content type or unauthenticated rejection.
  4. Skip optional authenticated assertions with if (!token) return; do not fail the whole smoke suite for missing optional credentials.
  5. Use runCli(config, args) and isCliAvailable(config) for CLI tests.

Example

beforeAll(() => {
  resetConfig()
  config = getConfig()
})

it('rejects unauthenticated publish with 401', async () => {
  const res = await fetch(`${config.services.dojo.url}/publish/skills`, {
    method: 'POST',
    headers: { 'Content-Type': 'text/plain' },
    body: 'name: test-skill\nversion: 1.0.0\n',
  })
  expect(res.status).toBe(401)
})

Verification

  • Run a single file with SMOKE_ENV=local yarn workspace @epicdm/smoke-tests test:all -- --testPathPattern="<service>/<feature>".
  • Use test:ci only when CI-style artifacts and force-exit behavior are desired.

Package Skill Inventory

Skill Inventory: @epicdm/smoke-tests

Package Role

@epicdm/smoke-tests is the platform smoke harness for service health, API contracts, CLI commands, Playwright flows, and cross-service workflows.

Skills

SkillTypeUse WhenSource Backing
smoke-test-harnessWorkflowRunning, triaging, or adding smoke tests across environments.README.md, package.json, src/helpers/config.ts
smoke-api-workflowsPatternAdding API, CLI, or workflow smoke cases using the local helpers.src/helpers/api-clients.ts, src/helpers/cli-runner.ts, src/api/dojo/skill-publish.smoke.ts

Composition Notes

  • Compose with worker package skills when adding endpoint-specific smoke coverage.
  • Compose with CLI package skills for command behavior, but keep execution through runCli.
  • Do not use smoke tests as unit tests; they assume deployed or locally running services.

Review Gate

Review Gate: @epicdm/smoke-tests Skills

Result

Pass.

Checks

  • Skills are backed by README and helper source, not only inventory data.
  • Authentication skips and service URL configuration are documented.
  • Commands avoid changing external state by using --listTests for lightweight verification.

Residual Risk

Full smoke execution depends on local services or staging credentials, so verification should be targeted unless the user explicitly asks for live smoke runs.

Usage

Start with this skill to understand the package purpose, then use the package-local focused skills for specific workflows. Keep this Dojo version aligned with packages/smoke-tests/package.json. Do not treat generated feature lists as lessons; use workflow evidence from CODE-REVIEW.md, SKILL-INVENTORY.md, and REVIEW.md.

Install

Run this in your project to install via CLI:

fscloud dojo skill install flowstate-flowstate-platform-epicdm-smoke-tests --target <target> --out ./skills

Replace <target> with your agent target identifier. See the CLI docs for details.

flowstate-flowstate-platform-epicdm-smoke-tests | dojo.epicflowstate.ai | Epic Dojo