MCPInstall

learning-aggregator-ci

[Beta] CI-only learning aggregation workflow using gh-aw (GitHub Agentic Workflows). Scans .learnings/ files on a schedule, groups entries by patternkey, identifies promotion-ready patterns, and posts a gap report as a PR or issue comment. Use when: you want automated cross-session pattern detection in CI/headless pipelines without interactive prompts. For interactive use, use learning-aggregator.

Installs
51
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/pskoett/pskoett-ai-skills --skill learning-aggregator-ci
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads learning-aggregator-ci automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Learning Aggregator CI

Install

gh skill install pskoett/pskoett-skills learning-aggregator-ci

For interactive sessions, use:

gh skill install pskoett/pskoett-skills learning-aggregator

Fallback using the Agent Skills CLI:

npx skills add pskoett/pskoett-skills/skills/learning-aggregator-ci
npx skills add pskoett/pskoett-skills/skills/learning-aggregator

Purpose

Runs the outer loop's inspect step in CI. Reads accumulated .learnings/ files, groups entries by pattern_key, computes cross-session recurrence, and produces a ranked gap report — all without human interaction.

The interactive learning-aggregator skill is designed for in-session use where the user can review and act on findings immediately. This CI variant runs on a schedule (weekly, per-sprint, or on-demand) and posts its findings as a GitHub issue comment for async review.

Context Limitation (Important)

CI agents do not have session context. They cannot see what the user is currently working on or what task area is relevant. The CI variant scans all .learnings/ entries without relevance filtering. The gap report is comprehensive rather than targeted.

Prerequisites

  • GitHub Actions enabled on the repository
  • gh CLI authenticated with repo access
  • gh-aw extension installed (gh extension install github/gh-aw, v0.40.1+)
  • .learnings/ directory with structured entries from self-improvement

CI Contract

Hard rules for headless execution:

  1. Read-only — do not modify .learnings/ files, project instruction files (CLAUDE.md, AGENTS.md, .github/copilot-instructions.md), or any repo files
  2. Headless — no interactive prompts, no approval gates
  3. Structured output — emit findings as YAML under learning_aggregator_ci key
  4. Single comment — post one consolidated comment per run, not per finding
  5. Deterministic — same .learnings/ state produces the same gap report

Authoring Workflow (gh-aw)

  1. Copy references/workflow-example.md into .github/workflows/learning-aggregator-ci.md
  2. Customize the schedule for your cadence (supports fuzzy schedules like weekly on mondays)
  3. Validate: gh aw compile (optionally add --actionlint --zizmor for full security scan)
  4. Push to enable

Persistence and Chaining

  • cache-memory: stores aggregation state (pattern groups, recurrence counts) across runs. Survives up to 90 days in Actions cache. Avoids re-scanning unchanged entries on every run.
  • call-workflow: triggers eval-creator-ci after aggregation completes to create evals from newly promoted patterns. Compile-time fan-out with proper dependency wiring.
  • upload-artifact: persists the gap report YAML for consumption by downstream workflows or human review.

Cache state must declare aggregation schema provenance-v1 and retain canonical occurrence fingerprints, stable task lineage, and terminal-event boundaries. Ignore and rebuild any cache that omits this version or uses an older aggregation schema; aggregate counts from the pre-deduplication contract are not a valid baseline.

Workflow Rules

The CI agent follows these rules in order:

  1. Read all files in .learnings/: LEARNINGS.md, ERRORS.md, FEATURE_REQUESTS.md, HEALS.md
  2. Parse each entry's metadata: Pattern-Key, Recurrence-Count, First-Seen, Last-Seen, Priority, Status, Area, Related Files, Tags, and optional provenance fields Task-ID, Session-ID, Occurrence-ID, Source-Ref, Copied-From. For HEAL entries, also parse Trigger, Active-Context, and any Handoff block
  3. Before grouping, collapse copies with the same entry ID/content or occurrence ID across repo locations, mirrors, forks, forwards, and cloud/local sources. When explicit occurrence IDs are absent, use task/session/source lineage and normalized evidence. Different paths are not independent evidence
  4. Group canonical occurrences by Pattern-Key (exact match only — no fuzzy grouping in CI)
  5. For each group: count deduplicated recurrences, count distinct tasks from stable provenance, compute the time window, and collect evidence. A legacy entry without stable task/session lineage contributes its declared recurrence once but all unknown-lineage evidence counts as at most one distinct task
  6. Flag entries without Pattern-Key as ungrouped
  7. Treat promoted, promoted_to_skill, resolved, and wont_fix as terminal for their recorded occurrence. Keep terminal-only groups as history, not promotion candidates. Reopen only for newer active evidence after the latest terminal event; a prior Handoff alone does not re-promote the pattern
  8. Classify each actionable group's gap type: knowledge gap, tool gap, skill gap, ambiguity, or reasoning failure
  9. Rank groups by: promotion-ready first, then approaching threshold, then by priority (critical > high > medium > low)
  10. Emit structured YAML under key learning_aggregator_ci
  11. Post gap report as a comment on the triggering issue or as a new issue if running on schedule
  12. Do not modify repository files

