supabase
Handles the full Supabase workflow from schema changes to deployment, with built-in security guardrails that catch common traps like RLS...
fix-pr-feedback
Address PR feedback with iterative refinement. MUST BE USED when fixing PR issues. Supports auto-detection (CI failures, code review) and manual triage (user reports bugs). Creates Beads issues for all problems, fixes systematically. Use when user says "fix the PR", "i noticed bugs", "ci failures...
Full skill instructions
Address PR feedback with automated discovery tracking and iterative fixes.
Handles the iterative refinement loop after PR creation:
Philosophy: Fast feedback → Track discoveries → Iterative fixes → Trust environments
Trigger phrases:
Automatically invoked when:
This skill operates in two modes:
Triggers: "fix the PR", "fix CI failures", "address the feedback"
Workflow:
gh pr view --json statusCheckRollupgh pr view --json commentsUse when: PR exists and you want AI to discover all issues automatically
Triggers: "i noticed bugs: 1. X, 2. Y", "ci failures: 1. A, 2. B", "codex review found issues: 1. P, 2. Q"
Workflow:
Use when: User already knows what bugs exist (from CI logs, code review, manual testing)
Example user input formats:
"i noticed bugs: 1. MCP type error, 2. permission denied, 3. obsolete test"
"ci failures: 1. labeler format, 2. PR metadata missing"
"codex review: 1. Update tests, 2. Add docs"
Key difference: Manual mode CREATES issues from user's list, then discusses. Auto mode DISCOVERS issues from PR/CI, then discusses.
# Get current branch
git branch --show-current
# Extract FEATURE_KEY from feature-<KEY>
# Get PR number
gh pr view --json number,url,title -q '.number'
# Or user provides PR number explicitly
# Get parent feature issue
bd show <FEATURE_KEY>
Mode 1 (Auto-Detection): Read CI/PR automatically
A. Check CI Status
gh pr view <PR_NUMBER> --json statusCheckRollup -q '.statusCheckRollup'
Parse results:
B. Read PR Comments
gh pr view <PR_NUMBER> --json comments -q '.comments[] | {author:.author.login, body:.body, createdAt:.createdAt}'
Filter for:
C. Check Merge Conflicts
gh pr view <PR_NUMBER> --json mergeable -q '.mergeable'
Mode 2 (Manual Triage): Parse user's bug list
User: "i noticed bugs: 1. MCP type error, 2. permission denied, 3. CI labeler format"
Parse numbered list:
bugs = [
{num: 1, description: "MCP type error"},
{num: 2, description: "permission denied"},
{num: 3, description: "CI labeler format"}
]
Group feedback by type:
Type: CI Failure
Type: Code Review Comment
Type: Merge Conflict
Type: Bot Suggestion
For each discovery, create child issue:
# Create child issue linked to parent
bd create "Bug: <short-description>" \
--type bug \
--priority 1 \
--description "<full-context>" \
--design "<how-to-fix>"
# Link to parent (creates discovered-from dependency)
bd dep add <child-id> <parent-id> --type discovered-from
Issue type rules:
Priority rules:
This phase is REQUIRED for both modes. Never skip discussion.
📋 Created 3 Beads issues for PR #155:
1. ❌ bd-abc (Bug, P1): Test suite failing
- tests reference deleted github_projects.py
- Auto-fixable: YES (simple import update)
2. 🤖 bd-def (Bug, P1): Update tests for removed helper
- FileNotFoundError in test_github_projects_lookup
- Auto-fixable: YES (delete obsolete test)
3. ⚠️ bd-ghi (Task, P2): Add documentation for new skill
- New skill needs usage examples
- Auto-fixable: MAYBE (need to know what to document)
Which would you like me to fix?
a) Fix all auto-fixable issues (1, 2)
b) Fix specific ones (specify numbers)
c) I'll handle some myself (tell me which to skip)
Options:
Why mandatory discussion:
Determine fixability:
function canAutoFix(discovery) {
// AI can fix:
if (discovery.type === "deleted_file_reference") return true;
if (discovery.type === "import_error") return true;
if (discovery.type === "lint_error") return true;
if (discovery.type === "simple_test_fix") return true;
// AI should ask:
if (discovery.type === "architectural_change") return false;
if (discovery.type === "breaking_api_change") return false;
if (discovery.type === "security_issue") return false;
// Default: ask
return false;
}
Fix workflow:
For each fixable issue (iterate systematically):
# 1. Read relevant files with Serena
mcp__serena__find_symbol(name_path=<symbol>)
mcp__serena__get_symbols_overview(relative_path=<file>)
# 2. Make fixes with Serena
mcp__serena__replace_symbol_body(...)
mcp__serena__insert_after_symbol(...)
# 3. Verify fix (optional, <5s)
make lint-fast
# 4. Close child issue BEFORE commit
bd close ${childIssue.id} --reason "Fixed"
# 5. Force flush to JSONL (don't wait for debounce)
bd sync --flush-only
# 6. AUTO-COMMIT with child Feature-Key (inline, not "commit my work")
git add -A
git commit -m "fix: <issue-description>
Closes ${childIssue.id}
Feature-Key: ${childIssue.id}
Parent-Feature: ${parentIssue.id}
Discovery-Type: pr-review
PR-Number: ${prNumber}"
# 6. Move to next issue
# Repeat steps 1-5 for each approved bug
Key: One commit per bug, close issue immediately after commit
# Push all commits at once
git push
# PR auto-updates, CI re-runs automatically
Note: Push ONCE at the end, not after each commit. This allows:
✅ Fixed 2 of 3 issues in 2 commits:
✅ bd-abc (CI Failure): Closed
✅ bd-def (Codex Review): Closed
⏭️ bd-ghi (Danger Bot): Skipped (needs human input)
📤 Pushed to feature-GUARD_SKILL_ACTIVATION
🔄 PR #156 updated, CI re-running
Next steps:
- Wait for CI results (~2min)
- If CI passes → Ready to merge
- If CI fails → Say "fix the PR" again to iterate
User triggers next iteration if needed:
CI re-runs → New failures appear
User: "fix the PR"
AI: [Reads new CI output, creates new child issues, repeats workflow]
OR user checks manually:
User: "check CI status"
AI: [Shows current check results]
User: "fix the PR" (if failures exist)
No automatic polling - user controls when to iterate. This follows V3 philosophy: trust environments, manual triggers.
Detect:
CI output: "FileNotFoundError: scripts/lib/github_projects.py"
Fix:
1. Find references: mcp__serena__search_for_pattern("github_projects.py")
2. For each reference:
- Read context: mcp__serena__get_symbols_overview
- Replace call: mcp__serena__replace_symbol_body
- Update imports: mcp__serena__insert_after_symbol
Detect:
CI output: "FAILED tests/test_foo.py::test_bar - AssertionError"
Fix:
1. Read test: mcp__serena__find_symbol("test_bar", relative_path="tests/test_foo.py")
2. Analyze failure reason
3. If simple assertion mismatch → fix expected value
4. If logic error → ask user for guidance
Detect:
CI output: "E501 line too long (92 > 88 characters)"
Fix:
1. Read file at line number
2. Reformat with black/prettier (or manually)
3. Commit lint fix
Detect:
gh pr view: mergeable = false
Fix:
1. Fetch latest: git fetch origin master
2. Attempt rebase: git rebase origin/master
3. If conflicts:
- Ask user to resolve manually
- Provide guidance on conflict resolution
4. If clean: git push --force-with-lease
✅ Read PR feedback (comments, CI, conflicts) ✅ Create child Beads issues for discoveries ✅ Fix simple/obvious issues automatically ✅ Ask user for complex issues ✅ Commit with proper Feature-Key trailers ✅ Push updates to same branch ✅ Close child issues on success
❌ Create new PRs (fixes go to existing PR) ❌ Force merge (respects required checks) ❌ Fix architectural issues without asking ❌ Run full test suite locally (CI does this) ❌ Wait for CI to pass (pushes immediately) ❌ Delete child issues (closes, preserves history)
❌ Fixing without creating child issues ❌ Creating new branch for fixes ❌ Closing parent issue before PR merges ❌ Auto-fixing security issues without review ❌ Batching multiple fixes in one commit ❌ Not linking child issues to parent
Before auto-fixing:
Auto-fix allowed:
Require user approval:
50 lines changed
Never auto-fix:
User: "fix the PR"
AI reads PR #155:
- CI failure: test_github_projects_lookup references deleted file
- Fixable: Yes (simple import update)
AI:
1. Creates bd-pso.1 (Bug: Update tests for removed helper)
2. Uses Serena to update test imports
3. Commits: "fix: Update tests to use Beads commands"
4. Pushes to branch
5. Closes bd-pso.1
6. Confirms: "✅ Fixed CI failure, PR updated"
User: "fix the PR"
AI reads PR #155:
- Codex: "This approach doesn't scale for large datasets"
- Not fixable: Requires architectural decision
AI:
1. Creates bd-pso.2 (Task: Optimize for large datasets)
2. Asks user: "This requires architectural changes. Options:
a) Add pagination
b) Use streaming
c) Keep current approach with docs
Which approach?"
3. User chooses option
4. AI implements or creates plan
User: "fix the PR"
AI reads PR #155:
- CI failure: Lint errors (15 lines)
- Codex: Test coverage suggestion
- Danger: Missing docs
AI:
1. Creates 3 child issues: bd-abc, bd-def, bd-ghi
2. Shows summary with auto-fixability analysis
3. Asks: "Fix all, or one at a time?"
4. User: "fix all"
5. AI fixes lint (auto-commit), adds tests (asks first, commits), adds docs (auto-commit)
6. 3 commits created with different Feature-Keys
7. All 3 child issues closed
8. Pushes all commits
9. Confirms: "✅ All issues resolved, CI re-running"
User: "i noticed bugs: 1. MCP type error, 2. permission denied, 3. obsolete test, 4. CI labeler, 5. CI metadata"
AI:
1. Parses 5 bugs from numbered list
2. Creates 5 Beads issues: bd-l76, bd-m89, bd-njn, bd-2qv.1, bd-2qv.2
3. Links all to parent (discovered-from)
4. **MANDATORY DISCUSSION:**
📋 Created 5 Beads issues for PR #156:
1. bd-l76 (Bug, P1): MCP type error → Auto-fixable: YES (doc update)
2. bd-m89 (Bug, P1): permission denied → Auto-fixable: YES (chmod +x)
3. bd-njn (Bug, P1): obsolete test → Auto-fixable: YES (delete file)
4. bd-2qv.1 (Bug, P1): CI labeler → Auto-fixable: YES (YAML format)
5. bd-2qv.2 (Bug, P1): CI metadata → Auto-fixable: YES (PR body)
Which should I fix?
5. User: "fix all"
6. AI fixes systematically:
- bd-l76: Update AGENTS.md (commit, close)
- bd-m89: chmod +x script (commit, close)
- bd-njn: Delete test file (commit, close)
- bd-2qv.1: Fix labeler.yml (commit, close)
- bd-2qv.2: Update PR body (commit, close)
7. Pushes 5 commits
8. Confirms: "✅ Fixed all 5 bugs, PR updated, CI re-running"
Last Updated: 2025-01-13 Related Skills: create-pull-request, sync-feature-branch, beads-workflow Helper Scripts: scripts/bd-link-pr References:
Changelog:
Handles the full Supabase workflow from schema changes to deployment, with built-in security guardrails that catch common traps like RLS...
Comprehensive guides and best practices for Neon Serverless Postgres, covering setup, connection methods, authentication, and platform APIs.
Guide for setting up and using Firebase Authentication. Use this skill when the user's app requires user sign-in, user management, or secure data access using auth rules.
A skill to evaluate how secure Firestore security rules are. Use this when Firestore security rules are updated to ensure that the generated rules are extremely secure and robust.
Official skill for integrating Firebase AI Logic (Gemini API) into web applications. Covers setup, multimodal inference, structured output, and security.
Complete Better Auth server and client setup with database adapters, session management, plugins, and security configuration.
Deploy and manage projects on Vercel using token-based authentication. Use when working with Vercel CLI using access tokens rather than interactive login — e.g. "deploy to vercel", "set up vercel", "add environment variables to vercel".
Complete Cloudflare platform integration with decision trees for compute, storage, AI, networking, security, and infrastructure-as-code.
Run Azure compliance and security audits with azqr plus Key Vault expiration checks. Covers best-practice assessment, resource review, policy/compliance validation, and security posture checks. WHEN: compliance scan, security audit, BEFORE running azqr (compliance cli tool), Azure best practices, Key Vault expiration check, expired certificates, expiring secrets, orphaned resources, compliance assessment.
Send, read, and manage Gmail messages, drafts, labels, and account settings.
Comprehensive website auditing across 230+ rules in 21 categories including SEO, performance, security, and accessibility.
Shared authentication, CLI syntax, and output formatting patterns for gws Google Workspace commands.
Discover your celebrity doppelgänger with StarByFace!
GeoSpy: Pricing, Features, FAQs, and Alternatives for AI Teams
Detect AI-generated voices to protect against audio fraud.
Ensure Your Content's Originality with AI Plagiarism Checker
Upscale images by 400% without quality loss
Protect your social media from copyright disputes
Accurately Detect AI-Generated Content with TheChecker.AI
Chrome extension that detects and flags AI-generated content