knowledge-sync

bởi microsoft

Đồng bộ các mục công việc ADO và sự cố ICM vào nhật ký kiến thức liên tục. Được gọi tự động bởi /review, /workitem và /pac-cli-update khi kiến thức đã lỗi thời.

npx skills add https://github.com/microsoft/powerplatform-build-tools --skill knowledge-sync

Knowledge Sync — ADO Work Items + ICM Incidents

Reads ADO work items and ICM incidents for the PPBT area, extracts patterns and fixes, and appends them to a persistent knowledge log. Each run only fetches items newer than the last sync — knowledge accumulates over time rather than being overwritten.

Invoke as: /knowledge-sync

Also invoked automatically (inline) by /review, /workitem, and /pac-cli-update when the knowledge base is more than 7 days old. No manual scheduling needed.


How the knowledge base works

All persistent knowledge lives in two files in the memory directory:

  • memory/ado-knowledge.md — append-only log of every work item and incident processed, grouped by run date. Never overwrite — only append new entries.
  • memory/MEMORY.md — the live distilled summary: hard rules, patterns, and skill inventory. Update this with confirmed facts extracted from ado-knowledge.md.

The sync tracks progress via a ## Last sync header in ado-knowledge.md. Each run reads that date, queries only items changed after that date, appends new findings, then updates the header. On the very first run (no ado-knowledge.md exists), query the past 90 days as the bootstrap window.


Step 1 — Read last sync date

# Check if knowledge log exists and find last sync date
cat memory/ado-knowledge.md 2>/dev/null | grep "## Last sync" | tail -1
  • If found: use that date as @since in WIQL queries below
  • If not found: use @Today - 90 as @since (first-run bootstrap)

Step 2 — Configure ADO org (once per session)

az devops configure \
  --defaults organization=https://dev.azure.com/dynamicscrm project=OneCRM 2>&1

az devops configure --list 2>&1

If az login is needed (browser flow — no username/password):

az login --use-device-code

Step 3 — Query ADO for items changed since last sync

# Active items (all — re-read on every sync to catch state changes)
az boards query --wiql "
  SELECT [System.Id], [System.Title], [System.State], [System.WorkItemType],
         [System.Tags], [Microsoft.VSTS.Common.Priority], [System.ChangedDate]
  FROM WorkItems
  WHERE [System.AreaPath] UNDER 'OneCRM\Client\UnifiedClient\AppLifeCycle\PPBT Extensions'
    AND [System.State] NOT IN ('Closed', 'Resolved', 'Done')
  ORDER BY [Microsoft.VSTS.Common.Priority] ASC, [System.ChangedDate] DESC
" --output json 2>&1

# Items resolved/closed since last sync (only NEW ones)
az boards query --wiql "
  SELECT [System.Id], [System.Title], [System.State], [System.WorkItemType],
         [System.Tags], [Microsoft.VSTS.Common.Resolution], [System.ChangedDate]
  FROM WorkItems
  WHERE [System.AreaPath] UNDER 'OneCRM\Client\UnifiedClient\AppLifeCycle\PPBT Extensions'
    AND [System.State] IN ('Closed', 'Resolved', 'Done')
    AND [System.ChangedDate] > '<last-sync-date>'
  ORDER BY [System.ChangedDate] DESC
" --output json 2>&1

For each returned item, fetch full detail (description, repro steps, resolution, comments). Cap at 30 full-detail fetches per run — summarise the rest by title + state only:

az boards work-item show --id <id> --output json 2>&1

Step 4 — Query ICM incidents

# Check if icm CLI is available
icm --version 2>&1 || echo "icm CLI not available — falling back to ADO cross-references"

# If available
icm query \
  --owning-service "Power Platform Build Tools" \
  --status "Active,Resolved" \
  --modified-after "<last-sync-date>" \
  --top 50 \
  --output json 2>&1

# Fallback: find IcM references in ADO work items
az boards query --wiql "
  SELECT [System.Id], [System.Title], [System.Description], [System.ChangedDate]
  FROM WorkItems
  WHERE [System.AreaPath] UNDER 'OneCRM\Client\UnifiedClient\AppLifeCycle\PPBT Extensions'
    AND [System.Description] CONTAINS 'IcM'
    AND [System.ChangedDate] > '<last-sync-date>'
  ORDER BY [System.ChangedDate] DESC
" --output json 2>&1

Step 5 — Classify findings

For each new item, assign one or more categories:

CategoryWhere it goes
Recurring bug / root causeado-knowledge.md log + skills/architecture/SKILL.md debug runbook
Known workaroundado-knowledge.md log + skills/architecture/SKILL.md debug runbook
Architecture decisionado-knowledge.md log + skills/architecture/SKILL.md layer notes
Dependency conflict / vuln patternado-knowledge.md log + skills/fix-dependencies/SKILL.md hard rules
Task contract change (input name, GUID)ado-knowledge.md log + skills/create-pr/SKILL.md review checklist
ICM mitigation / guidanceado-knowledge.md log + skills/architecture/SKILL.md debug runbook

Only add facts explicitly stated in resolutions or ICM mitigations — no speculation.


Step 6 — Append to memory/ado-knowledge.md

Append a new dated section. Never delete or overwrite previous sections.

## Sync <YYYY-MM-DD>
**Last sync:** <YYYY-MM-DD>

### Active items (<N> total)
- <ID>: <title> [<priority>] [<type>]
- ...

### Newly resolved since last sync (<N> items)

