| name | testsuite |
| version | 1.0 |
| last_updated | 2026-08-07 |
| id | testsuite |
| one_line_purpose | Route a testsuite task to the right skill and hard rules. |
| entry_point | docs/SKILL.md |
| category | meta |
| mcp_compliance_level | partial |
| status | active |
| dependencies | [] |
| tags | ["router","index","testsuite"] |
| description | Task → skill router and hard-rule set for projectbluefin/testsuite. Load this first in every session, then load only the sub-skills your task needs. |
| metadata | {"type":"manifest","audience":"agents","maturity":"stable"} |
testsuite skill router
This is the entry point required by the factory contract
(projectbluefin/common factory-onboarding).
Read AGENTS.md first for local authority (paths, ownership,
build commands, branch targets), then this file, then only the skills your task
needs. The generated catalog lives at skills/index.json
with a human-readable mirror at skills/index.md.
Hard rules
- Context7 before any library — resolve qecore, dogtail, behave, gi.repository, AT-SPI docs via Context7; never guess API from training data.
- Shared SSH steps — import from
tests/shared/ssh_steps.py; never duplicate _ssh() in suite files.
- No ambiguous steps —
grep -h "^@step" tests/<suite>/features/steps/*.py | sort | uniq -d must be empty.
- dogtail 4.16 — never pass
requireResult to findChild; use findChildren(pred) for no-raise.
- GNOME Shell 50+ top-bar — use
Shell.Eval, not AT-SPI clicks; set unsafe_mode=true first.
- Smoke suite is local, not SSH — smoke runs inside the VM via qecore-headless; never import
tests.shared.ssh_steps there.
- Behave only — no new pytest files outside
tests/unit/; legacy pytest was removed 2026-05.
- Fedora 41 for test container — qecore/dogtail/GObject stack runs in
registry.fedoraproject.org/fedora:41.
- Dry-run before push — run
behave --dry-run tests/<suite>/features after touching .feature files.
- Update skills in the same PR — any code change that surfaces a convention must update the matching skill file. See
skills/meta/skill-improvement/SKILL.md.
- Isolated work lives in — branch from at the repo root; never , , or sibling directories, and never touch another worktree's branch or working tree. See .