PAO workflow for scanning, drafting, and presenting community responses with human review gate
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 ▼
---