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.0publishedInvalid 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
- Put API tests under
src/api/<service>/, CLI tests undersrc/cli/, and cross-service tests undersrc/workflows/. - Use
resetConfig()andgetConfig()in setup. - Prefer typed clients from
createClients(config)for generated API client coverage; usefetchwhen testing raw HTTP contract details such as content type or unauthenticated rejection. - Skip optional authenticated assertions with
if (!token) return; do not fail the whole smoke suite for missing optional credentials. - Use
runCli(config, args)andisCliAvailable(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:cionly 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
| Skill | Type | Use When | Source Backing |
|---|---|---|---|
smoke-test-harness | Workflow | Running, triaging, or adding smoke tests across environments. | README.md, package.json, src/helpers/config.ts |
smoke-api-workflows | Pattern | Adding 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
--listTestsfor 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 ./skillsReplace <target> with your agent target identifier. See the CLI docs for details.