@moon791017/neo-skills 1.1.25 → 1.1.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -38,6 +38,8 @@
38
38
  | 類別 | Skill | 使用時機 |
39
39
  | :--- | :--- | :--- |
40
40
  | Agent 治理 | `neo-harness` | 掃描專案環境,自動產生或升級專屬且合規的 AGENTS.md 檔,整合 Harness 評估、閉環 Workflow 與編排架構。 |
41
+ | 資訊安全 | `neo-iso-27001` | 依 ISO/IEC 27001 進行 ISMS 範圍、風險、證據、差距分析、稽核準備與改善計畫。 |
42
+ | 隱私管理 | `neo-iso-27701` | 依 ISO/IEC 27701 進行 PIMS、PII 角色、處理活動、隱私風險、證據與稽核準備。 |
41
43
  | DevOps | `neo-azure-pipelines` | 建立、審查、除錯或現代化 Azure Pipelines YAML,尤其是 .NET build、Azure App Service 或 IIS 部署。 |
42
44
  | 需求釐清 | `neo-clarification` | 將模糊、情緒化、片段式、截圖式需求轉成規格、驗收條件或釐清問題。 |
43
45
  | Code Review | `neo-code-review` | 進行程式碼審查、PR/diff review、bug 風險掃描、安全性、效能或可維護性檢查。 |
@@ -61,6 +63,7 @@
61
63
  | Agent 架構 | `neo-sub-agent` | 設計、建立、審查或轉換 sub-agent、custom agent、worker/reviewer/planner agent 或 multi-agent workflow。 |
62
64
  | 技能開發 | `generate-skill` | 建立、更新、審查或最佳化 Agent Skill,包含規格、觸發描述、延伸資源、評估資料與設計模式。 |
63
65
  | 可觀測性 | `neo-opentelemetry` | 解釋 OpenTelemetry 概念、規劃或審查 Collector 架構與設定、處理維運排障、安全、零程式 instrumentation 及相容性遷移。 |
66
+ | queue | `neo-rabbitmq` | 以 RabbitMQ 4.3 為預設,提供語言中立的訊息拓撲、Broker 營運、監控排障與效能優化指引。 |
64
67
  | 文字潤飾 | `neo-stop-slop` | 去除繁中或英文中的 AI 腔、贅詞、公式化句式,支援文件、註解、commit message 與 PR 說明。 |
65
68
  | PR 產出 | `neo-pr` | 詢問或自動偵測 Repository 來源與目標分支,擷取變更並產生重點式且去 AI 腔的 PR Title 與 PR Description。 |
66
69
 
@@ -154,4 +157,5 @@ npx -p @moon791017/neo-skills install-system-instructions \
154
157
  | 建立 Agent 治理 | `neo-harness` | `幫我針對這個專案評估並產生 AGENTS.md` |
155
158
  | 建立 sub-agent | `neo-sub-agent` | `幫我新增一個 Codex code-reviewer sub agent` |
156
159
  | 規劃 OpenTelemetry | `neo-opentelemetry` | `幫我審查 Collector 架構、韌性、安全與零程式觀測方案` |
160
+ | 設計 RabbitMQ 系統 | `neo-rabbitmq` | `請分析 RabbitMQ Queue 堆積、叢集營運與效能瓶頸` |
157
161
  | 去掉 AI 腔 | `neo-stop-slop` | `把這段 PR 說明改得自然、直接一點` |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moon791017/neo-skills",
3
- "version": "1.1.25",
3
+ "version": "1.1.27",
4
4
  "type": "module",
5
5
  "description": "Neo Skills: A Universal AI Agent Skills Extension",
6
6
  "homepage": "https://neo-blog-iota.vercel.app/",
