pulse-faq-sync

GitHub

自动同步 Discord、WhatsApp、GitHub 和 Linear 中的社区高频问题,更新 FAQ 知识库。

.claude/skills/pulse-faq-sync/SKILL.md evolution-foundation/evo-nexus

Trigger Scenarios

用户请求更新 FAQ 检测到未回答或重复的社区问题

Install

npx skills add evolution-foundation/evo-nexus --skill pulse-faq-sync -g -y
More Options

Non-standard path

npx skills add https://github.com/evolution-foundation/evo-nexus/tree/main/.claude/skills/pulse-faq-sync -g -y

Use without installing

npx skills use evolution-foundation/evo-nexus@pulse-faq-sync

指定 Agent (Claude Code)

npx skills add evolution-foundation/evo-nexus --skill pulse-faq-sync -a claude-code -g -y

安装 repo 全部 skill

npx skills add evolution-foundation/evo-nexus --all -g -y

预览 repo 内 skill

npx skills add evolution-foundation/evo-nexus --list

SKILL.md

Frontmatter
{
    "name": "pulse-faq-sync",
    "description": "Sync and update the community FAQ from Discord conversations, WhatsApp groups, and GitHub issues. Identifies recurring questions, adds new entries, and keeps the FAQ as a living knowledge base. Use when user says 'update faq', 'sync faq', 'community faq', 'frequently asked questions', or when running community routines that detect unanswered\/recurring questions."
}

FAQ Sync — Living Knowledge Base

Routine that keeps the community FAQ always updated, fed by questions from Discord, WhatsApp, and GitHub issues.

Always respond in English.

Main file

workspace/community/[C] FAQ.md

This is the single source of truth file. All agents and support bots should consult this file.

FAQ Structure

The file follows this format:

# FAQ — Community