#### <ID> — <title>
- **Type:** Bug / Task / Feature
- **Resolution:** <verbatim resolution text>
- **Root cause:** <extracted from description>
- **Fix:** <what was changed>
- **Category:** <from classification above>

### ICM incidents
- <IcM-ID>: <title> — <mitigation summary>

### Patterns extracted this run
- <any new hard rule, workaround, or architecture fact>

Step 7 — Update skills with new confirmed facts

Update only files where new facts apply. Skip files with no relevant new findings.

skills/architecture/SKILL.md

  • Append to Debug Runbook by Symptom for any new recurring issue with a confirmed fix
  • Update auth table or bundled dep notes if changed

skills/fix-dependencies/SKILL.md

  • Add new package conflict patterns to Strategy A hard rules
  • Add new formally risk-accepted vulnerabilities to the known accepted risks list

skills/create-pr/SKILL.md

  • Add to review checklist any new breaking-change patterns from resolved work items

skills/workitem/SKILL.md

  • Add recurring fix patterns so future similar work items resolve faster

memory/MEMORY.md

  • Update the Key architecture facts and Dependency hard rules sections with any new confirmed facts
  • Do NOT add speculation — only confirmed fixes from resolved items

Step 8 — Update last sync date

After all appends and skill updates are complete, update the ## Last sync line at the top of ado-knowledge.md:

# The sync date is updated by the append in Step 6 — confirm it is correct
grep "## Last sync" memory/ado-knowledge.md | tail -1

Final report

Print:

  1. Sync window: <last-sync-date> → <today>
  2. Items processed: N active, N newly resolved, N ICM incidents
  3. New facts extracted: list each pattern/rule added
  4. Skills updated: list each file and what section changed
  5. Nothing changed: if no new items found since last sync, say so and exit cleanly

Thêm skills từ microsoft

oss-growth
microsoft
Cá tính tăng trưởng OSS
agent-framework-azure-ai-py
microsoft
Xây dựng các tác nhân Azure AI Foundry bằng SDK Python của Microsoft Agent Framework (agent-framework-azure-ai). Sử dụng khi tạo các tác nhân bền vững với AzureAIAgentsProvider, sử dụng các công cụ được lưu trữ (trình thông dịch mã, tìm kiếm tệp, tìm kiếm web), tích hợp máy chủ MCP, quản lý chuỗi hội thoại hoặc triển khai phản hồi phát trực tuyến. Bao gồm các công cụ hàm, đầu ra có cấu trúc và các tác nhân đa công cụ.
development
airunway-aks-setup
microsoft
Thiết lập AI Runway trên AKS — từ cụm trống đến mô hình đang chạy. Bao gồm xác minh cụm, cài đặt controller, đánh giá GPU, thiết lập nhà cung cấp và triển khai đầu tiên. KHI NÀO: "thiết lập AI Runway", "onboard cụm AKS", "cài đặt AI Runway", "thiết lập airunway", "triển khai mô hình lên AKS", "suy luận GPU trên AKS", "thiết lập KAITO trên AKS", "chạy LLM trên AKS", "vLLM trên AKS", "thiết lập phục vụ mô hình trên AKS", "AI Runway controller".
devops
appinsights-instrumentation
microsoft
Hướng dẫn để instrument các ứng dụng web với Azure Application Insights. Cung cấp các mẫu telemetry, thiết lập SDK, và tài liệu tham khảo cấu hình. KHI NÀO: cách instrument ứng dụng, App Insights SDK, các mẫu telemetry, App Insights là gì, hướng dẫn Application Insights, ví dụ instrumentation, các phương pháp tốt nhất APM.
devops
applicationinsights-web-ts
microsoft
Instrument các ứng dụng trình duyệt/web bằng SDK JavaScript Application Insights (@microsoft/applicationinsights-web). Dùng cho Real User Monitoring (RUM) — lượt xem trang, nhấp chuột, phụ thuộc AJAX/fetch, ngoại lệ, sự kiện tùy chỉnh và dấu vết tác nhân GenAI phía trình duyệt tương quan với dấu vết OpenTelemetry phía backend. Bao gồm thiết lập SDK Loader Script và npm, tiện ích mở rộng framework (React, React Native, Angular), Click Analytics, trình khởi tạo telemetry và quy ước ngữ nghĩa OTel GenAI cho các span tác nhân/công cụ/mô hình phát ra từ trình duyệt.
devops
azure-ai-anomalydetector-java
microsoft
Xây dựng ứng dụng phát hiện bất thường với Azure AI Anomaly Detector SDK cho Java. Sử dụng khi triển khai phát hiện bất thường đơn biến/đa biến, phân tích chuỗi thời gian hoặc giám sát hỗ trợ AI.
development
azure-ai-language-conversations-py
microsoft
Triển khai Conversational Language Understanding (CLU) bằng SDK Python azure-ai-language-conversations. Sử dụng khi làm việc với ConversationAnalysisClient để phân tích ý định và thực thể trong hội thoại, xây dựng tính năng NLP, hoặc tích hợp hiểu ngôn ngữ vào ứng dụng.
development
azure-ai-ml-py
microsoft
Azure Machine Learning SDK v2 cho Python. Dùng cho không gian làm việc ML, công việc, mô hình, tập dữ liệu, tính toán và quy trình. Kích hoạt: "azure-ai-ml", "MLClient", "không gian làm việc", "đăng ký mô hình", "công việc đào tạo", "tập dữ liệu".
development