fixing-pr
Automatically fix CI failures and address PR review comments for the current branch. Use when a PR needs CI fixes, review feedback handling, and validation…
Performs QA testing on the feature implemented in the current branch. Reads specs, docs, and API docstrings, creates a QA test plan, executes tests using Playwright against a debug server, and generates a report with found issues. Use after implementing a feature to validate it
$ npx -y skills add streamlit/streamlit --agent claude-codeHow it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Performs QA testing on the feature implemented in the current branch. Reads specs, docs, and API docstrings, creates a QA test plan, executes tests using Playwright against a debug server, and generates a report with found issues. Use after implementing a feature to validate it
name: qa-testing-feature description: Performs QA testing on the feature implemented in the current branch. Reads specs, docs, and API docstrings, creates a QA test plan, executes tests using Playwright against a debug server, and generates a report with found issues. Use after implementing a feature to validate it meets requirements before finalizing a PR. model: inherit memory: user skills: - debugging-streamlit
Performs end-to-end QA testing of the feature in the current branch by reading all related documentation, creating a comprehensive test plan, and executing automated tests to find issues.
**Be fully autonomous** — Do NOT stop or pause to ask for confirmation. Go from current state to completed QA report without human intervention. Note any open questions or ambiguities in the report rather than blocking on them.
First, determine the QA output directory based on the branch name:
# Derive feature name from branch (strip prefix before "/" if present)
# Falls back to short commit hash in detached-HEAD environments (e.g., CI)
FEATURE_NAME=$(git branch --show-current | sed 's|.*/||')
FEATURE_NAME=${FEATURE_NAME:-$(git rev-parse --short HEAD)}
QA_DIR="work-tmp/qa-${FEATURE_NAME}"
mkdir -p "$QA_DIR"Use `$QA_DIR` for all output files throughout this workflow. This allows multiple QA runs for different features to coexist.
- [ ] Phase 1: Gather feature context - [ ] Phase 2: Create QA test plan - [ ] Phase 3: Set up debug environment - [ ] Phase 4: Execute test plan - [ ] Phase 5: Generate QA report
Collect all documentation related to the feature being tested:
1. **Identify the feature from branch changes:**
# Determine the base branch (from PR if exists, otherwise develop)
BASE_BRANCH=$(gh pr view --json baseRefName -q .baseRefName 2>/dev/null || echo "develop")
git fetch origin "$BASE_BRANCH" 2>/dev/null || true
git diff "origin/${BASE_BRANCH}" --stat
git log "origin/${BASE_BRANCH}..HEAD" --oneline2. **Read spec documents** (if available):
3. **Check the agent-wiki for related documents:**
4. **Read API docstrings:**
5. **Read related tests:**
6. **Understand expected behavior:**
Create a structured QA plan in `$QA_DIR/test-plan.md`:
# QA Test Plan: [Feature Name] ## Feature summary [Brief description of what the feature does] ## Source documentation - Spec: [path or "none"] - Agent-wiki docs: [list of paths or "none"] - API docstrings: [list of files] - Related tests: [list of test files] ## Test scenarios ### Functional tests | ID | Scenario | Expected behavior | Priority | |----|----------|-------------------|----------| | F1 | [Basic usage] | [Expected result] | High | | F2 | [With parameters] | [Expected result] | High | ### Edge cases | ID | Scenario | Expected behavior | Priority | |----|----------|-------------------|----------| | E1 | [Empty input] | [Expected result] | Medium | | E2 | [Invalid input] | [Expected result] | Medium | ### Visual/UI tests | ID | Scenario | Expected behavior | Priority | |----|----------|-------------------|----------| | V1 | [Default rendering] | [Expected appearance] | High | | V2 | [Responsive behavior] | [Expected appearance] | Medium | ### Interaction tests | ID | Scenario | Expected behavior | Priority | |----|----------|-------------------|----------| | I1 | [User interaction] | [Expected result] | High |
1. **Create a test app** in `$QA_DIR/test_app.py`:
2. **Start the debug server** in a background task. The `debugging-streamlit` skill provides details on this pattern:
make debug $QA_DIR/test_app.py
The server runs in the background and continues while you proceed with testing.
3. **Get the App URL and session path** from the startup output:
4. **Verify startup** by checking logs for errors (use the session path from step 3):
SESSION_DIR="<session-path-from-make-debug>" # e.g., work-tmp/debug/1234567890/ rg -i "error|exception" "$SESSION_DIR/backend.log" rg -i "error" "$SESSION_DIR/frontend.log"
#
Repo: streamlit/streamlit
Automatically fix CI failures and address PR review comments for the current branch. Use when a PR needs CI fixes, review feedback handling, and validation…
Review the current branch's changes for code quality, test coverage, security, best practices, and product/API alignment. Use when asked to perform a code…
Simplify and refine code for clarity, consistency, and maintainability while preserving all functionality. Focuses on changes in the current branch.