skillshare-cli-e2e-test
Run isolated E2E tests in devcontainer from ai_docs/tests runbooks. Use this skill whenever the user asks to: run an E2E test, execute a test runbook, validate a feature end-to-end, create a new runbook, or test CLI behavior in isolation. If you need to run a multi-step CLI validation sequence (init → install → sync → verify), this is the skill — it handles ssenv isolation, flag verification, and structured reporting. Prefer this over ad-hoc docker exec sequences for any test that follows a runbook or needs reproducible isolation.
npx skills add runkids/skillshare --skill skillshare-cli-e2e-test --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
Run isolated E2E tests in devcontainer. $ARGUMENTS specifies runbook name or "new". ## Flow ### Phase 0: Environment Check 1. Confirm devcontainer is running and get container ID: ```bash CONTAINER=$(docker compose -f .devcontainer/docker-compose.yml ps -q skillshare-devcontainer) ``` - If empty → prompt user: `docker compose -f .devcontainer/docker-compose.yml up -d` - Ensure `CONTAINER` is set for all subsequent `docker exec` calls. 2. Confirm Linux binary is available: ```bash docker exec $CONTAINER bash -c \ '/workspace/.devcontainer/ensure-skillshare-linux-binary.sh && ss version' ``` 3. Confirm mdproof is installed: ```bash docker exec $CONTAINER /workspace/.devcontainer/ensure-mdproof.sh ``` This auto-installs from GitHub release, or falls back to `/workspace/bin/mdproof` (local dev binary). 4. Check for lessons learned from previous runs: ```bash test -f /workspace/.mdproof/lessons-learned.md && cat /workspace/.mdproof/lessons-learned.md ``` If the file exists, read it before writing or debugging runbooks — it contains known gotchas and assertion patterns. ### Phase 1: Detect Scope 1. Preview all available runbooks via the container: ```bash docker exec $CONTAINER mdproof -
- Flow
- Phase 0: Environment Check
- Phase 1: Detect Scope
- Phase 2: Select Tests
- Phase 3: Prepare & Execute
- Phase 4: Cleanup & Report
- Runbook Quality Checklist
- Runbook Assertion Types
- Rules
- ssenv Quick Reference
- Test Command Policy
- --json Quick Reference
- Assertion Patterns with jq
- Container Command Templates
docker exec $CONTAINER bash -c \
docker exec $CONTAINER /workspace/.devcontainer/ensure-mdproof.sh
test -f /workspace/.mdproof/lessons-learned.md && cat /workspace/.mdproof/lessons-learned.md
docker exec $CONTAINER mdproof --dry-run --report json /workspace/ai_docs/tests/
git diff --name-only HEAD~3
docker exec $CONTAINER ssenv create "$ENV_NAME" --init
docker exec $CONTAINER env SKILLSHARE_DEV_ALLOW_WORKSPACE_PROJECT=1 \
ssenv enter "$ENV_NAME" -- \
mdproof --report json \
mdproof --report json runbook.md 2>&1 | jq '{What does the skillshare-cli-e2e-test skill do?
Run isolated E2E tests in devcontainer from ai_docs/tests runbooks. Use this skill whenever the user asks to: run an E2E test, execute a test runbook, validate a feature end-to-end, create a new runbook, or test CLI behavior in isolation. If you need to run a multi-step CLI validation sequence (init → install → sync → verify), this is the skill — it handles ssenv isolation, flag verification, and structured reporting. Prefer this over ad-hoc docker exec sequences for any test that follows a runbook or needs reproducible isolation.
How do I install it?
Run `npx skills add runkids/skillshare --skill skillshare-cli-e2e-test --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From runkids/skillshare, a repository with 2,519 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
