.squad/templates/skills/external-comms/SKILL.md
PAO workflow for scanning, drafting, and presenting community responses with human review gate
npx skillsauth add cwoodruff/morespeakers-com external-commsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Phase 1 is draft-only mode.
.squad/comms/audit/.Find unanswered community items with GitHub MCP tools first, or gh issue list / gh api as fallback for issues and discussions.
squad:internal or wontfix.Discussions use the GitHub Discussions API, which differs from issues:
gh api /repos/{owner}/{repo}/discussions --jq '.[] | select(.answer_chosen_at == null)' to find unanswered discussionsDetermine the response type before drafting.
| Signal in Issue/Discussion | → Response Type | Template | |---------------------------|-----------------|----------| | New contributor (0 prior issues) | Welcome | T1 | | Error message, stack trace, "doesn't work" | Troubleshooting | T2 | | "How do I...?", "Can Squad...?", "Is there a way to...?" | Feature Guidance | T3 | | Wrong repo, out of scope for Squad | Redirect | T4 | | Confirmed bug, no fix available yet | Acknowledgment | T5 | | Fix shipped, PR merged that resolves issue | Closing | T6 | | Unclear cause, needs investigation | Technical Uncertainty | T7 | | Author disagrees with a decision or design | Empathetic Disagreement | T8 | | Need more reproduction info or context | Information Request | T9 |
Use exactly one template as the base draft. Replace placeholders with issue-specific details, then apply the humanizer patterns. If the thread spans multiple signals, choose the highest-risk template and capture the nuance in the thread summary.
| Confidence | Criteria | Example | |-----------|----------|---------| | 🟢 High | Answer exists in Squad docs or FAQ, similar question answered before, no technical ambiguity | "How do I install Squad?" | | 🟡 Medium | Technical answer is sound but involves judgment calls, OR docs exist but don't perfectly match the question, OR tone is tricky | "Can Squad work with Azure DevOps?" (yes, but setup is nuanced) | | 🔴 Needs Review | Technical uncertainty, policy/roadmap question, potential reputational risk, author is frustrated/angry, question about unreleased features | "When will Squad support Claude?" |
Auto-escalation rules:
Use the humanizer skill for every draft.
>10 comments) with ⚠️.Before drafting, PAO MUST verify complete thread coverage:
gh api timeline to detect deleted comments. If found, flag as ⚠️ in review table.Show drafts for review in this exact format:
📝 PAO — Community Response Drafts
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
| # | Item | Author | Type | Confidence | Read | Preview |
|---|------|--------|------|------------|------|---------|
| 1 | Issue #N | @user | Type | 🟢/🟡/🔴 | N/N | "First words..." |
Confidence: 🟢 High | 🟡 Medium | 🔴 Needs review
Full drafts below ▼
Each full draft must begin with the thread summary line:
Thread: {N} comments, last activity {date}, {summary of key points}
Wait for explicit human direction before anything is posted.
pao approve 1 3 — approve drafts 1 and 3pao edit 2 — edit draft 2pao skip — skip allbanana — freeze all pending (safe word)If a posted response turns out to be wrong, inappropriate, or needs correction:
gh api -X DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}gh api graphql -f query='mutation { deleteDiscussionComment(input: {id: "{node_id}"}) { comment { id } } }'delete, include reason and original contentSafe word — banana:
pao resume is issuedAfter approval:
gh issue comment for issues or gh api for discussion answers/comments.Log every action.
.squad/comms/audit/{timestamp}.md.squad/comms/templates/audit-entry.md Conditional Fields tabletimestamp, actionThese are reusable templates. Keep the structure, replace placeholders, and adjust only where the thread requires it.
gh issue list --state open --json number,title,author,labels,comments --limit 20
📝 PAO — Community Response Drafts
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
| # | Item | Author | Type | Confidence | Read | Preview |
|---|------|--------|------|------------|------|---------|
| 1 | Issue #426 | @newdev | Welcome | 🟢 | 1/1 | "Hey @newdev! Welcome to Squad..." |
| 2 | Discussion #18 | @builder | Feature guidance | 🟡 | 4/4 | "Great question! Today the CLI..." |
| 3 | Issue #431 ⚠️ | @debugger | Technical uncertainty | 🔴 | 12/12 | "Interesting find, @debugger..." |
Confidence: 🟢 High | 🟡 Medium | 🔴 Needs review
Full drafts below ▼
---
timestamp: "2026-03-16T21:30:00Z"
action: "post"
item_number: 426
draft_id: 1
reviewer: "@bradygaster"
---
## Context (draft, approve, edit, skip, post, delete actions)
- Thread depth: 3
- Response type: welcome
- Confidence: 🟢
- Long thread flag: false
## Draft Content (draft, edit, post actions)
Thread: 3 comments, last activity 2026-03-16, reporter hit a preview-build regression after install.
Hey @newdev! Welcome to Squad 👋 Thanks for opening this.
We reproduced the issue in preview builds and we're checking the regression point now.
Let us know if you can share the command you ran right before the failure.
## Post Result (post, delete actions)
https://github.com/bradygaster/squad/issues/426#issuecomment-123456
Hey {author}! Welcome to Squad 👋 Thanks for opening this.
{specific acknowledgment or first answer}
Let us know if you have questions — happy to help!
Thanks for the detailed report, {author}!
Here's what we think is happening: {explanation}
{steps or workaround}
Let us know if that helps, or if you're seeing something different.
Great question! {context on current state}
{guidance or workaround}
We've noted this as a potential improvement — {tracking info if applicable}.
Thanks for reaching out! This one is actually better suited for {correct location}.
{brief explanation of why}
Feel free to open it there — they'll be able to help!
Good catch, {author}. We've confirmed this is a real issue.
{what we know so far}
We'll update this thread when we have a fix. Thanks for flagging it!
This should be resolved in {version/PR}! 🎉
{brief summary of what changed}
Thanks for reporting this, {author} — it made Squad better.
Interesting find, {author}. We're not 100% sure what's causing this yet.
Here's what we've ruled out: {list}
We'd love more context if you have it — {specific ask}.
We'll dig deeper and update this thread.
We hear you, {author}. That's a fair concern.
The current design choice was driven by {reason}. We know it's not ideal for every use case.
{what alternatives exist or what trade-off was made}
If you have ideas for how to make this work better for your scenario, we'd love to hear them — open a discussion or drop your thoughts here!
Thanks for reporting this, {author}!
To help us dig into this, could you share:
- {specific ask 1}
- {specific ask 2}
- {specific ask 3, if applicable}
That context will help us narrow down what's happening. Appreciate it!
squad:internal or wontfixtools
Cross-platform path handling and command patterns
development
Update tests when changing APIs — no exceptions
development
Core conventions and patterns used in the Squad codebase
tools
Find and resume interrupted Copilot CLI sessions using session_store queries