Promotion threshold (same rule as learning-aggregator and self-improvement): a group is promotion-ready when it has >= 3 deduplicated recurrences, seen in >= 2 distinct tasks proven by stable provenance, within a 30-day window.

Output Schema

learning_aggregator_ci:
  version: "0.1.0"
  source:
    run_id: "<workflow run ID>"
    trigger: "schedule | workflow_dispatch | issue_comment"
    scan_date: "YYYY-MM-DD"
  scan:
    entries_total: 42
    entries_with_pattern_key: 35
    entries_ungrouped: 7
    patterns_found: 18
    promotion_ready: 3
    approaching_threshold: 5
  promotion_ready:
    - pattern_key: "harden.input_validation"
      recurrence_count: 5
      distinct_tasks: 3
      window_days: 21
      priority: "high"
      gap_type: "knowledge_gap"
      area: "backend"
      evidence:
        - "LRN-20260301-001: Missing bounds check on pagination params"
        - "ERR-20260308-002: Unconstrained string length caused OOM"
        - "LRN-20260315-003: API params not validated before DB query"
      recommended_action: "Add to project instruction files: Always validate and bound-check external inputs before use"
      eval_candidate: true
  approaching:
    - pattern_key: "simplify.dead_code"
      recurrence_count: 2
      distinct_tasks: 1
      priority: "low"
      needs: "1 more distinct task"
  ungrouped:
    - id: "LRN-20260320-005"
      summary: "Discovered undocumented rate limit on external API"
      recommendation: "Assign pattern_key for future tracking"
  stale:
    - pattern_key: "harden.error_handling"
      last_seen: "2025-12-01"
      recommendation: "Dismiss — not seen in 90+ days"
  summary:
    promotion_ready_total: 3
    approaching_total: 5
    ungrouped_total: 7
    stale_total: 1
    followup_required: true

Recommended Outputs

OutputDestinationContent
Gap reportIssue comment or new issueHuman-readable summary with promotion candidates and evidence
YAML artifactWorkflow artifactMachine-readable learning_aggregator_ci payload
Check annotationCheck run summaryCount of promotion-ready and approaching patterns

Trigger Configuration

Recommended: weekly schedule + manual dispatch

on:
  schedule:
    - cron: '0 9 * * 1'  # Monday 9am UTC
  workflow_dispatch:
  issue_comment:
    types: [created]

The schedule ensures regular outer-loop cadence. Manual dispatch allows on-demand runs after incidents or sprints. Issue comment trigger allows /aggregate-learnings commands.

Integration with Other Skills

Upstream (feeds from)

  • self-improvement (interactive) — produces .learnings/LEARNINGS.md, ERRORS.md, FEATURE_REQUESTS.md entries
  • self-healing / self-healing-ci — produce .learnings/HEALS.md entries including Handoff blocks
  • self-improvement-ci — emits learning candidates as machine-readable output (artifacts/comments); it is read-only and does not write .learnings/ files itself
  • simplify-and-harden-ci — produces learning_loop.candidates consumed by self-improvement-ci

Downstream (feeds into)

  • harness-updater (interactive) — takes promotion-ready patterns from the gap report and applies them
  • eval-creator-ci — takes eval candidates and creates permanent test cases
  • Human review — gap report posted as issue comment for team triage

Data Flow