> Automatically updated. Last sync: {YYYY-MM-DD HH:MM}
> Sources: Discord (#help, #feedback) + GitHub Issues
> Total: {N} questions

---

## Installation & Setup
<!-- tag: installation, setup, docker, deploy -->

### How to install the main API via Docker?
**Answer:** [clear and direct answer]
**Source:** Discord #help (recurring) | [Official doc link if available]
**Added:** YYYY-MM-DD

### How to configure SSL/HTTPS?
**Answer:** [...]
**Source:** GitHub YOUR_ORG/main-api#123
**Added:** YYYY-MM-DD

---

## Configuration
<!-- tag: config, env, variables, webhook -->

### How to configure webhooks?
...

---

## Integrations
<!-- tag: whatsapp, telegram, typebot, n8n, chatwoot -->

...

## Evo CRM
<!-- tag: crm, agents, pipeline, leads -->

...

## Evo Go
<!-- tag: evogo, go, manager -->

...

## Billing & Licenses
<!-- tag: license, plan, price, payment -->

...

## Common Errors
<!-- tag: error, bug, 503, 401, timeout -->

...

Workflow

Step 1 — Read current FAQ

Read workspace/community/[C] FAQ.md. If it does not exist, create it with the base structure.

Count how many entries exist and which categories.

Step 2 — Collect new questions

From Discord (last 24h): Use /discord-get-messages on channels:

  • 🆘・help (ID do canal de help)
  • 🆘・feedback
  • 💬・chat-pt

Identify messages that are questions (end in ?, ask for help, report errors).

From GitHub (last 24h):

# Issues abertas recentemente nos 5 repos
gh issue list --repo YOUR_ORG/main-api --state open --json title,body,labels,createdAt --limit 10
gh issue list --repo YOUR_ORG/crm-product --state open --json title,body,labels,createdAt --limit 10
gh issue list --repo YOUR_ORG/go-service --state open --json title,body,labels,createdAt --limit 10
gh issue list --repo YOUR_ORG/crm-community --state open --json title,body,labels,createdAt --limit 10
gh issue list --repo YOUR_ORG/methodology --state open --json title,body,labels,createdAt --limit 5

Filter issues that are questions or recurring bugs.

From WhatsApp (last 24h): Use /int-whatsapp to fetch messages from groups:

python3 {project-root}/.claude/skills/int-whatsapp/scripts/whatsapp_client.py messages_24h

Filter messages that are questions (end in ?, ask for help, report errors, ask for configuration guidance). Mark source as "WhatsApp {group name}".

From Linear — "Evolution Suporte" Project: Use Linear MCP to fetch recently resolved issues from the paid support project:

list_issues(project="Evolution Suporte", state="Done", updatedAt="-P1D")

Resolved issues from paid support are a gold mine for the FAQ — these are real client problems with validated solutions. For each resolved issue:

  • Extract the reported problem as a question
  • Extract the resolution as an answer
  • Mark source as "Linear — Paid Support"
  • Prioritize inclusion in FAQ (paying clients = high relevance)

Step 3 — Analyze and classify (MANDATORY validation gate)

For each question found:

  1. Already in the FAQ? → If yes, check if the answer needs updating
  2. Is it recurring? → If it appeared 2+ times (Discord, GitHub, or WhatsApp), add with priority
  3. HAS A REAL, VERIFIED ANSWER?This is a HARD GATE. If this check fails, SKIP the question — do NOT add to FAQ. Required by source:
    • GitHub issues: must link to the specific comment URL with the solution, and the comment must be from a team member (org member, maintainer) OR the issue must be in state closed with label solved/resolved. Issues with no replies or only community speculation → SKIP.
    • Linear (Evolution Suporte): only issues with state=Done AND a resolution comment from the assignee. Cite the issue ID + resolution comment.
    • Discord: must cite the exact username + timestamp + message link of the reply (not the question). The reply must come from a team member or a verified helper. Questions without a reply, or with only "+1"/"same here" → SKIP.
    • WhatsApp: since messages don't have stable links, require the responder's name + approximate timestamp AND the literal reply text. If only the question exists with no reply → SKIP.
    • No answer found within 24h? → SKIP and count under "pending documentation" in the Step 6 report. Do not create an FAQ entry.
  4. Which category? → Classify in the correct FAQ category

Step 4 — Update FAQ (no paraphrasing)

For each new question that passed the Step 3 gate:

  • Formulate a clear question in PT-BR (rewriting the question is fine)
  • DO NOT rewrite, paraphrase or "improve" the answer. Extract the literal text of the answer from the source and cite it. Light formatting (bullet list, code fences) is OK, but the content must come from the source.
  • If the source answer is partial or unclear for one aspect, add [pending: {specific missing detail}] inline and flag for follow-up — do not fill the gap with generic knowledge.
  • Include source with the verifiable reference (comment URL, username + timestamp, Linear issue ID)
  • Include date
  • Add to the correct category

For existing questions:

  • Update the answer only if there is new verified information from a source (same Step 3 rules apply)
  • Mark as "updated" with new date

For existing questions:

  • Update the answer if there is new information
  • Mark as "updated" with new date

Step 5 — Update header

Update the FAQ header with:

  • Date/time of last sync
  • Total questions
  • Existing categories

Step 6 — Report

Present a short summary:

## FAQ Sync — {date}

Questions in FAQ: {total}
New added: {N}
Updated: {N}
Skipped (no verified answer): {N}
Sources: Discord ({N}) + GitHub ({N}) + WhatsApp ({N}) + Linear ({N})

New:
- {question 1} → {category}
- {question 2} → {category}

Skipped (pending documentation):
- {question} — reason: no reply in source / reply from non-team / etc.

The "Skipped" block is mandatory — it gives visibility on questions the community is asking but no one has answered, which is itself a signal worth tracking.

Rules

  • Quality > quantity — only add questions that are truly recurring or useful
  • Actionable answers — do not copy generic text, write answers that solve the problem
  • PT-BR — all questions and answers in Portuguese
  • Do not duplicate — always check if it already exists before adding
  • Source required — every entry must have its origin
  • Do not fabricate answers — if there is no clear answer, mark as "pending documentation"
  • Tags in comments — keep HTML comment tags for easy searching
  • Keep organized — categories in logical order (installation -> config -> integrations -> product -> billing -> errors)

Version History

  • 7f5dd76 Current 2026-07-25 04:58

Same Skill Collection

.claude/skills/create-agent/SKILL.md
.claude/skills/create-command/SKILL.md
.claude/skills/create-goal/SKILL.md
.claude/skills/create-heartbeat/SKILL.md
.claude/skills/create-integration/SKILL.md
.claude/skills/create-routine/SKILL.md
.claude/skills/create-ticket/SKILL.md
.claude/skills/cs-ticket-triage/SKILL.md
.claude/skills/data-build-dashboard/SKILL.md
.claude/skills/data-create-viz/SKILL.md
.claude/skills/data-explore/SKILL.md
.claude/skills/data-statistical-analysis/SKILL.md
.claude/skills/data-validate/SKILL.md
.claude/skills/db-mongo/SKILL.md
.claude/skills/db-mysql/SKILL.md
.claude/skills/db-postgres/SKILL.md
.claude/skills/db-redis/SKILL.md
.claude/skills/dev-ai-slop-cleaner/SKILL.md
.claude/skills/dev-ask/SKILL.md
.claude/skills/dev-autopilot/SKILL.md
.claude/skills/dev-cancel/SKILL.md
.claude/skills/dev-ccg/SKILL.md
.claude/skills/dev-configure-notifications/SKILL.md
.claude/skills/dev-deep-dive/SKILL.md
.claude/skills/dev-deep-interview/SKILL.md
.claude/skills/dev-deepinit/SKILL.md
.claude/skills/dev-external-context/SKILL.md
.claude/skills/dev-learner/SKILL.md
.claude/skills/dev-mcp-setup/SKILL.md
.claude/skills/dev-plan/SKILL.md
.claude/skills/dev-project-session-manager/SKILL.md
.claude/skills/dev-ralph/SKILL.md
.claude/skills/dev-ralplan/SKILL.md
.claude/skills/dev-release/SKILL.md
.claude/skills/dev-remember/SKILL.md
.claude/skills/dev-sciomc/SKILL.md
.claude/skills/dev-skillify/SKILL.md
.claude/skills/dev-team/SKILL.md
.claude/skills/dev-trace/SKILL.md
.claude/skills/dev-ultraqa/SKILL.md
.claude/skills/dev-verify/SKILL.md
.claude/skills/dev-visual-verdict/SKILL.md
.claude/skills/discord-create-channel/SKILL.md
.claude/skills/discord-get-messages/SKILL.md
.claude/skills/discord-list-channels/SKILL.md
.claude/skills/discord-manage-channel/SKILL.md
.claude/skills/discord-send-message/SKILL.md
.claude/skills/fin-audit-support/SKILL.md
.claude/skills/fin-close-management/SKILL.md
.claude/skills/fin-daily-pulse/SKILL.md

Metadata

Files
0
Version
7f5dd76
Hash
59b92684
Indexed
2026-07-25 04:58

Home - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-21 21:19
浙ICP备14020137号-1 $Map of visitor$