Testing and CI Conventions for SkillHub
Enforces testing conventions, CI pipeline rules, and smoke test coverage for SkillHub, ensuring agents write tests correctly and understand the CI gate.
Evidence: SKILL.md provides detailed guidelines for testing and CI, including explicit prohibitions of certain commands and emphasis on using Makefile targets to ensure correct build order. Provides staging environment and checklist, indicating quality focus. No malicious or overreaching behavior found. Publisher identity is unknown but not penalized. Deductions: No explicit requirement for user confirmation or data-flow transparency; permission model not detailed; rollback and recovery mechanisms not mentioned. Thus trust score 12.
Evidence: SKILL.md provides detailed commands, tools, and naming conventions, logically consistent, with useful failure feedback (e.g., avoiding direct mvnw). Repo contains CI workflow files but no test suites covering the skill's key paths or executed verification. Deductions: Static review prevents verification of key paths; error handling and edge cases limited; test files and expected results not directly provided in SKILL.md. Thus reliability score 8.
Evidence: Skill clearly defines applicable scenarios (backend tests, frontend tests, CI/CD, smoke tests) and provides specific commands and paths. Repo supports Chinese (README_zh.md) and provides Aliyun mirror, indicating consideration for Chinese users. Deductions: Environmental adaptability (e.g., overseas service dependencies) not fully explained; boundaries and non-fit ranges not clearly defined; trigger conditions based on keywords may false-trigger. Thus adaptability score 8.
Evidence: SKILL.md clearly structured, provides install/dependency notes (e.g., dependence on Maven modules), command examples, naming conventions, and checklist. Uses Apache-2.0 license. Repo provides versioning and changelog via git history. Deductions: No troubleshooting section; implicit assumptions (e.g., Docker, Maven installed) not clarified; maintenance responsibility and update path not specifying. Thus convention score 9.
Evidence: SKILL.md provides clear goals and commands to guide testing and CI tasks. But no actual output examples or validation results; marginal value not quantified. Deductions: Core task completion plausible, but evidence of output completeness and direct usability insufficient; static review limits effectiveness verification. Thus effectiveness score 6.
Evidence: Repo contains real CI workflow files (e.g., claim-issue-reward.yml, deepwiki.yml) but not covering the skill's key paths (testing and CI itself) with executable validation. SKILL.md provides no reproducible verification steps or evidence. Deductions: Lack of independent verification for this skill; no third-party execution evidence; static review caps at 5; here awarded 4.
- The skill provides internal testing and CI guidelines but does not include actual test cases or verification scripts, so users should verify command correctness themselves.
- Publisher identity is not verified; it is recommended to assess the skill source reliability in practice.
- The CI workflows and test commands may depend on external services (e.g., GitHub Actions) that might be inaccessible from mainland China; verify network environment.
What does this skill do, and when should you use it?
This skill defines the testing and continuous integration (CI) conventions for SkillHub, covering backend (JUnit 5 + Mockito + AssertJ + Spring Boot test slices), frontend (Vitest for unit, Playwright for E2E), and smoke test scripts. It triggers whenever an agent adds or modifies tests, changes CI/CD workflows, or adds smoke/E2E tests. The skill emphasizes using Makefile targets (like `make test-backend-app`) over direct Maven commands and provides a pre-PR checklist including `make staging` for containerized validation. It also includes a detailed table of GitHub Actions workflows for CI and naming conventions for various test types.
The skill specifies where test files live (e.g., backend in server/*/src/test/java/, frontend E2E in web/e2e/) and which tools to use (JUnit 5, Mockito, AssertJ, Spring Boot test slices, Vitest, Playwright). It provides test and build commands (make test-backend-app, make test-frontend, make test-e2e-smoke-frontend) and warns against running ./mvnw -pl skillhub-app clean test directly. It lists smoke test scripts and their purpose (basic API, namespace, governance, promotion), and defines CI workflows (e.g., pr-tests.yml, pr-e2e.yml, publish-images.yml). It also specifies test naming conventions (e.g., {ControllerName}Test.java) and a pre-PR checklist that includes make generate-api and make staging.
- When adding or modifying backend tests in `server/`, an agent should follow this skill to ensure tests are placed in the correct module and follow naming conventions.
- When modifying frontend tests or adding Playwright E2E tests, an agent can use the commands `make test-frontend` and `make test-e2e-frontend` from this skill.
- When adding a new smoke test or modifying an existing one (e.g., `scripts/smoke-test.sh`), an agent should reference the table of scripts and their purposes.
- When changing GitHub Actions workflows or CI/CD configuration, an agent should follow this skill to understand triggers, purpose, and location of all workflows.
- Before opening a PR, an agent should use the pre-PR checklist to verify that `make test-backend-app`, `make typecheck-web`, and `make staging` all pass.
What are this skill's strengths and limitations?
- Provides detailed and concrete test conventions, including naming and tools.
- Includes a pre-PR checklist for runtime validation.
- Gives a clear overview of smoke test scripts and their purposes.
- Has a well-structured table of CI workflows for quick reference.
- Highly specific to the SkillHub project; it defines conventions for that repository, not a generic testing skill.
- Covers only scenarios for backend/frontend/CI modifications; it does not provide general testing strategy or best practices.
- Relies on project-specific Makefile targets; not directly reusable in other projects without adaptation.
- Does not include its own test suite or evidence of validation on other platforms.
How do you install this skill?
The skill is provided as part of the SkillHub repository, located at .agents/skills/testing-and-ci/SKILL.md. To install it, copy this folder into your agent's skill directory, or ensure the agent has access to the repository. An official installation guide for the whole collection is not included in the provided docs.
How do you use this skill?
Use this skill when you need the agent to follow testing or CI conventions. The skill triggers when adding or modifying tests, changing CI/CD workflows, or adding smoke tests or E2E tests. For example, you can prompt: "Write unit tests for the backend module I just modified, following the conventions in the testing-and-ci skill." The agent will then read the SKILL.md and apply the rules, such as running tests with make test-backend-app.