self-improvement → .learnings/*.md   ←  self-healing(-ci) → HEALS.md
                       ↓
              learning-aggregator-ci (scheduled)
                       ↓
              gap report (issue comment + artifact)
                       ↓
              harness-updater (interactive, human-gated)
                       ↓
              eval-creator-ci (creates evals from promoted patterns)

Differences from Interactive Version

AspectInteractive (learning-aggregator)CI (learning-aggregator-ci)
TriggerManual or session-startScheduled cron or workflow_dispatch
Relevance filterFilters by current task areaScans all entries (no task context)
GroupingConservative + area/tag matchingPattern-key exact match only
OutputIn-session gap reportIssue comment + YAML artifact
Human interactionUser reviews inlineAsync review via GitHub
ScopeCurrent session contextFull .learnings/ history

FAQ

What does the learning-aggregator-ci skill do?

[Beta] CI-only learning aggregation workflow using gh-aw (GitHub Agentic Workflows). Scans .learnings/ files on a schedule, groups entries by patternkey, identifies promotion-ready patterns, and posts a gap report as a PR or issue comment. Use when: you want automated cross-session pattern detection in CI/headless pipelines without interactive prompts. For interactive use, use learning-aggregator.

How do I install learning-aggregator-ci?

Run npx skills add https://github.com/pskoett/pskoett-ai-skills --skill learning-aggregator-ci in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/learning-aggregator-ci/ (personal) or .claude/skills/learning-aggregator-ci/ (project).

Which AI agents can use learning-aggregator-ci?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is learning-aggregator-ci safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains learning-aggregator-ci?

It is published by pskoett in pskoett/pskoett-ai-skills. It has 51 recorded installs.

More from pskoett/pskoett-ai-skills

View all →

self-improvement

pskoett/pskoett-ai-skills

Captures learnings, errors, corrections, and feature requests to enable continuous improvement. Use when: (1) User corrects Claude ('No, that's wrong...', 'Actually...'), (2) User requests a capability that doesn't exist, (3) Claude realizes its knowledge is outdated or incorrect, (4) A better approach is discovered for a recurring task, (5) Receiving a Handoff block from self-healing (a recurring verified heal with Recurrence-Count at least 3) to distill into a memory file or new skill. For ACTIVE runtime failures where the agent needs to apply and verify a fix mid-task, use self-healing instead (it files HEAL- entries with proof; self-improvement promotes accumulated patterns). Also review learnings before major tasks. For CI-only/headless learning capture, use self-improvement-ci.

DevOps & Cloud2K installs

self-improvement-ci

pskoett/pskoett-ai-skills

CI-only self-improvement workflow using gh-aw (GitHub Agentic Workflows). Captures recurring failure patterns and quality signals from pull request checks, emits structured learning candidates, and proposes durable prevention rules without interactive prompts. Use when: you want automated learning capture in CI/headless pipelines.

DevOps & Cloud545 installs

simplify-and-harden

pskoett/pskoett-ai-skills

Post-completion self-review for coding agents that runs simplify, harden, re-verification, and micro-documentation passes on non-trivial code or high-impact configuration changes. Use when a task is complete in a general agent session and you want a bounded quality and security sweep before signaling done. For CI pipeline execution, use simplify-and-harden-ci.

DevOps & Cloud535 installs

agent-teams-simplify-and-harden

pskoett/pskoett-ai-skills

Implementation + audit loop using parallel agent teams with structured simplify, harden, and document passes. Spawns implementation agents to do the work, then audit agents to find complexity, security gaps, and spec deviations, then loops until code compiles cleanly, all tests pass, and auditors find zero issues or the loop cap is reached. Use when: implementing features from a spec or plan, hardening existing code, fixing a batch of issues, or any multi-file task that benefits from a build-verify-fix cycle.

plan-interview

pskoett/pskoett-ai-skills

Ensures alignment between user and Claude during feature/spec planning through a structured interview process. Use this skill when the user invokes /plan-interview before implementing a new feature, refactoring, or any non-trivial implementation task. The skill runs an upfront interview to gather requirements across technical constraints, scope boundaries, risk tolerance, and success criteria before any codebase exploration. Do NOT use this skill for: pure research/exploration tasks, simple bug fixes, or when the user just wants standard planning without the interview process.

intent-framed-agent

pskoett/pskoett-ai-skills

Frames coding-agent work sessions with explicit intent capture and drift monitoring. Use when a session transitions from planning/Q&A to implementation for coding tasks, refactors, feature builds, bug fixes, or other multi-step execution where scope drift is a risk.

Popular devops & cloud skills

View category →

microsoft-foundry

microsoft/azure-skills

Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end. USE FOR: foundry, azd ai agent, azd provision/deploy, hosted agent scaffold/develop/run/deploy/troubleshoot, prompt agent create, managed harness agent create, GitHub Copilot harness agent, create agent, update agent, add tool to agent, invoke agent, agent insights, evaluate agent, batch eval, continuous eval, continuous monitoring, agent CI/CD, optimize prompt, improve prompt, optimize agent instructions, Agent Optimizer scaffold, dataset curation from traces, deploy model, model fine-tuning (SFT/DPO/RFT), Foundry project, RBAC, role assignment, permissions, quota, capacity, region, deployment failure, AI Services, create Foundry resource, knowledge index, customize deployment, onboard, availability, training-data, grader, distillation, large file upload. DO NOT USE FOR: Azure Functions, App Service, general Azure deploy (use azure-deploy), general Azure prep (use azure

OfficialDevOps & Cloud579.1K installs

azure-diagnostics

microsoft/azure-skills

Debug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage. WHEN: debug production issues, troubleshoot app service, app service high CPU, app service deployment failure, troubleshoot container apps, container app 503 or target port mismatch, troubleshoot functions, function telemetry missing or stopped after a config/connection-string change, troubleshoot AKS, VM RDP, Linux SSH, VM black screen, can't connect to VM, reset VM password, NSG or firewall blocking, kubectl cannot connect, kube-system/CoreDNS failures, pod pending, crashloop, node not ready, upgrade failures, analyze logs, KQL, insights, image pull failures, cold start issues, health probe failures, resource health, root cause of errors, troubleshoot event hubs, troubleshoot service bus, messaging SDK error, AMQP connection failure, message lock lost, lock renewal during long-running processing, service bus dead letter.

OfficialDevOps & Cloud569.8K installs

azure-prepare

microsoft/azure-skills

Prepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles for the Azure Developer CLI (azd) workflow. USE ONLY when the user explicitly wants to use azd as the deployment tool, or the project already has an azure.yaml file. DO NOT USE FOR: non-azd deployments, Python App Service code-only deploys (use python-appservice-deploy), or cross-cloud migration (use azure-cloud-migrate). WHEN: prepare app for azd, create azure.yaml, set up azd infrastructure, modernize app for Azure with azd, deploy with azd, function app, timer trigger, service bus trigger, event-driven function, managed identity, generate Bicep, generate Terraform, create and deploy to Azure.

OfficialDevOps & Cloud569K installs

azure-ai

microsoft/azure-skills

Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe, OCR, convert text to speech.

OfficialDevOps & Cloud568.8K installs

azure-deploy

microsoft/azure-skills

Execute Azure deployments for ALREADY-PREPARED applications that have existing .azure/deployment-plan.md and infrastructure files. DO NOT use this skill when the user asks to CREATE a new application — use azure-prepare instead. This skill runs azd up, azd deploy, terraform apply, and az deployment commands with built-in error recovery. Requires .azure/deployment-plan.md from azure-prepare and validated status from azure-validate. WHEN: "run azd up", "run azd deploy", "execute deployment", "push to production", "push to cloud", "go live", "ship it", "bicep deploy", "terraform apply", "publish to Azure", "launch on Azure". DO NOT USE WHEN: "create and deploy", "build and deploy", "create a new app", "set up infrastructure", "create and deploy to Azure using Terraform" — use azure-prepare for these.

OfficialDevOps & Cloud568.6K installs

azure-validate

microsoft/azure-skills

Pre-deployment validation for Azure readiness. Run deep checks on configuration, infrastructure (Bicep or Terraform), RBAC role assignments, managed identity permissions, and prerequisites before deploying. WHEN: validate my app, check deployment readiness, run preflight checks, verify configuration, check if ready to deploy, validate azure.yaml, validate Bicep, test before deploying, troubleshoot deployment errors, validate Azure Functions, validate function app, validate serverless deployment, verify RBAC roles, check role assignments, review managed identity permissions, what-if analysis, validate Container Apps deployment.

OfficialDevOps & Cloud568K installs