بنقرة واحدة
external-comms
PAO workflow for scanning, drafting, and presenting community responses with human review gate
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
PAO workflow for scanning, drafting, and presenting community responses with human review gate
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
{what this skill teaches agents}
{what this skill teaches agents}
**WORKFLOW SKILL** — Iteratively improve skill frontmatter compliance using the Ralph loop pattern. WHEN: "run sensei", "sensei help", "improve skill", "fix frontmatter", "skill compliance", "frontmatter audit", "score skill", "check skill tokens". INVOKES: token counting tools, test runners, git commands. FOR SINGLE OPERATIONS: use token CLI directly for counts/checks.
**WORKFLOW SKILL** — Research, outline, and scaffold a Slidev presentation. Phase 1 researches the topic and generates a detailed OUTLINE.md via runSubagent research and user guidance. Phase 2 generates slides.md, style.css, and images/ from the approved outline. WHEN: "create presentation", "new presentation", "scaffold presentation", "new Slidev deck", "new talk", "create slides", "start a presentation", "presentation about". INVOKES: runSubagent (web search, Microsoft Learn, WorkIQ), vscode_askQuestions, file-system tools. FOR SINGLE OPERATIONS: copy template folder manually.
**WORKFLOW SKILL** — Query WorkIQ for recent activity signals, identify patterns in conversations and meetings, cross-reference with latest tech announcements, and propose aligned demos as GitHub issues. WHEN: "intelligence scan", "what demos to build", "scan recent activity", "WorkIQ scan", "demo proposals from conversations", "identify demo opportunities", "what should I demo next". INVOKES: WorkIQ MCP, web search, GitHub issue tools. FOR SINGLE OPERATIONS: Query WorkIQ MCP directly.
Build an n-layer dependency graph from .NET upgrade assessment data and generate a phased modernization plan. Parses assessment.json from the .NET upgrade tools, extracts project dependency hierarchy via breadth-first layering, splits thick layers to cap projects per sub-layer, and produces a phased upgrade plan with Mermaid diagrams. Each phase targets PR-reviewable scope. SDK-style conversion is Phase 0, then layer-by-layer bottom-up modernization. WHEN: "plan appmod phases", "generate upgrade layers", "dependency layer plan", "phased migration plan", "break down dotnet upgrade", "layer extraction", "modernization phases", "upgrade dependency graph", "PR-sized migration plan", "appmod phasing strategy".
استنادا إلى تصنيف SOC المهني
| name | external-comms |
| description | PAO workflow for scanning, drafting, and presenting community responses with human review gate |
| domain | community, communication, workflow |
| confidence | low |
| source | manual (RFC #426 — PAO External Communications) |
| tools | [{"name":"github-mcp-server-list_issues","description":"List open issues for scan candidates and lightweight triage","when":"Use for recent open issue scans before thread-level review"},{"name":"github-mcp-server-issue_read","description":"Read the full issue, comments, and labels before drafting","when":"Use after selecting a candidate so PAO has complete thread context"},{"name":"github-mcp-server-search_issues","description":"Search for candidate issues or prior squad responses","when":"Use when filtering by keywords, labels, or duplicate response checks"},{"name":"gh CLI","description":"Fallback for GitHub issue comments and discussions workflows","when":"Use gh issue list/comment and gh api or gh api graphql when MCP coverage is incomplete"}] |
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 wontfix