@@ -0,0 +1,92 @@
1
+ ---
2
+ name: neo-iso-27001
3
+ description: >
4
+ Use this skill when the user needs to establish, review, or improve an ISO/IEC 27001 ISMS,
5
+ perform information security risk discovery, define scope, create an evidence matrix,
6
+ conduct a gap analysis, draft a Statement of Applicability, prepare for an internal audit,
7
+ or create an improvement plan. Use neo-iso-27701 when the main concern is PII, privacy
8
+ management, or PIMS. Do not use this skill for legal advice or certification guarantees.
9
+ license: MIT
10
+ compatibility: Requires an Agent Skills client with Markdown and file-reading support; network access for current-version checks; and user-provided licensed documents for precise clause-level analysis.
11
+ metadata:
12
+ version: "1.0.0"
13
+ pattern: "tool-wrapper,pipeline,reviewer"
14
+ domain: "information-security-management"
15
+ source-snapshot: "2026-08-12"
16
+ ---
17
+
18
+ # Neo ISO/IEC 27001
19
+
20
+ Provide evidence-based assistance for establishing, improving, or reviewing an information
21
+ security management system (ISMS). Read `references/sources-and-scope.md` first, then follow
22
+ the workflow below.
23
+
24
+ ## Scope and hard boundaries
25
+
26
+ In scope:
27
+
28
+ - ISMS implementation roadmaps, scope definition, and interested-party inventories.
29
+ - Information security risk registers, treatment plans, and residual-risk tracking.
30
+ - Evidence matrices, gap analyses, internal-audit preparation, and corrective actions.
31
+ - Organization-specific Statement of Applicability (SoA) working drafts.
32
+
33
+ Out of scope:
34
+
35
+ - Guarantees about legal, regulatory, privacy-policy, or certification outcomes.
36
+ - Clause-by-clause requirements, control lists, or verbatim reproduction without a licensed standard document.
37
+ - Direct deployment of technical controls unless the user separately provides the technical requirements and authorized scope.
38
+
39
+ ## Version gate
40
+
41
+ 1. Use `ISO/IEC 27001:2022` as the default version baseline and check `ISO/IEC 27001:2022/Amd 1:2024` as an associated amendment.
42
+ 2. When answering about the "latest" or "current" version or new amendments, recheck official sources instead of treating this snapshot as current status.
43
+ 3. If the user provides only 2013-edition material, label it historical and do not mix it unmarked with 2022-edition requirements.
44
+ 4. Use precise clause-level analysis only with licensed local documents supplied by the user; otherwise provide only high-level workflows and items requiring verification.
45
+
46
+ ## Evidence-driven workflow
47
+
48
+ Execute these steps in order. Do not invent organizational facts when evidence is missing:
49
+
50
+ 1. **Define the request and scope**: Confirm the organization, business processes, locations, systems, information assets, suppliers, interested parties, target version, and certification goal. Ask only the most specific necessary follow-up questions when key information is missing.
51
+ 2. **Build an evidence inventory**: For each policy, procedure, record, configuration, audit result, or interview note, record an identifier, source, owner, date, coverage, and reliability. Do not place passwords, tokens, or unnecessary personal data in the output.
52
+ 3. **Separate facts from judgments**: Label content as "verified fact," "evidence-based inference," or "insufficient data." Without organizational evidence, do not claim that a requirement is or is not satisfied.
53
+ 4. **Analyze risks and gaps**: Use the risk method supplied by the organization; if none is supplied, clearly label the method as a working assumption. Link every finding to evidence, impact, priority, owner, due date, and verification method.
54
+ 5. **Produce actionable drafts**: As requested, produce a scope statement, risk register, SoA working draft, evidence matrix, audit finding, or corrective-action plan. Mark every working draft with its version and approval status.
55
+ 6. **Run a delivery check**: Confirm that the output contains no invented clauses, certification conclusions, legal conclusions, or control evidence. Confirm that every high-risk action has an owner, due date, and verification signal.
56
+
57
+ ## Work-product format
58
+
59
+ Unless the user requests a single fact, use this structure for assessments and reviews:
60
+
61
+ ```markdown
62
+ ## Conclusion
63
+ ## Applicable scope and version
64
+ ## Verified evidence
65
+ ## Risks and gaps
66
+ ## Improvement and corrective-action plan
67
+ ## Missing information and limitations
68
+ ## Sources and verification date
69
+ ```
70
+
71
+ Each finding must include at least an identifier, evidence, problem, impact, priority, recommended action, owner, due date, and verification method. If a field cannot be completed, write "To be confirmed" instead of guessing.
72
+
73
+ ## Worksheet fields
74
+
75
+ - **Scope table**: Organization, processes, locations, systems, information assets, exclusions, exclusion rationale, approver, and version.
76
+ - **Risk register**: Risk identifier, scenario, asset or process, existing measures, risk method, treatment option, owner, due date, residual risk, and evidence.
77
+ - **SoA working draft**: Requirement or control identifier, applicability status, organizational rationale, implementation evidence, owner, review date, referenced version, and approval status. Do not invent identifiers without a licensed standard.
78
+ - **Evidence matrix**: Criteria source, evidence identifier, evidence owner, coverage period, evidence status, gap, remediation action, and verification method.
79
+
80
+ ## Routing to neo-iso-27701
81
+
82
+ - Use `neo-iso-27701` when the main issue is PII processing, privacy responsibility, PIMS, or privacy evidence.
83
+ - When information security and privacy are both in scope, complete the analyses separately and integrate them with explicit cross-references. Do not present one standard's conclusion as the other standard's conclusion.
84
+ - The independent management-system status of 27701 does not mean that the organization has necessarily established 27001; verify the actual scope and evidence first.
85
+
86
+ ## Common pitfalls
87
+
88
+ - Do not mix 2022-edition and 2013-edition documents, risk methods, or control mappings without labeling them.
89
+ - An SoA is an organizational scope and risk-decision work product; do not infer it solely from a technology stack or industry name.
90
+ - Implementing an ISMS, preparing for an audit, and obtaining third-party certification are different states; describe them separately.
91
+ - Having a policy does not equal having effective evidence; check execution records, owners, coverage periods, and sampling results.
92
+ - Every conclusion about the latest version must include a verification date and source; if network access is unavailable, state that current status cannot be confirmed.
@@ -0,0 +1,86 @@
1
+ [
2
+ {
3
+ "query": "Using ISO/IEC 27001:2022, inventory our current policies, risk register, and audit records and produce a gap analysis.",
4
+ "should_trigger": true
5
+ },
6
+ {
7
+ "query": "We need to establish an ISMS. Help define the organizational scope, information assets, and interested parties for our cloud product.",
8
+ "should_trigger": true
9
+ },
10
+ {
11
+ "query": "Design an ISO 27001 evidence matrix in which every evidence item has an owner, date, and remediation status.",
12
+ "should_trigger": true
13
+ },
14
+ {
15
+ "query": "I am preparing for an ISO/IEC 27001 internal audit. Give me a working format for findings and corrective actions.",
16
+ "should_trigger": true
17
+ },
18
+ {
19
+ "query": "Which ISO 27001 version should we check now? Verify the 2022 edition and the 2024 amendment.",
20
+ "should_trigger": true
21
+ },
22
+ {
23
+ "query": "Based on our risk register, plan an ISMS implementation and management-review improvement roadmap.",
24
+ "should_trigger": true
25
+ },
26
+ {
27
+ "query": "Review this SoA draft and identify items without a rationale, owner, or implementation evidence.",
28
+ "should_trigger": true
29
+ },
30
+ {
31
+ "query": "A customer requested ISO 27001 evidence, but we have only a few policy documents. Explain which verifiable evidence is still missing.",
32
+ "should_trigger": true
33
+ },
34
+ {
35
+ "query": "Compare the gaps between our current ISMS and the target certification scope, and classify recommendations as high, medium, or low priority.",
36
+ "should_trigger": true
37
+ },
38
+ {
39
+ "query": "We also process personal data. Complete the information-security scope analysis first, then identify which issues should be routed to the PIMS skill.",
40
+ "should_trigger": true
41
+ },
42
+ {
43
+ "query": "List every ISO/IEC 27001:2022 clause and Annex A control verbatim. I have not provided the official standard document.",
44
+ "should_trigger": true
45
+ },
46
+ {
47
+ "query": "Write an ASP.NET Core middleware that encrypts every API response.",
48
+ "should_trigger": false
49
+ },
50
+ {
51
+ "query": "Write a vulnerability scanner in Python to scan our Kubernetes cluster.",
52
+ "should_trigger": false
53
+ },
54
+ {
55
+ "query": "Explain the PIMS and processor responsibilities in ISO/IEC 27701.",
56
+ "should_trigger": false
57
+ },
58
+ {
59
+ "query": "Help me create an audit plan for an ISO 9001 quality management system.",
60
+ "should_trigger": false
61
+ },
62
+ {
63
+ "query": "List the complete original text of every ISO/IEC 27002 control.",
64
+ "should_trigger": false
65
+ },
66
+ {
67
+ "query": "Determine whether we comply with GDPR and provide legal advice for the company.",
68
+ "should_trigger": false
69
+ },
70
+ {
71
+ "query": "Compare the current prices and discounts of three cloud providers.",
72
+ "should_trigger": false
73
+ },
74
+ {
75
+ "query": "Design a React login page that meets accessibility standards.",
76
+ "should_trigger": false
77
+ },
78
+ {
79
+ "query": "Convert a Git diff into a Conventional Commits message.",
80
+ "should_trigger": false
81
+ },
82
+ {
83
+ "query": "Answer with only the three English words in the CIA triad; do not perform any management-system analysis.",
84
+ "should_trigger": false
85
+ }
86
+ ]
@@ -0,0 +1,38 @@
1
+ {
2
+ "skill_name": "neo-iso-27001",
3
+ "evals": [
4
+ {
5
+ "id": 1,
6
+ "prompt": "We are a 40-person SaaS company whose scope includes product, support, and cloud operations. We have an asset inventory, risk register, and three months of access records, but no SoA. Using ISO/IEC 27001:2022, produce an implementation gap analysis and a 90-day improvement plan.",
7
+ "expected_output": "An evidence-driven gap analysis in English that first lists the organizational scope and assumptions, then verified evidence, gaps, priorities, owners, and due dates, while labeling the SoA as an approval-pending working draft.",
8
+ "assertions": [
9
+ "The output contains sections for organizational scope, evidence, gaps, and an improvement plan",
10
+ "Each major action includes an owner, due date, and verification method, or is explicitly marked to be confirmed",
11
+ "The output does not claim that the company has obtained or will necessarily obtain certification",
12
+ "Unavailable SoA content is labeled as a working draft or insufficient data"
13
+ ]
14
+ },
15
+ {
16
+ "id": 2,
17
+ "prompt": "What is the current ISO 27001 baseline? Tell me the status of the 2022 edition and the 2024 amendment, including the verification date and sources.",
18
+ "expected_output": "The answer lists ISO/IEC 27001:2022 and ISO/IEC 27001:2022/Amd 1:2024, includes the verification date and official sources, and identifies details that public metadata cannot establish.",
19
+ "assertions": [
20
+ "The answer mentions ISO/IEC 27001:2022",
21
+ "The answer mentions ISO/IEC 27001:2022/Amd 1:2024",
22
+ "The answer includes official source links and a verification date",
23
+ "The answer does not reproduce standard clauses or a complete control catalogue"
24
+ ]
25
+ },
26
+ {
27
+ "id": 3,
28
+ "prompt": "List every ISO/IEC 27001:2022 clause and Annex A control and tell me which ones are definitely applicable. I have not provided the official standard document.",
29
+ "expected_output": "A safe and honest limitation statement that refuses to reproduce restricted full text or guess applicability, and provides an evidence-inventory and SoA workflow that can be used after licensed documents are supplied.",
30
+ "assertions": [
31
+ "The answer refuses to provide complete clauses or a complete control catalogue",
32
+ "The answer explains that definite applicability cannot be determined without the official standard document",
33
+ "The answer provides an actionable alternative workflow",
34
+ "The answer requests licensed documents or organizational evidence"
35
+ ]
36
+ }
37
+ ]
38
+ }
@@ -0,0 +1,23 @@
1
+ # ISO/IEC 27001 Sources and Scope
2
+
3
+ ## Version snapshot
4
+
5
+ - Baseline document: `ISO/IEC 27001:2022`, Edition 3, published in 2022-10.
6
+ - Amendment: `ISO/IEC 27001:2022/Amd 1:2024`, published in 2024-02, titled Climate action changes.
7
+ - Snapshot verification date: 2026-08-12.
8
+ - The 2013 edition is historical material only in this skill and is not the current baseline.
9
+
10
+ ## Sources to verify
11
+
12
+ - [ISO/IEC 27001:2022 official page](https://www.iso.org/standard/27001)
13
+ - [ISO/IEC 27001:2022/Amd 1:2024 official page](https://www.iso.org/standard/88435.html)
14
+ - [ISO Open Data](https://www.iso.org/open-data.html)
15
+ - [ODC-By 1.0 license for ISO Deliverables Metadata](https://opendatacommons.org/licenses/by/1-0/)
16
+
17
+ ## Usage rules
18
+
19
+ 1. This file stores only version metadata, source links, and original workflows. It does not store the full ISO standard, paid PDFs, verbatim clauses, or a complete control catalogue.
20
+ 2. Use `ISO Open Data` to verify standard metadata; attribute ISO and the ODC-By 1.0 license when using it.
21
+ 3. When the user provides a licensed document, the Agent may read the local document and cite clause identifiers within that license's scope. Do not copy long passages or the full document into a response or the repository.
22
+ 4. When the user asks about the latest version, amendments, certification transition, or applicability, recheck official sources and the user's organizational evidence.
23
+ 5. Official version pages are entry points for version verification but do not replace the formal standard document held by the user.
@@ -0,0 +1,99 @@
1
+ ---
2
+ name: neo-iso-27701
3
+ description: >
4
+ Use this skill when the user needs to establish, review, or improve an ISO/IEC 27701 PIMS,
5
+ inventory PII processing, analyze controller and processor responsibilities, create a privacy
6
+ risk or evidence matrix, conduct a gap analysis, prepare for an audit, or create an improvement
7
+ plan. Use neo-iso-27001 when the main concern is ISMS or information security risk. Do not treat
8
+ PIMS as a legal-compliance guarantee for any specific privacy law.
9
+ license: MIT
10
+ compatibility: Requires an Agent Skills client with Markdown and file-reading support; network access for current-version and regulatory checks; and user-provided licensed documents for precise clause-level analysis.
11
+ metadata:
12
+ version: "1.0.0"
13
+ pattern: "tool-wrapper,pipeline,reviewer"
14
+ domain: "privacy-information-management"
15
+ source-snapshot: "2026-08-12"
16
+ ---
17
+
18
+ # Neo ISO/IEC 27701
19
+
20
+ Provide evidence-based assistance for establishing, improving, or reviewing a privacy information
21
+ management system (PIMS). Read `references/sources-and-scope.md` first, then follow the workflow
22
+ below.
23
+
24
+ ## Scope and hard boundaries
25
+
26
+ In scope:
27
+
28
+ - PIMS implementation, scope definition, and PII processing-context inventories.
29
+ - Responsibilities, accountability, and evidence for PII controllers and PII processors.
30
+ - Privacy risk registers, processing-activity worksheets, supplier evidence, and gap analyses.
31
+ - Privacy-audit preparation, corrective actions, and continual-improvement plans.
32
+
33
+ Out of scope:
34
+
35
+ - Legal advice, legal-basis determinations, or compliance guarantees for any specific jurisdiction.
36
+ - Clause-by-clause requirements, control lists, or verbatim reproduction without a licensed standard document.
37
+ - Treating an ISO/IEC 27701 certificate or PIMS implementation as direct proof of GDPR or other privacy-law compliance.
38
+ - Exposing raw personal data, passwords, tokens, or unnecessary sensitive data in the output.
39
+
40
+ ## Version gate
41
+
42
+ 1. Use `ISO/IEC 27701:2025`, Edition 2, as the default version baseline; treat `ISO/IEC 27701:2019` as historical material only.
43
+ 2. The 2025 edition can operate as an independent management-system standard; do not assume that the organization has established or must first establish ISO/IEC 27001.
44
+ 3. When answering about the "latest" or "current" version or differences between 2019 and 2025, recheck official sources instead of treating this snapshot as current status.
45
+ 4. Use precise clause-level analysis only with licensed local documents supplied by the user; otherwise provide only high-level workflows and items requiring verification.
46
+
47
+ ## Evidence-driven workflow
48
+
49
+ Execute these steps in order. Do not invent privacy facts when evidence is missing:
50
+
51
+ 1. **Define the PIMS context**: Confirm the organization, processes, locations, systems, PII types, data subjects, recipients, suppliers, retention and transfer contexts, jurisdictions, organizational roles, and target version. Legal judgments require separately specified official regulatory sources.
52
+ 2. **Identify roles and responsibilities**: Record whether the organization is a PII controller, PII processor, or another role for each processing activity. Do not infer a role only from a contract title.
53
+ 3. **Build an evidence inventory**: For privacy policies, processing-activity records, contracts, supplier assessments, rights-request records, incident records, retention and deletion records, or training records, record an identifier, source, owner, date, coverage, and reliability.
54
+ 4. **Separate facts from judgments**: Label content as "verified fact," "evidence-based inference," or "insufficient data." Without an applicable jurisdiction and legal source, do not determine a legal basis or statutory deadline.
55
+ 5. **Analyze privacy risks and gaps**: Link the processing activity, PII risk, existing measures, impact, priority, owner, due date, remediation action, and verification method.
56
+ 6. **Produce actionable drafts**: As requested, produce a processing-activity worksheet, role-and-responsibility table, privacy risk register, evidence matrix, audit finding, or improvement plan, and mark its version and approval status.
57
+ 7. **Run a delivery check**: Confirm that the output does not equate PIMS with legal compliance, expose PII, invent clauses or certification conclusions, and that every high-risk action has an owner, due date, and verification signal.
58
+
59
+ ## Work-product format
60
+
61
+ Unless the user requests a single fact, use this structure for assessments and reviews:
62
+
63
+ ```markdown
64
+ ## Conclusion
65
+ ## PIMS scope, roles, and version
66
+ ## Verified evidence
67
+ ## Privacy risks and gaps
68
+ ## Improvement and corrective-action plan
69
+ ## Missing information, jurisdiction questions, and limitations
70
+ ## Sources and verification date
71
+ ```
72
+
73
+ Each finding must include at least an identifier, processing activity or evidence, problem, impact, priority, recommended action, owner, due date, and verification method. If a field cannot be completed, write "To be confirmed" instead of guessing.
74
+
75
+ ## Worksheet fields
76
+
77
+ - **Processing-activity table**: Activity, purpose, PII type, data subject, source, recipient, role, system, supplier, retention and transfer information, evidence identifier, and review date.
78
+ - **Role-and-responsibility table**: Processing activity, organizational role, accountable owner, contract or process evidence, exception, review date, and items to be confirmed.
79
+ - **Privacy risk register**: Risk identifier, processing activity, scenario, impact, existing measures, risk method, treatment option, owner, due date, residual risk, and evidence.
80
+ - **Evidence matrix**: Criteria source, evidence identifier, evidence owner, coverage period, evidence status, gap, remediation action, and verification method.
81
+
82
+ ## Integration with neo-iso-27001
83
+
84
+ - Use `neo-iso-27001` when the main issue is information security management, information-asset risk, or ISMS.
85
+ - When ISMS and PIMS are both in scope, establish the two scope, risk, and evidence chains separately, then document shared processes and cross-dependencies.
86
+ - Do not assume that the same policy, risk assessment, or evidence automatically satisfies the other standard merely because both are management systems.
87
+
88
+ ## Regulatory routing
89
+
90
+ - When the user asks about GDPR, a personal-data law, or another regulation, first confirm the jurisdiction, applicable role, processing activity, and regulatory version; then request or find the regulator, legal text, or other authoritative legal source.
91
+ - ISO/IEC 27701 can serve as a working privacy-management framework, but it cannot by itself prove full compliance with a specific law.
92
+ - If the regulatory source, organizational role, or processing purpose is missing, report insufficient data and items to be confirmed instead of inferring a legal conclusion.
93
+
94
+ ## Common pitfalls
95
+
96
+ - Do not apply the historical extension relationship of the 2019 edition directly to the 2025 edition, and do not describe the 2025 edition as necessarily dependent on 27001.
97
+ - Having a privacy policy does not equal having effective evidence; check execution records, accountable owners, coverage periods, and exception handling.
98
+ - Determine controller and processor roles from concrete processing activities and responsibility evidence, not only from the organization's label or a contract title.
99
+ - Every conclusion about the latest version or a regulation must include a verification date and source; if network access is unavailable, state that current status cannot be confirmed.
@@ -0,0 +1,82 @@
1
+ [
2
+ {
3
+ "query": "Using ISO/IEC 27701, inventory the PII processing activities and controller and processor roles for our SaaS product.",
4
+ "should_trigger": true
5
+ },
6
+ {
7
+ "query": "We need to establish a PIMS. Produce the fields for a privacy risk register and evidence matrix.",
8
+ "should_trigger": true
9
+ },
10
+ {
11
+ "query": "Review our supplier data-processing contracts, deletion records, and rights-request records and identify privacy-audit gaps.",
12
+ "should_trigger": true
13
+ },
14
+ {
15
+ "query": "What is the current version of ISO/IEC 27701? What is the status difference between the 2019 and 2025 editions?",
16
+ "should_trigger": true
17
+ },
18
+ {
19
+ "query": "Plan a 90-day improvement program that takes the company from PII processing inventory to a PIMS internal audit.",
20
+ "should_trigger": true
21
+ },
22
+ {
23
+ "query": "We have both an ISMS and a PIMS. Separate shared evidence from privacy evidence that must be prepared separately.",
24
+ "should_trigger": true
25
+ },
26
+ {
27
+ "query": "Create an accountability worksheet based on the data subject, recipient, retention period, and supplier for each processing activity.",
28
+ "should_trigger": true
29
+ },
30
+ {
31
+ "query": "Determine whether this cloud service is a PII controller or processor in each data flow, and list the required evidence.",
32
+ "should_trigger": true
33
+ },
34
+ {
35
+ "query": "We are implementing ISO 27701 for a multinational product. List the questions to ask first when jurisdiction, data-transfer, and role information is incomplete.",
36
+ "should_trigger": true
37
+ },
38
+ {
39
+ "query": "Check whether this PIMS gap report incorrectly describes the ISO management framework as proof of GDPR compliance.",
40
+ "should_trigger": true
41
+ },
42
+ {
43
+ "query": "Write a JavaScript function that encrypts a user's name before storing it in a database.",
44
+ "should_trigger": false
45
+ },
46
+ {
47
+ "query": "Prepare a GDPR legal opinion that directly determines that we are fully compliant.",
48
+ "should_trigger": false
49
+ },
50
+ {
51
+ "query": "Create an information security risk register using ISO/IEC 27001 without discussing personal data.",
52
+ "should_trigger": false
53
+ },
54
+ {
55
+ "query": "Paste the original text of every ISO/IEC 27701:2025 clause. I have not purchased the standard.",
56
+ "should_trigger": true
57
+ },
58
+ {
59
+ "query": "Design a Vue 3 personal-data consent checkbox and provide the component code.",
60
+ "should_trigger": false
61
+ },
62
+ {
63
+ "query": "Compare the current license prices of Salesforce, HubSpot, and Dynamics.",
64
+ "should_trigger": false
65
+ },
66
+ {
67
+ "query": "Rewrite this Chinese privacy policy so that it sounds more like a native speaker wrote it.",
68
+ "should_trigger": false
69
+ },
70
+ {
71
+ "query": "Create a database migration that adds a consented_at column.",
72
+ "should_trigger": false
73
+ },
74
+ {
75
+ "query": "Turn the audit findings into Conventional Commits.",
76
+ "should_trigger": false
77
+ },
78
+ {
79
+ "query": "Explain only the English abbreviation PII; do not perform PIMS or privacy-management analysis.",
80
+ "should_trigger": false
81
+ }
82
+ ]
@@ -0,0 +1,38 @@
1
+ {
2
+ "skill_name": "neo-iso-27701",
3
+ "evals": [
4
+ {
5
+ "id": 1,
6
+ "prompt": "We provide a customer-support SaaS service. We process customer data and determine the purposes of processing for some analytics activities. Create working drafts for PII processing activities, role responsibilities, privacy risks, and an evidence matrix, and list the insufficient data.",
7
+ "expected_output": "An English PIMS working draft that separately presents processing activities, roles, risks, evidence, and items to be confirmed, without making unverifiable legal-role or compliance conclusions.",
8
+ "assertions": [
9
+ "The output distinguishes processing activities, role responsibilities, privacy risks, and evidence",
10
+ "The output does not infer a role only from the company name or contract title",
11
+ "The output includes insufficient data and items to be confirmed",
12
+ "The output does not claim compliance with GDPR or another specific privacy law"
13
+ ]
14
+ },
15
+ {
16
+ "id": 2,
17
+ "prompt": "Which version of ISO/IEC 27701 should we use now? Explain whether the 2025 edition must depend on ISO/IEC 27001, and include the verification date and official sources.",
18
+ "expected_output": "The answer lists ISO/IEC 27701:2025, Edition 2, the verification date, and official sources, correctly explains that the 2025 edition can operate as an independent management-system standard, and states that integration with 27001 still depends on organizational needs.",
19
+ "assertions": [
20
+ "The answer mentions ISO/IEC 27701:2025",
21
+ "The answer identifies Edition 2 or equivalent version information",
22
+ "The answer explains that the 2025 edition does not necessarily depend on ISO/IEC 27001",
23
+ "The answer includes official source links and a verification date"
24
+ ]
25
+ },
26
+ {
27
+ "id": 3,
28
+ "prompt": "List every privacy control in ISO/IEC 27701:2025 and directly determine our GDPR legal basis. I have not provided the official standard or a jurisdiction.",
29
+ "expected_output": "A safe and honest limitation statement that refuses to reproduce restricted complete controls or guess a legal basis, and provides a PIMS evidence-analysis workflow to use after licensed documents and jurisdiction information are supplied.",
30
+ "assertions": [
31
+ "The answer refuses to provide a complete clause or control catalogue",
32
+ "The answer explains that a legal basis cannot be determined without a jurisdiction and the official standard",
33
+ "The answer provides an alternative workflow for inventorying processing activities, roles, evidence, and risks",
34
+ "The answer does not equate PIMS with GDPR compliance"
35
+ ]
36
+ }
37
+ ]
38
+ }
@@ -0,0 +1,24 @@
1
+ # ISO/IEC 27701 Sources and Scope
2
+
3
+ ## Version snapshot
4
+
5
+ - Baseline document: `ISO/IEC 27701:2025`, Edition 2, published in 2025-10; the IEC product page lists the publication date as 2025-10-14.
6
+ - Historical document: `ISO/IEC 27701:2019`, replaced and withdrawn by the 2025 edition.
7
+ - The official 2025 edition page states that it can operate as an independent management-system standard; this skill does not assume that it must depend on ISO/IEC 27001.
8
+ - Snapshot verification date: 2026-08-12.
9
+
10
+ ## Sources to verify
11
+
12
+ - [ISO/IEC 27701:2025 official page](https://www.iso.org/standard/27701?browse=tc)
13
+ - [ISO/IEC 27701:2025 IEC product page](https://webstore.iec.ch/en/publication/110123)
14
+ - [ISO/IEC 27701:2019 historical page](https://www.iso.org/standard/71670.html)
15
+ - [ISO Open Data](https://www.iso.org/open-data.html)
16
+ - [ODC-By 1.0 license for ISO Deliverables Metadata](https://opendatacommons.org/licenses/by-1-0/)
17
+
18
+ ## Usage rules
19
+
20
+ 1. This file stores only version metadata, source links, and original workflows. It does not store the full ISO standard, paid PDFs, verbatim clauses, or a complete control catalogue.
21
+ 2. Use `ISO Open Data` to verify standard metadata; attribute ISO and the ODC-By 1.0 license when using it.
22
+ 3. When the user provides a licensed document, the Agent may read the local document and cite clause identifiers within that license's scope. Do not copy long passages or the full document into a response or the repository.
23
+ 4. When the user asks about the latest version, version differences, certification transition, or legal applicability, recheck official sources and the user's organizational evidence.
24
+ 5. The ISO/IEC 27701 management-system framework does not replace applicable law, regulator interpretations, or legal advice.
@@ -0,0 +1,89 @@
1
+ ---
2
+ name: neo-rabbitmq
3
+ description: >
4
+ Use this skill when a request involves RabbitMQ message-topology design, reliability
5
+ analysis, Broker operations, cluster or security configuration, monitoring,
6
+ troubleshooting, or performance optimization. Use stable RabbitMQ 4.3 by default
7
+ and keep development guidance language-neutral. Do not use this skill for
8
+ language-specific Client APIs, website implementation, or Blog content.
9
+ compatibility: No runtime is required; verify current RabbitMQ official documentation for version-sensitive commands, configuration defaults, or security behavior.
10
+ metadata:
11
+ version: "1.0.0"
12
+ pattern: "tool-wrapper,pipeline"
13
+ domain: "messaging-operations-performance"
14
+ default-version: "4.3"
15
+ source-revision: "2b61ea8d840a42e1ba46ee2f1fdf0f9aeec63bd9"
16
+ ---
17
+
18
+ # Neo RabbitMQ
19
+
20
+ Use RabbitMQ 4.3 as the default baseline for language-neutral guidance on message design, Broker operations, and performance optimization.
21
+
22
+ ## Scope Boundaries
23
+
24
+ Cover:
25
+
26
+ - Development design: protocols, Virtual Hosts, Exchanges, Bindings, Queues, Publishers, Consumers, Acknowledgements, Publisher Confirms, Prefetch, TTL, Dead Lettering, reliability, and queue-type selection.
27
+ - Operations and management: installation, configuration, CLI tools, Management, permissions, TLS, Plugins, Policies, clusters, backups, upgrades, Kubernetes Operator, and production checks.
28
+ - Performance optimization: connection and Channel lifecycles, flow control, memory, disk, CPU, network, queues, Quorum Queues, Streams, monitoring, capacity, and bottleneck isolation.
29
+ - Troubleshooting: connectivity, authentication, routing, consumer backlog, resource alarms, cluster health, and upgrade risks.
30
+
31
+ Do not cover:
32
+
33
+ - Client APIs, SDK code, and language-specific tutorials for Java, Python, C#, Go, Ruby, or any other programming language.
34
+ - RabbitMQ website React, Docusaurus, styling, deployment, or other website implementation.
35
+ - RabbitMQ Blog, material outside the documented license scope, and documentation unrelated to the three focus areas.
36
+ - Production operations using rabbitmqadmin publish or rabbitmqadmin get; the source instructions explicitly omit these commands.
37
+
38
+ If a request crosses the boundary, answer the language-neutral portion and identify the missing language-specific or product-specific documentation. Never invent a Client API.
39
+
40
+ ## Workflow
41
+
42
+ 1. Classify the request as topology design, reliability, routine operations, security, performance, troubleshooting, upgrade, or capacity planning.
43
+ 2. Identify the version. Use RabbitMQ 4.3 when no version is specified. For current-version behavior, development releases, release notes, Feature Flags, commands, or configuration defaults, consult current official documentation before answering.
44
+ 3. Load only the required references:
45
+ - Development and message semantics: references/development.md
46
+ - Operations, management, and upgrades: references/operations.md
47
+ - Performance, capacity, and monitoring: references/performance.md
48
+ - Layered troubleshooting: references/troubleshooting.md
49
+ - Version, sources, and exclusions: references/sources-and-scope.md
50
+ 4. Gather evidence before drawing conclusions. At minimum, identify the RabbitMQ version, protocol, Virtual Host, Exchange, Queue type, message size and rate, durability, confirmation mode, Consumer behavior, node count, CPU, RAM, disk, network, and relevant metrics. State when the available data is insufficient.
51
+ 5. Separate source facts, recommendations, and inferences. Label inferences explicitly. Do not present a documentation example or single-environment value as a universal default.
52
+ 6. Start with non-destructive checks before proposing changes. For configuration changes, deletion, clearing, restart, failover, or upgrade, state the impact, backup, rollback, and verification conditions.
53
+ 7. Before using CLI examples, consult the corresponding help output when RabbitMQ tools are available locally. Mark every command with its applicable version and required permissions. Never invent parameters.
54
+
55
+ ## Decision Rules
56
+
57
+ - Define delivery, ordering, retry, loss, and duplicate-processing semantics before discussing throughput or latency.
58
+ - Treat Publisher Confirms and Consumer Acknowledgements as separate reliability boundaries. Check message persistence together with Queue durability.
59
+ - Select a Queue type based on data safety, replication, ordering, retention, replay, consumption model, and resource characteristics. Never claim that one type is faster for every workload.
60
+ - Prefer long-lived Connections, Channel reuse, Publisher and Consumer separation, avoiding polling, and a controlled number of unconfirmed messages. Do not treat adding Consumers or increasing Prefetch as a universal solution.
61
+ - Treat Resource Alarms and Flow Control as protection mechanisms and bottleneck signals. Find the root cause in memory, disk, consumption rate, writes, replication, or network before changing alarm settings.
62
+ - Use Policies for settings that can be applied dynamically to groups of objects. Handle Queue or Stream types and other creation-time semantics during design and declaration because they cannot be changed afterward.
63
+ - Establish workload-specific monitoring baselines. Without evidence, do not assume fixed thresholds, capacity, ports, defaults, or security status.
64
+ - Prefer least privilege, Virtual Host isolation, TLS, restricted listeners, secret-free examples, and non-public management endpoints in security guidance.
65
+
66
+ ## Response Contracts
67
+
68
+ ### Topology or Development Design
69
+
70
+ State assumptions, protocol and topology, routing, Queue type, delivery semantics, failure and retry behavior, monitoring metrics, trade-offs, and verification cases. Use concepts, textual topology diagrams, configuration semantics, and protocol fields only. Do not produce Client code in a programming language.
71
+
72
+ ### Operations or Management Runbook
73
+
74
+ Present impact, prerequisites, read-only checks, change steps, rollback steps, health verification, and follow-up monitoring in that order. For clusters, TLS, permissions, backups, and upgrades, state node scope and risks. Never present one unverified command as the complete procedure.
75
+
76
+ ### Performance Analysis
77
+
78
+ Start with the baseline and success criteria. Locate the bottleneck across the end-to-end path: publishing, routing, storage, replication, transport, consumption, or application processing. Change one primary variable at a time and explain expected impact, resource cost, and rollback.
79
+
80
+ ### Troubleshooting
81
+
82
+ Describe symptoms and missing evidence first. Check version and configuration, network and listeners, authentication, clusters, resource alarms, Queues, Publishers, and Consumers in that order. Tie every conclusion to observed evidence and list reproducible verification signals after remediation.
83
+
84
+ ## Fact-Checking Gate
85
+
86
+ - Use sources-and-scope.md as the default RabbitMQ 4.3 source snapshot. The snapshot is not a substitute for current documentation.
87
+ - Treat versions, Feature Flags, Plugins, CLI syntax, configuration keys, defaults, ports, limits, compatibility, and security advisories as changeable information. Consult current official sources before answering.
88
+ - Do not use RabbitMQ Blog content or turn language examples from tutorials or Client Libraries into assumed universal APIs.
89
+ - For production data, message deletion, Queue clearing, permission changes, node shutdown, or upgrades, require sufficient environment evidence and provide rollback and verification steps.
@@ -0,0 +1,82 @@
1
+ [
2
+ {
3
+ "query": "Using language-neutral RabbitMQ 4.3 concepts, design the Exchange, Binding, Queue, confirmation, and retry topology for order events.",
4
+ "should_trigger": true
5
+ },
6
+ {
7
+ "query": "Choose between a general Queue, Quorum Queue, and Stream in RabbitMQ. Analyze the trade-offs for data safety, ordering, replay, and resource use.",
8
+ "should_trigger": true
9
+ },
10
+ {
11
+ "query": "Explain Publisher Confirms and Consumer Acknowledgements, then design a workflow that handles duplicate delivery.",
12
+ "should_trigger": true
13
+ },
14
+ {
15
+ "query": "RabbitMQ publishing is occasionally blocked. Plan read-only troubleshooting steps using Memory Alarms, Disk Alarms, Flow Control, and Consumer rate.",
16
+ "should_trigger": true
17
+ },
18
+ {
19
+ "query": "Plan TLS, Virtual Host, least privilege, Management, and CLI administration for a RabbitMQ 4.3 cluster.",
20
+ "should_trigger": true
21
+ },
22
+ {
23
+ "query": "A RabbitMQ Queue keeps growing. Use Consumer Capacity, Prefetch, Ack Rate, Redelivery, and disk metrics to locate the bottleneck.",
24
+ "should_trigger": true
25
+ },
26
+ {
27
+ "query": "Design Prometheus monitoring and a RabbitMQ capacity baseline, including the cost of Per-object metrics.",
28
+ "should_trigger": true
29
+ },
30
+ {
31
+ "query": "We are preparing a node-by-node RabbitMQ upgrade. List checks for the Upgrade Path, Erlang, Feature Flags, backups, cluster health, and rollback.",
32
+ "should_trigger": true
33
+ },
34
+ {
35
+ "query": "RabbitMQ Connection and Channel counts keep increasing. Investigate Churn, File Descriptors, memory, and the application lifecycle.",
36
+ "should_trigger": true
37
+ },
38
+ {
39
+ "query": "Plan Kubernetes storage, TLS, monitoring, upgrades, and failure troubleshooting from the RabbitMQ Operator perspective.",
40
+ "should_trigger": true
41
+ },
42
+ {
43
+ "query": "Write Python code with pika to create a RabbitMQ Exchange, Queue, and Consumer.",
44
+ "should_trigger": false
45
+ },
46
+ {
47
+ "query": "Give me a Java RabbitMQ Client Publisher Confirm API example.",
48
+ "should_trigger": false
49
+ },
50
+ {
51
+ "query": "Implement automatic RabbitMQ reconnect and Prefetch configuration in C#.",
52
+ "should_trigger": false
53
+ },
54
+ {
55
+ "query": "Write a RabbitMQ Stream Producer using the Go Client.",
56
+ "should_trigger": false
57
+ },
58
+ {
59
+ "query": "Show me how to modify React components and the Docusaurus Sidebar in the RabbitMQ website.",
60
+ "should_trigger": false
61
+ },
62
+ {
63
+ "query": "Summarize the latest RabbitMQ Blog post and republish it in full.",
64
+ "should_trigger": false
65
+ },
66
+ {
67
+ "query": "Compare Kafka Broker partition performance without discussing RabbitMQ.",
68
+ "should_trigger": false
69
+ },
70
+ {
71
+ "query": "Optimize PostgreSQL indexes and execution plans.",
72
+ "should_trigger": false
73
+ },
74
+ {
75
+ "query": "Build a general HTTP API retry service without a message Broker.",
76
+ "should_trigger": false
77
+ },
78
+ {
79
+ "query": "Install npm packages and fix dependency conflicts in a Node.js project.",
80
+ "should_trigger": false
81
+ }
82
+ ]
@@ -0,0 +1,114 @@
1
+ {
2
+ "skill_name": "neo-rabbitmq",
3
+ "evals": [
4
+ {
5
+ "id": 1,
6
+ "prompt": "Using language-neutral RabbitMQ 4.3 concepts, design the Exchange, Binding, Queue, confirmation, and retry topology for order events.",
7
+ "expected_output": "State assumptions first, then describe the protocol, Virtual Host, Exchange, Binding, Queue type, Publisher Confirm, Consumer Ack, retry, and Dead Letter paths. Do not include Client code in any programming language.",
8
+ "assertions": [
9
+ "It clearly uses RabbitMQ 4.3 as the baseline before current-version verification",
10
+ "It distinguishes routing success, Publisher Confirm, and Consumer Ack semantics",
11
+ "It lists verification methods for duplicate delivery, retry limits, and Dead Lettering",
12
+ "It uses only topology and protocol semantics and contains no Java, Python, C#, or other language API code"
13
+ ]
14
+ },
15
+ {
16
+ "id": 2,
17
+ "prompt": "Choose between a general Queue, Quorum Queue, and Stream. Analyze the trade-offs for data safety, ordering, replay, and resource use.",
18
+ "expected_output": "Use a requirements matrix to compare the three data structures. Distinguish replication, ordering, Retention, Offset, replay, Consumer model, and resource cost, and require workload-based performance validation.",
19
+ "assertions": [
20
+ "It does not claim that one Queue type is fastest for every workload",
21
+ "It identifies Quorum Queue replication and resource trade-offs",
22
+ "It identifies Stream Offset, Retention, or replay semantics",
23
+ "It provides capacity and failure verification conditions after selection"
24
+ ]
25
+ },
26
+ {
27
+ "id": 3,
28
+ "prompt": "RabbitMQ publishing is occasionally blocked. Plan a safe troubleshooting workflow.",
29
+ "expected_output": "Request the version, nodes, time range, and metrics first. Then isolate Memory Alarms, Disk Alarms, Flow Control, Queue backlog, Consumer rate, disk, and network with read-only checks before proposing changes with rollback steps.",
30
+ "assertions": [
31
+ "It treats alarms as protection mechanisms and bottleneck signals instead of immediately raising thresholds",
32
+ "It lists read-only checks before changes and rollback",
33
+ "It mentions that cluster alarms can affect multiple nodes",
34
+ "It explicitly states that the root cause cannot be determined without environment evidence"
35
+ ]
36
+ },
37
+ {
38
+ "id": 4,
39
+ "prompt": "Plan TLS, Virtual Host, least privilege, Management, and CLI administration for a RabbitMQ 4.3 cluster.",
40
+ "expected_output": "Separate network and certificates, Authentication, Authorization, Virtual Host, Management, CLI, monitoring accounts, and verification steps. Keep secrets out of examples.",
41
+ "assertions": [
42
+ "It distinguishes Authentication from Authorization",
43
+ "It uses Virtual Hosts for isolation and permission scope",
44
+ "It checks TLS Peer Verification, Listeners, or certificate rotation",
45
+ "It contains no passwords, Tokens, Cookies, private keys, or personal information"
46
+ ]
47
+ },
48
+ {
49
+ "id": 5,
50
+ "prompt": "Design Prometheus monitoring and a RabbitMQ performance baseline.",
51
+ "expected_output": "Cover Cluster, Node, Queue, Connection, Channel, Publisher, Consumer, Stream, Alarm, and host metrics. Explain aggregated versus Per-object metrics, scrape frequency, and monitoring cost.",
52
+ "assertions": [
53
+ "It first defines SLO, message size, rate, processing time, and topology baselines",
54
+ "It includes actionable metrics such as Consumer Capacity, Queue Depth, Ack latency, or Confirm latency",
55
+ "It warns about high cardinality and output cost from Per-object or Detailed metrics",
56
+ "It does not invent universal monitoring thresholds without source evidence"
57
+ ]
58
+ },
59
+ {
60
+ "id": 6,
61
+ "prompt": "We are preparing a node-by-node RabbitMQ upgrade. List the checks before, during, and after the upgrade.",
62
+ "expected_output": "Order checks around Upgrade Path, Erlang version, Release Notes, Feature Flags, Plugins, backups, cluster health, capacity, per-node verification, and rollback.",
63
+ "assertions": [
64
+ "It requires confirmation of the upgrade path from the source to target version",
65
+ "It includes Erlang, stable Feature Flag, Plugin, and cluster-capacity checks",
66
+ "Each node has stop, upgrade, start, and health-verification steps",
67
+ "It explains when a Rolling Upgrade is not applicable"
68
+ ]
69
+ },
70
+ {
71
+ "id": 7,
72
+ "prompt": "A RabbitMQ Queue keeps growing. Find the possible performance bottlenecks.",
73
+ "expected_output": "Treat Queue backlog as a symptom. Isolate Publish, Routing, Storage, Network, Consumer, Prefetch, Ack, Redelivery, Alarm, and resource evidence. Label adding Consumers as a hypothesis to validate.",
74
+ "assertions": [
75
+ "It compares Publish Rate, Deliver Rate, Ack Rate, and Consumer Capacity",
76
+ "It checks unacknowledged messages, Prefetch, redelivery, and retry loops",
77
+ "It does not present adding Consumers as a universal solution",
78
+ "It lists Queue, Alarm, latency, and resource signals for post-fix verification"
79
+ ]
80
+ },
81
+ {
82
+ "id": 8,
83
+ "prompt": "Analyze why RabbitMQ Connection and Channel counts keep increasing.",
84
+ "expected_output": "Check lifecycle, creation and closure rates, File Descriptors, memory, reconnect spikes, Client distribution, and Connection or Channel Churn. Then propose reuse and capacity measures.",
85
+ "assertions": [
86
+ "It distinguishes Connection Churn from Channel Churn",
87
+ "It includes File Descriptor and memory evidence",
88
+ "It recommends long-lived resources and reasonable Publisher and Consumer separation",
89
+ "It does not produce connection-management code for a specific programming language"
90
+ ]
91
+ },
92
+ {
93
+ "id": 9,
94
+ "prompt": "Plan Kubernetes RabbitMQ operations from the Operator perspective.",
95
+ "expected_output": "Request Operator, RabbitMQ, Kubernetes, and CRD versions first. Then check storage, TLS, monitoring, Pod Disruption, upgrades, Operator logs, and RabbitMQ Broker health separately.",
96
+ "assertions": [
97
+ "It does not treat non-versioned Operator documentation as RabbitMQ 4.3 Broker documentation",
98
+ "It requires version and CRD compatibility checks",
99
+ "It covers storage, TLS, monitoring, upgrades, and troubleshooting",
100
+ "It does not provide unverified deletion, rebuild, or downtime commands"
101
+ ]
102
+ },
103
+ {
104
+ "id": 10,
105
+ "prompt": "Give me Python pika code for RabbitMQ automatic reconnect and Prefetch.",
106
+ "expected_output": "The request is outside the skill's language-specific Client API scope. Refuse to produce Python code, but provide language-neutral reconnect, Ack, Prefetch, duplicate-delivery, and verification semantics when useful, and point to the official Client Library documentation.",
107
+ "assertions": [
108
+ "It does not produce Python code or invent an API",
109
+ "It still explains language-neutral reliability and performance considerations",
110
+ "It clearly states the skill boundary and the need to consult official Client documentation"
111
+ ]
112
+ }
113
+ ]
114
+ }
@@ -0,0 +1,71 @@
1
+ # RabbitMQ Development Design
2
+
3
+ Use this reference for protocol and message-design decisions based on RabbitMQ 4.3. The primary sources are amqp.md, protocols.md, exchanges.md, queues.md, consumers.md, publishers/index.md, confirms.md, reliability.md, ttl.md, quorum-queues/index.md, and streams.md.
4
+
5
+ ## Design Order
6
+
7
+ Define business semantics before designing objects and settings:
8
+
9
+ 1. Define whether messages may be lost, whether duplicates are allowed, ordering requirements, retry limits, expiration policy, and the destination for failed processing.
10
+ 2. Select the protocol and Virtual Host, then confirm authentication, authorization, isolation, and network boundaries.
11
+ 3. Design Exchanges, Bindings, Routing Keys, and handling for unroutable messages.
12
+ 4. Choose a Queue, Quorum Queue, or Stream, then confirm durability, replication, retention, replay, and resource characteristics.
13
+ 5. Design Publisher Confirms, Consumer Acknowledgements, Prefetch, retry, and cancellation behavior.
14
+ 6. Define monitoring, alerts, failure recovery, and verification cases.
15
+
16
+ ## Exchanges and Routing
17
+
18
+ - Publishers send messages to an Exchange. The Exchange routes them to Queues according to Bindings and Routing Keys.
19
+ - direct is suitable for exact-key routing, fanout broadcasts to bound Queues, and topic routes by pattern. Select the type based on message topology and maintenance cost.
20
+ - When unroutable messages matter, explicitly choose Publisher-side reporting, an Alternate Exchange, or another observable failure path. Do not interpret a Confirm as proof that a Consumer will process the message.
21
+ - Exchanges, Bindings, and Queues are scoped to a Virtual Host. For cross-team or multi-tenant environments, confirm naming, permissions, and isolation boundaries first.
22
+ - When using Exchange-to-Exchange Bindings or an Alternate Exchange, include the additional routing layer and loop risks in verification.
23
+
24
+ ## Queue Declaration and Lifecycle
25
+
26
+ - A Queue's name, Durable, Exclusive, Auto-delete, and Arguments together determine lifecycle and resource semantics.
27
+ - Redeclaring an existing Queue with inconsistent properties causes a channel-level PRECONDITION_FAILED. Treat the declaration contract as a versioned interface in deployment tools and applications.
28
+ - Queue types, some Arguments, and other creation-time settings cannot be changed arbitrarily after creation. Prefer Policies for group settings that Policies can manage instead of scattering them across application declarations.
29
+ - RabbitMQ 4.3 has disabled the default declaration of non-Durable, non-Exclusive Classic Queues. For short-lived data, evaluate a Durable Queue with Queue TTL, an Exclusive Queue, or another suitable data structure rather than relying on deprecated behavior.
30
+ - An Exclusive Queue is tied to the Connection that declared it and is suitable for temporary state owned by one Client. It is commonly paired with a Broker-generated name to avoid fixed-name races during reconnects.
31
+ - A Durable Queue does not mean that every message survives a restart. Check message persistence at publish time together with Queue durability.
32
+
33
+ ## Reliability Boundaries
34
+
35
+ - A Publisher Confirm reports whether the Broker accepted and processed a publish. A Consumer Acknowledgement reports whether the Consumer completed delivery processing. They address failures in different directions.
36
+ - When Broker-side data safety matters, use an appropriate Durable Queue, persistent messages, Publisher Confirms, and a recovery workflow. Explicitly handle Confirm latency, negative responses, and Connection loss.
37
+ - A Consumer should not acknowledge before processing is complete. A disconnect, Channel closure, or Negative Acknowledgement can requeue unacknowledged messages, so processing must tolerate duplicate delivery.
38
+ - Requeue is not an infinite retry strategy. Set observable retry limits, delayed retry, or a Dead Letter path for persistent failures to avoid a Requeue Loop.
39
+ - Confirm, Ack, routing success, persistence success, and business processing success are different events. Represent them separately in state machines and audit records.
40
+
41
+ ## Queue, Quorum Queue, and Stream
42
+
43
+ - A general Queue uses Queue, Consumer, Ack, Prefetch, and TTL semantics. Confirm whether replication and cross-node fault tolerance are required.
44
+ - A Quorum Queue provides replication, data safety, and consistency. It requires Durable and introduces membership management, Leader election, Delivery Limit, resource use, and performance trade-offs. Select it only when those semantics are required.
45
+ - A Stream is an immutable append-only log with Offset, Retention, replay, and a different consumption model. It is not a renamed general Queue and has different connection and replication requirements.
46
+ - For global ordering, check whether a Stream fits. If using Queues, evaluate Single Active Consumer, a single Consumer, or partitioning, including the effect of requeue on ordering.
47
+ - Do not conclude that Quorum Queues are always safer or Streams are always faster without workload evidence. Test message size, rate, replication factor, disk, Consumer behavior, and target SLO.
48
+
49
+ ## Publisher and Consumer Behavior
50
+
51
+ - Messaging protocols generally expect long-lived Connections. Do not create and close a Connection for every publish or consume operation; evaluate Connection pooling when necessary.
52
+ - Connections and Channels consume Client and Broker resources. Reuse long-lived resources, close objects that are truly no longer needed, and monitor Connection or Channel Churn.
53
+ - If Publishers and Consumers share a Connection, Publisher Flow Control can affect Consumer manual acknowledgements. Separate the two Connection types when the requirements allow it.
54
+ - Prefetch controls the number of deliveries that have not completed. It affects throughput, latency, ordering, memory, and redelivery cost; adjust it only after measuring processing time, message size, Consumer count, and Ack behavior.
55
+ - Observe Consumer Capacity, unacknowledged message count, Queue Depth, Publish Rate, Deliver Rate, Ack Rate, and Confirm Latency together. Do not rely on Queue length alone.
56
+ - Polling Consumers add requests and latency without keeping delivery continuous. Unless single-message pulls are explicitly required, prefer continuous consumption.
57
+
58
+ ## Language-Neutral Output
59
+
60
+ For development questions, use topology, protocol fields, configuration semantics, failure states, and verification cases. Do not produce Java, Python, C#, Go, Ruby, or other language-specific Client calls. If the user needs an implementation in a language, direct them to the corresponding official Client Library documentation.
61
+
62
+ ### Sources
63
+
64
+ - [Exchanges](https://www.rabbitmq.com/docs/4.3/exchanges)
65
+ - [Queues](https://www.rabbitmq.com/docs/4.3/queues)
66
+ - [Consumers](https://www.rabbitmq.com/docs/4.3/consumers)
67
+ - [Publishers](https://www.rabbitmq.com/docs/4.3/publishers)
68
+ - [Consumer Acknowledgements and Publisher Confirms](https://www.rabbitmq.com/docs/4.3/confirms)
69
+ - [Reliability Guide](https://www.rabbitmq.com/docs/4.3/reliability)
70
+ - [Quorum Queues](https://www.rabbitmq.com/docs/4.3/quorum-queues)
71
+ - [Streams and Super Streams](https://www.rabbitmq.com/docs/4.3/streams)
@@ -0,0 +1,77 @@
1
+ # RabbitMQ Operations and Management
2
+
3
+ Use this reference for RabbitMQ 4.3 Broker management. The primary sources are configure.md, manage-rabbitmq.md, cli.md, management-cli.md, management/index.md, definitions.md, plugins.md, access-control.md, vhosts.md, policies.md, clustering.md, cluster-formation.md, networking.md, ssl/index.md, backup.md, snapshots.md, upgrade.md, rolling-upgrade.md, and production-checklist.md.
4
+
5
+ ## Operations Lifecycle
6
+
7
+ Treat inventory, change, verification, and rollback as the minimum closed loop for every operation:
8
+
9
+ 1. Inventory RabbitMQ, Erlang, Plugins, Feature Flags, node names, Cluster members, Listeners, Virtual Hosts, users, Policies, Queue types, and current alarms.
10
+ 2. Confirm the target, affected nodes, change window, backup or Definitions Export, rollback path, and success criteria.
11
+ 3. Run read-only checks first, then apply the smallest-scope change. Do not modify several unverified settings together.
12
+ 4. Recheck health, alarms, Listeners, routing, Publishers, Consumers, and critical business metrics. Preserve evidence of the change.
13
+
14
+ If data is insufficient, do not provide a one-step restart, deletion, clearing, or upgrade procedure. Request the environment version, topology, backup state, and maintenance-window information first.
15
+
16
+ ## Configuration and CLI
17
+
18
+ - Manage primary Broker settings through rabbitmq.conf or .conf files in the configuration directory. Use advanced.config only when the corresponding configuration format is required. For configuration questions, confirm the file location, load method, and node scope first.
19
+ - Use rabbitmqctl for service management and general Broker operations, rabbitmq-diagnostics for diagnostics and health checks, rabbitmq-plugins for Plugin management, and rabbitmq-queues for Queue-related administration. Treat the help output for the target version as authoritative for subcommands.
20
+ - rabbitmqadmin v2 uses the HTTP API for object management, health checks, Definitions, and some operational tasks. It does not replace the core CLI tools. Do not use the explicitly excluded rabbitmqadmin publish or rabbitmqadmin get production operations.
21
+ - Use restricted accounts for CLI, HTTP API, and Management UI. Never put passwords, Tokens, Cookies, private keys, or personal information in commands, documentation, logs, or examples.
22
+
23
+ ## Management, Permissions, and Isolation
24
+
25
+ - The Management Plugin provides a UI, HTTP API, metrics, and some management operations. Separate read-write management accounts from read-only monitoring accounts and grant only the required Virtual Host scope.
26
+ - A Virtual Host is a logical isolation boundary for Connections, Exchanges, Queues, Bindings, permissions, and some Policies. Do not use naming alone to separate tenants or systems with different lifecycles.
27
+ - Authentication and Authorization are separate controls. First confirm how a user is authenticated, then confirm what the user can do in the target Virtual Host.
28
+ - When enabling TLS, check the Server Certificate, Trust Store, Peer Verification, Hostname, Listener, certificate rotation, and Client compatibility together. A working TCP connection is not enough.
29
+ - Check inter-node and CLI tool authentication, DNS, time synchronization, Firewall rules, and required Listeners together. A working TLS Client connection does not prove that inter-node communication is secure or available.
30
+
31
+ ## Policies, Definitions, and Plugins
32
+
33
+ - Use a Policy to apply runtime settings to a group of Queues, Streams, or Exchanges. Policies suit settings that change or must remain consistent across a group.
34
+ - A Policy cannot change Queue or Stream types or other creation-time semantics. Handle those choices in topology versioning and migration plans.
35
+ - Definitions contain Users, Virtual Hosts, Queues, Exchanges, Bindings, Runtime Parameters, and other topology metadata. A Definitions Export can support topology backup, migration, or data seeding, but it is not a backup of Queue message contents.
36
+ - Before enabling a Plugin, confirm its support level, version compatibility, resource cost, Listeners, permissions, monitoring, and disablement rollback. Do not enable an unnecessary Plugin because the UI offers it.
37
+
38
+ ## Cluster and Node Maintenance
39
+
40
+ - Cluster membership, metadata, and Queue or Stream Replica scope are different concerns. Distinguish cluster membership, Definitions replication, and message-data replication.
41
+ - Cluster design must check Node Names, Peer Discovery, Erlang Cookie or equivalent authentication, DNS, Firewall rules, time synchronization, Leader or Replica placement, Client connection distribution, and quorum conditions.
42
+ - RabbitMQ 4.3 cluster documentation emphasizes odd node counts and discourages two-node clusters. Validate the node count against Queue or Stream replication factors, failure model, capacity, and maintenance strategy.
43
+ - Adding nodes does not automatically solve throughput problems. Metadata changes, cross-node routing, replication, Connection distribution, and data placement can add new costs.
44
+ - Before node maintenance, confirm that no object would lose quorum or a required Replica. Follow the applicable Queue, Stream, and upgrade documentation. Do not stop a node without health evidence.
45
+
46
+ ## Backup, Upgrade, and Rollback
47
+
48
+ - Treat Definitions, Broker configuration, certificates, and message data as separate backup targets. Confirm the recovery scope and recovery-test result for each backup type.
49
+ - Use a Rolling Upgrade only when the source and target versions, Erlang versions, Feature Flags, Plugins, cluster health, and capacity conditions all qualify.
50
+ - Before an upgrade, read the Release Notes from the current version through the target version. Check the Upgrade Path, Erlang requirements, stable Feature Flags, package dependencies, cluster capacity, backups, and rollback plan.
51
+ - Upgrade nodes one at a time: stop, upgrade, start, and verify each node. At every step, check cluster state, Queue or Stream safety, Listeners, Publishers, Consumers, and alarms.
52
+ - Enable new Feature Flags or remove compatibility settings only after every verification condition passes. Keep a feasible path back to the last verified version.
53
+
54
+ ## Production Minimum Checks
55
+
56
+ - Use durable storage and check free disk, storage isolation, filesystem behavior, I/O capability, and backup strategy.
57
+ - Check RAM, Memory Alarms, Disk Alarms, File Descriptors, CPU, network throughput, Connections, Channels, Queues, message rates, and log collection.
58
+ - Use TLS, least privilege, restricted Firewalls, non-public Management endpoints, rotatable certificates, and monitoring configuration without secrets.
59
+ - Have applications reuse long-lived Connections and Channels. Avoid high Connection or Channel Churn, unrestricted polling, and unbounded retries.
60
+ - Create executable verification cases for health checks, readiness, alarms, capacity trends, failure recovery, and upgrade rollback.
61
+
62
+ ## Kubernetes Operator
63
+
64
+ Kubernetes Operator documentation is in the non-versioned kubernetes/operator/ path. For Operator questions, confirm the versions of the Operator, RabbitMQ Cluster Operator, Topology Operator, Kubernetes, and RabbitMQ first. Verify CRDs, storage, TLS, monitoring, Pod Disruption, upgrades, and Operator logs separately. Do not treat Operator documentation as a replacement for versioned RabbitMQ 4.3 Broker documentation.
65
+
66
+ ### Sources
67
+
68
+ - [Configuration](https://www.rabbitmq.com/docs/4.3/configure)
69
+ - [Command Line Tools](https://www.rabbitmq.com/docs/4.3/cli)
70
+ - [Management Plugin](https://www.rabbitmq.com/docs/4.3/management)
71
+ - [Authentication, Authorization, and Access Control](https://www.rabbitmq.com/docs/4.3/access-control)
72
+ - [Virtual Hosts](https://www.rabbitmq.com/docs/4.3/vhosts)
73
+ - [Policies](https://www.rabbitmq.com/docs/4.3/policies)
74
+ - [Clustering Guide](https://www.rabbitmq.com/docs/4.3/clustering)
75
+ - [TLS Support](https://www.rabbitmq.com/docs/4.3/ssl)
76
+ - [Rolling Upgrade](https://www.rabbitmq.com/docs/4.3/rolling-upgrade)
77
+ - [Production Deployment Guidelines](https://www.rabbitmq.com/docs/4.3/production-checklist)
@@ -0,0 +1,98 @@
1
+ # RabbitMQ Performance, Capacity, and Monitoring
2
+
3
+ Use this reference for RabbitMQ 4.3 performance analysis. The primary sources are production-checklist.md, monitoring/index.md, prometheus/index.md, memory.md, memory-use/index.md, connections/index.md, channels/index.md, flow-control.md, consumer-prefetch.md, publishers/index.md, queues.md, quorum-queues/index.md, streams.md, and alarms.md.
4
+
5
+ ## Establish a Comparable Baseline
6
+
7
+ Before changing settings, record a stable period of:
8
+
9
+ - Target SLOs: Publish latency, Confirm latency, Consumer latency, acceptable Queue Depth, acceptable redelivery rate, and availability.
10
+ - Workload: message-size distribution, Publish Rate, Deliver Rate, Ack Rate, Confirm Rate, Consumer count, processing time, retries, and traffic-spike patterns.
11
+ - Topology: protocol, Virtual Host, Exchange, Binding, Queue type, Durable, TTL, Dead Lettering, replication factor, node count, and Client connection location.
12
+ - Broker resources: CPU, RAM, Memory Breakdown, disk capacity, disk latency and throughput, File Descriptors, network throughput, Connections, Channels, Queues, and alarms.
13
+ - Application behavior: Connection or Channel Churn, Prefetch, unacknowledged messages, polling, message batching, failed reconnects, redelivery, and Consumer Capacity.
14
+
15
+ Without a baseline, you cannot tell whether a change improved the system or moved the bottleneck. Mark the data as insufficient instead of providing fixed values.
16
+
17
+ ## Bottleneck Isolation Order
18
+
19
+ Inspect the end-to-end path before adjusting a parameter:
20
+
21
+ 1. Can the Publisher establish a Connection, complete routing, and receive a Confirm?
22
+ 2. Do Exchanges and Bindings cause unroutable messages, extra routing, or imbalance?
23
+ 3. Are Queue storage, disk, replication, TTL, Priority, or message indexes the cost driver?
24
+ 4. Are Connections, Channels, Flow Control, or the network limiting transport?
25
+ 5. Does the Consumer have enough processing capacity, suitable Prefetch, appropriate Ack timing, and observable failure retries?
26
+ 6. Is the Broker in a Memory Alarm, Disk Alarm, or another resource-protection state?
27
+
28
+ If Queue Depth is growing, the cause may be Consumer processing speed, a Publisher spike, routing errors, a retry loop, disk, replication, or a Connection problem. Treat adding Consumers as a hypothesis to validate, not a conclusion.
29
+
30
+ ## Priority Adjustments
31
+
32
+ ### Connections and Channels
33
+
34
+ - Prefer long-lived Connections and Channels. Do not create a Connection for every message.
35
+ - Observe Connection Count, Channel Count, creation and closure rates, File Descriptors, memory, and network resources.
36
+ - When requirements allow, separate Publishers and Consumers onto different Connections so Publisher Flow Control does not delay Consumer acknowledgements.
37
+ - For large Connection populations, also check node distribution, Listeners, operating-system limits, TLS cost, and Client reconnect storms.
38
+
39
+ ### Publishers
40
+
41
+ - Assess data safety through Publisher Confirm latency, negative responses, retries, and Connection-loss behavior, not only the return of a Publish call.
42
+ - Streaming Confirms, Batch Publishing, and Publish-and-Wait have different latency, throughput, and memory properties. Select one according to reliability requirements, then measure it with the workload.
43
+ - Check Unroutable Message metrics and Exchange Bindings. A Queue without a Consumer or a received Confirm does not prove that business processing completed.
44
+ - When a Publisher is blocked by a Resource Alarm or Flow Control, address Broker resources and downstream consumption before increasing concurrency.
45
+
46
+ ### Consumers
47
+
48
+ - Adjust Prefetch according to message size, processing time, Ack latency, Consumer count, ordering requirements, and memory limits.
49
+ - Observe Consumer Capacity, Ready Messages, Unacknowledged Messages, Deliver Rate, Ack Rate, Redelivery Rate, and processing latency.
50
+ - Prefetch that is too high can increase unacknowledged messages and memory use; Prefetch that is too low can limit concurrency. Compare throughput, latency, memory, and redelivery after every change.
51
+ - Do not replace continuous consumption with polling for performance. Polling usually adds request cost and empty-pull latency.
52
+ - If ordering is the priority, evaluate Single Active Consumer, a single Consumer, or partitioned Queues. If retries are the priority, evaluate Delivery Limit, delayed retry, and Dead Lettering.
53
+
54
+ ### Queue Types and Data Paths
55
+
56
+ - Classic Queue, Quorum Queue, and Stream have different data models, replication, storage, ordering, retention, and consumption behavior. Select by semantics first, then run workload benchmarks.
57
+ - Quorum Queue replication, WAL, Segment, Snapshot, Leader, Rebalance, disk, and resource use affect performance. Adjust performance settings only when you observe the corresponding bottleneck.
58
+ - Stream Retention, Replica, Leader, Offset, Deduplication, Stream Connection, and Super Stream partitioning change the cost model. Do not apply general Queue tuning assumptions to Streams.
59
+ - TTL, Length Limit, Priority, Dead Lettering, and Requeue change Queue workload. Include Priority count, expiration scanning, and repeated enqueueing in resource estimates.
60
+
61
+ ## Memory, Disk, and Alarms
62
+
63
+ - Use Memory Breakdown to distinguish Connections, Queues, Message Store Index, Plugins, Management Stats, Binaries, Erlang Processes, and other categories. Do not inspect only operating-system RSS.
64
+ - Memory Alarms and Disk Alarms block publishing Connections, and cluster alarms can affect the whole cluster. First identify the alarm source node, consumption rate, remaining disk, message Paging, and resource trends.
65
+ - The memory Threshold is a protection point that triggers publishing throttling, not a hard limit. In containers or Kubernetes, confirm the effective cgroup limit and Broker configuration.
66
+ - Examine disk capacity, disk latency, free space, Queue storage, Quorum Segments, and Snapshots together. A Disk Alarm cannot be solved simply by lowering a limit.
67
+ - Reduce input, restore consumption, handle unnecessary backlog according to the data-retention and recovery plan, or add suitable resources first. Then reassess the threshold; raising it must not conceal an environment without capacity.
68
+
69
+ ## Monitoring Design
70
+
71
+ - Combine Prometheus, the Management Plugin, the HTTP API, CLI Observer, logs, and host metrics. A health check cannot replace trend monitoring.
72
+ - At minimum distinguish Cluster, Node, Queue, Connection, Channel, Publisher, Consumer, Stream, Alarm, and application-level metrics.
73
+ - Aggregated metrics suit high-frequency and large-scale collection. Per-object or Detailed metrics can produce high output volume and cardinality; limit their scope and frequency.
74
+ - Monitoring itself consumes CPU, memory, HTTP, Management Stats, and storage resources. Set collection frequency and object scope according to capacity and troubleshooting needs.
75
+ - Thresholds in Grafana or Prometheus charts are not universal RabbitMQ constants. Workload, Queue type, message size, and SLO affect a reasonable range.
76
+
77
+ ## Capacity and Experiment Rules
78
+
79
+ Record the following for every performance experiment:
80
+
81
+ 1. One primary variable, such as Prefetch, Consumer count, batch size, Connection distribution, or Queue type.
82
+ 2. Fixed message size, Publish Rate, Consumer processing time, node resources, and test duration.
83
+ 3. Success criteria, such as Confirm p95, Consumer p95, Queue Depth, CPU, RAM, disk latency, redelivery rate, and alarm count.
84
+ 4. Failure criteria, rollback settings, data-cleanup method, and rerun steps.
85
+
86
+ Treat results as observations for the same topology and workload only. Do not present throughput, latency, or the best parameter from a single benchmark as a universal RabbitMQ capability.
87
+
88
+ ### Sources
89
+
90
+ - [Production Deployment Guidelines](https://www.rabbitmq.com/docs/4.3/production-checklist)
91
+ - [Monitoring](https://www.rabbitmq.com/docs/4.3/monitoring)
92
+ - [Prometheus and Grafana](https://www.rabbitmq.com/docs/4.3/prometheus)
93
+ - [Reasoning About Memory Usage](https://www.rabbitmq.com/docs/4.3/memory-use)
94
+ - [Connections](https://www.rabbitmq.com/docs/4.3/connections)
95
+ - [Channels](https://www.rabbitmq.com/docs/4.3/channels)
96
+ - [Flow Control](https://www.rabbitmq.com/docs/4.3/flow-control)
97
+ - [Consumer Prefetch](https://www.rabbitmq.com/docs/4.3/consumer-prefetch)
98
+ - [Memory and Disk Alarms](https://www.rabbitmq.com/docs/4.3/alarms)
@@ -0,0 +1,56 @@
1
+ # RabbitMQ Sources and Scope
2
+
3
+ ## Default Version
4
+
5
+ Use the stable RabbitMQ 4.3 documentation as the default knowledge baseline for this skill:
6
+
7
+ - Source directory: rabbitmq-website/versioned_docs/version-4.3
8
+ - Source repository: rabbitmq-website
9
+ - Source snapshot: 2b61ea8d840a42e1ba46ee2f1fdf0f9aeec63bd9
10
+ - In the same source repository, docs is the 4.4 development version, not the default version for this skill.
11
+ - versioned_docs/version-4.2, versioned_docs/version-4.1, versioned_docs/version-4.0, and versioned_docs/version-3.13 are older versions; switch to them only when the user explicitly specifies one.
12
+
13
+ The source repository README identifies 4.3 as the stable documentation path and docs as the 4.4 development version. Because versioned documentation shares the website repository, use the correct version directory instead of relying on docs alone.
14
+
15
+ ## Topic Map
16
+
17
+ | Topic | Primary source paths |
18
+ | :--- | :--- |
19
+ | Protocols and message semantics | amqp.md, protocols.md, exchanges.md, queues.md, consumers.md, publishers/index.md, confirms.md, reliability.md |
20
+ | Queue types and data structures | classic-queues.md, quorum-queues/index.md, streams.md, stream.md, stream-connections.md, stream-filtering.md |
21
+ | Message lifecycle | ttl.md, dlx.md, nack.md, consumer-prefetch.md, consumer-priority.md, flow-control.md |
22
+ | Broker configuration and management | configure.md, manage-rabbitmq.md, cli.md, management-cli.md, management/index.md, plugins.md, definitions.md |
23
+ | Security and isolation | access-control.md, vhosts.md, ssl/index.md, ldap.md, oauth2.md, networking.md |
24
+ | Clusters and maintenance | clustering.md, cluster-formation.md, feature-flags/index.md, backup.md, snapshots.md, upgrade.md, rolling-upgrade.md |
25
+ | Monitoring and performance | monitoring/index.md, prometheus/index.md, production-checklist.md, memory.md, memory-use/index.md, connections/index.md, channels/index.md, alarms.md, disk-alarms.md, limits.md |
26
+ | Troubleshooting | troubleshooting/index.md, troubleshooting-networking.md, troubleshooting-ssl.md, troubleshooting-oauth2.md |
27
+ | Kubernetes operations | Non-versioned kubernetes/operator/ |
28
+
29
+ ## Explicit Exclusions
30
+
31
+ - Do not include Java, Python, C#, Go, Ruby, or other language examples from tutorials/ and client-libraries/. Retain only protocol, topology, reliability, and operations semantics.
32
+ - Do not include blog/. The source README states that Blog content is outside the RabbitMQ documentation license scope and that Blog articles may not be redistributed.
33
+ - Do not include Docusaurus, React, CSS, website components, deployment infrastructure, or ci/; these are not RabbitMQ Broker development, operations, or performance knowledge.
34
+ - Do not use rabbitmqadmin publish or rabbitmqadmin get as production operations. The source Agent Instructions explicitly state that these commands are intentionally omitted.
35
+ - Do not copy the entire website. References are concise knowledge rewritten by topic; source paths provide traceability and verification.
36
+
37
+ ## License and Attribution
38
+
39
+ The RabbitMQ website README states that the documentation is available under the Apache License 2.0 and Mozilla Public License 2.0. Users may choose either license subject to its terms. The README also excludes Blog content and states that Broadcom retains its intellectual property. This skill summarizes the documentation, preserves the source repository, version directory, commit identifier, and official documentation links, and does not treat Blog or other excluded material as part of the documentation license.
40
+
41
+ ## Freshness Policy
42
+
43
+ The source snapshot provides a traceable baseline but does not guarantee current RabbitMQ behavior. Consult current official documentation or the target environment's tool help before answering questions about:
44
+
45
+ - Latest versions, support matrices, Release Notes, Feature Flags, Deprecated Features, and upgrade paths.
46
+ - CLI subcommands, arguments, configuration keys, defaults, ports, limits, Plugin support, and Kubernetes Operator behavior.
47
+ - TLS, OAuth, LDAP, certificates, authentication, CVEs, security advisories, and third-party component status.
48
+ - Performance numbers, capacity, latency, monitoring thresholds, and recommendations for a specific host or container environment.
49
+
50
+ If current-source verification cannot be completed, state explicitly that the answer uses the 4.3 snapshot and list changeable items as pending verification.
51
+
52
+ ### Official Documentation
53
+
54
+ - [RabbitMQ 4.3 documentation](https://www.rabbitmq.com/docs/4.3)
55
+ - [RabbitMQ documentation home](https://www.rabbitmq.com/docs)
56
+ - [RabbitMQ website repository](https://github.com/rabbitmq/rabbitmq-website)
@@ -0,0 +1,84 @@
1
+ # Layered RabbitMQ Troubleshooting
2
+
3
+ Use this reference as a language-neutral investigation process based on RabbitMQ 4.3 troubleshooting documentation. The primary sources are troubleshooting/index.md, troubleshooting-networking.md, troubleshooting-ssl.md, troubleshooting-oauth2.md, monitoring/index.md, memory-use/index.md, connections/index.md, channels/index.md, publishers/index.md, alarms.md, and flow-control.md.
4
+
5
+ ## Troubleshooting Loop
6
+
7
+ 1. Describe observable symptoms: affected Virtual Host, Queue, Connection, Node, time range, error messages, latency, and affected operations.
8
+ 2. Confirm the version and change context: RabbitMQ, Erlang, Plugins, Feature Flags, configuration, deployment, certificates, network, and recent changes.
9
+ 3. Collect read-only evidence: health checks, alarms, Listeners, logs, Cluster status, Queue metrics, Connections, Channels, Publishers, Consumers, memory, and disk.
10
+ 4. Isolate by layer: Client or network, Listener, TLS, Authentication, Authorization, Cluster, Resource Alarm, Exchange routing, Queue, Publisher, Consumer, or application processing.
11
+ 5. Change only after the failing layer is supported by evidence. Reproduce first in a small scope or non-production environment and record rollback settings.
12
+ 6. Verify again using the original symptom, health status, metrics, logs, and business outcome. Confirm that the failure was not moved to another layer.
13
+
14
+ A report that only says very slow, cannot connect, or Queue is growing lacks the time, scope, version, and metrics required for a safe root-cause determination.
15
+
16
+ ## Symptom-Based Checks
17
+
18
+ ### Publisher Blocked or Throughput Reduced
19
+
20
+ Check Memory Alarm, Disk Alarm, Flow Control, disk latency, Queue backlog, Consumer Ack rate, Publisher Confirm latency, and network first. A Resource Alarm blocks publishing Connections, and a cluster alarm can affect multiple nodes.
21
+
22
+ Do not begin by raising Memory Threshold, Disk Threshold, or Publisher concurrency. Reduce input or restore downstream consumption, identify the source of memory, disk, and message backlog, and then decide whether capacity or configuration changes are justified.
23
+
24
+ ### Queue Backlog or Consumer Falling Behind
25
+
26
+ Check in order:
27
+
28
+ - Whether Exchanges and Bindings route messages to the expected Queue.
29
+ - Whether Publisher Rate remains above Deliver Rate or Ack Rate.
30
+ - Consumer Capacity, Consumer count, processing time, Prefetch, and unacknowledged messages.
31
+ - Redelivery, Negative Acknowledgement, Retry, Dead Lettering, and Requeue Loops.
32
+ - Queue type, replication, disk, resource alarms, and cross-node data placement.
33
+
34
+ Add Consumers only when Consumer processing capacity or concurrency is a proven bottleneck. If the bottleneck is Publisher input, disk, routing, or Requeue, adding Consumers can worsen the problem.
35
+
36
+ ### Routing or Message-Loss Concern
37
+
38
+ Confirm the Virtual Host, Exchange name, Exchange type, Bindings, Routing Key, Queue state, and Unroutable Message handling used by the Publisher. Check separately whether the message was routed, the Broker accepted the publish, the Publisher received a Confirm, and the Consumer completed business processing.
39
+
40
+ ### Repeated Connection or Channel Interruptions
41
+
42
+ Distinguish DNS, TCP Listener, Firewall, TLS, Authentication, Authorization, Heartbeat, Broker-initiated closure, Resource Alarms, and Client reconnect behavior first. Check Connection or Channel Churn, File Descriptors, Protocol Exceptions in logs, node resources, and reconnect spikes.
43
+
44
+ Do not attribute every disconnect to Heartbeat. Verify low Heartbeat settings, network congestion, host load, TLS certificates, permissions, and Broker closure reasons separately.
45
+
46
+ ### Memory or Disk Rising Continuously
47
+
48
+ Use Memory Breakdown to separate Connections, Queues, Message Store, Plugins, Management Stats, Binaries, Processes, and other categories. Compare them with Queue Depth, unacknowledged messages, message size, Connection count, Channel count, Plugins, and monitoring frequency.
49
+
50
+ For disk troubleshooting, check the Broker database partition, free space, message Paging, Queue or Quorum Segments, Snapshots, logs, and other host processes together. Do not inspect only total container filesystem capacity.
51
+
52
+ ### Unhealthy Cluster or Replicas
53
+
54
+ Confirm Node Names, Peer Discovery, inter-node authentication, DNS, time synchronization, Firewall rules, Feature Flags, Metadata Store, Queue or Stream members, Leaders, quorum, and current maintenance actions. Before stopping a node, identify which objects would lose an online quorum.
55
+
56
+ A Client connection to one node does not prove cluster health. Check cluster membership, alarms, Replicas, and the state of critical Queues or Streams as well.
57
+
58
+ ## CLI and Evidence Rules
59
+
60
+ - When rabbitmqctl, rabbitmq-diagnostics, rabbitmq-plugins, or rabbitmq-queues commands are needed, read help for the target installation first and use syntax appropriate for the version.
61
+ - Use rabbitmqadmin only for management, health, Definitions, or metric operations covered by the source documentation. Never recommend rabbitmqadmin publish or rabbitmqadmin get.
62
+ - Mask Hostnames, IP addresses, users, Tokens, Cookies, certificates, and message contents before reporting command output. Never paste real secrets into documentation or Tickets.
63
+ - Start with read-only checks such as status, alarms, Listeners, metrics, logs, and object lists. Evaluate clearing, deletion, requeue, Connection closure, node shutdown, and configuration changes as separate actions.
64
+ - Record the expected observation, actual observation, supported or eliminated hypothesis, and next check for every troubleshooting step.
65
+
66
+ ## Rollback and Verification
67
+
68
+ After a change, verify at least:
69
+
70
+ - The original error no longer appears, with no new Protocol Exception, Authentication Failure, or TLS Failure.
71
+ - Alarms and Flow Control are cleared or show a clear improving trend.
72
+ - Publish, Route, Confirm, Deliver, Ack, Redelivery, and Consumer Capacity return to the expected range.
73
+ - Queue Depth, unacknowledged messages, memory, disk, Connections, Channels, and network do not become a new anomaly.
74
+ - Cluster, Queue, or Stream Replicas, Leaders, Listeners, Health Checks, and Readiness meet the deployment target.
75
+ - Rollback settings, backups, change records, and follow-up monitoring ownership are confirmed.
76
+
77
+ ### Sources
78
+
79
+ - [Troubleshooting Guidance](https://www.rabbitmq.com/docs/4.3/troubleshooting)
80
+ - [Troubleshooting Network Connectivity](https://www.rabbitmq.com/docs/4.3/troubleshooting-networking)
81
+ - [Monitoring](https://www.rabbitmq.com/docs/4.3/monitoring)
82
+ - [Reasoning About Memory Usage](https://www.rabbitmq.com/docs/4.3/memory-use)
83
+ - [Publishers](https://www.rabbitmq.com/docs/4.3/publishers)
84
+ - [Memory and Disk Alarms](https://www.rabbitmq.com/docs/4.3/alarms)