xmtplabs/convos-ios/qa-writer
Claude Code and agent skill by xmtplabs/convos-ios
- community
Checking that the SKILL.md file is still in the repository.
Write new QA test sequences for the Convos iOS app. Use when asked to create, draft, or add a new QA test.
Install
npx vskill@latest install xmtplabs/convos-ios/qa-writerSKILL.md
QA Test Writer
Create new end-to-end QA test sequences for the Convos iOS app.
Before Writing a Test
- Read
qa/RULES.mdin full — it defines conventions, tool usage, error handling, and formatting that all tests must follow. - Read
.pi/skills/convos-cli/SKILL.mdfor the full CLI command reference — tests reference CLI actions by description, not exact commands. - Scan existing tests in
qa/tests/to understand the style, structure, and level of detail used. - Read the relevant source code to understand:
- What accessibility identifiers exist for the feature being tested (grep for
accessibilityIdentifierin the relevant views). - What the expected UI flow looks like (read the View and ViewModel files).
- What log output to expect (grep for
Log.info,Log.errorin the relevant code).
Test File Structure
Every test file follows this structure:
Writing Guidelines
Be descriptive, not prescriptive
Describe what to do and what to expect, not the exact tool calls. The QA runner agent knows the tools — it needs to know the intent.
Exception: tricky patterns
When a step involves a known-tricky pattern (ephemeral UI, background processes, timing), do include the specific technique. Reference the relevant RULES.md section.
Step numbering
Number steps sequentially across all sections. This makes it easy to reference steps in pass/fail criteria and failure reports (e.g., "failed at step 7").
Pass/fail criteria
Each criterion must be:
- Specific: "Conversation name 'Test Group' appears in the header" not "conversation loads"
- Verifiable: Can be checked via accessibility tree, screenshot, CLI output, or logs
- Independent: Each criterion tests one thing — don't combine multiple assertions
Cover the full lifecycle
Every test should include:
- Setup: Create test data (conversations, messages, invites)
- Action: Perform the feature being tested
- Verification: Check the result in the app AND via CLI/logs
- Teardown: Clean up (explode conversations, remove test data)
Reference RULES.md for common patterns
Don't repeat rules — reference them:
- Invite processing → "Process the join request (per invite ordering rules in RULES.md)"
- Ephemeral UI → "Tap the profile pill (per ephemeral UI rules in RULES.md)"
- Log monitoring → "Check for errors (per log monitoring rules in RULES.md)"
- XMTP errors → "Note any XMTP errors but judge pass/fail by app state (per RULES.md)"
Performance tests
If the test measures timing, specify:
- What
[PERF]log lines to look for - How many runs to take (typically 3)
- What the target thresholds are
- The results table format
Known limitations
Document any known limitations or gotchas at the point where they matter:
- Messages sent before join are hidden by design
- CLI commands that don't support certain flags
- Elements that auto-dismiss (reference ephemeral UI rules)
Registering the Test
After creating the test file at qa/tests/XX-name.md:
- Add it to the test table in
qa/SKILL.mdunder "Available Tests" - If it has ordering dependencies, note where it fits in the "Run all tests" sequence
- Use the next available test number
Example: Minimal Test
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingqa/skills/qa-writer/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/xmtplabs/convos-ios/qa-writer)