About aep-workflow-feedback
aep-workflow-feedback is an AEP skill for capturing workflow observations in downstream projects and reviewing candidates for upstream documentation. It classifies lessons and routes relevant items while leaving changes to AEP skill files to human approval.
Key features
- 01Capture observations into standardized feedback
- 02Classify lessons by their scope
- 03Review downstream feedback sources
- 04Propose routes for upstream candidates
- 05Keep skill edits behind human approval
Use cases
- 01Record process lessons after a build
- 02Gather observations after an autopilot run
- 03Review feedback before an AEP release
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ memorysaver/ agentic-engineering-patterns --skill aep-workflow-feedbackAfter installing, type/aep-workflow-feedbackin Claude Code to confirm it loaded.
Details
From the project READMEWorkflow Feedback
A reusable pattern for capturing workflow observations in downstream projects and routing them upstream to improve AEP skills and documentation.
Two modes:
- Capture — run in a downstream project after builds to standardize observations.
- Review — run in the AEP repo to pull and route upstream candidates from downstreams.
DOWNSTREAM PROJECT AEP REPO
━━━━━━━━━━━━━━━━━━ ━━━━━━━━
/aep-build → lessons.md /aep-workflow-feedback review
/aep-wrap → lessons-learned/ ↓
/aep-workflow-feedback capture Read .aep/config.yaml
↓ ↓
.dev-workflow/feedback.md ──────────────→ Route to docs/
(standardized + classified) ↓
Human approves
↓
tag release → re-pin downstreams ──→ updated skills flow back
Session: Main, interactive with user.
Hard guardrail — this skill never edits AEP skill files. In either mode, propose amendments in the feedback/lesson file; a human applies them upstream via a deliberate re-pin.
Mode 1: Capture
Run this in a downstream project after completing a layer, a batch of stories, or an autopilot run. The goal is to standardize raw observations into a format AEP can review.
Step 1 — Gather sources
Collect observations from all available sources, including AEP skill/process behavior, not only product bugs (product-specific bugs go to /aep-reflect → story creation, not here):
- Archived lessons:
lessons-learned/*.md(written by/aep-wrap) - Process lessons:
lessons-learned/process/*.md(from/aep-reflect) - Unarchived workspace lessons:
.feature-workspaces/*/dev-workflow/lessons.md(if workspaces not yet wrapped) - User observations: Ask the user what they noticed during the run that isn't captured above.
Postcondition: each user observation is recorded in the feedback file (Step 3), or the user explicitly confirms there were none.
Step 2 — Classify each observation
Assign each observation a classification:
| Classification | Description | Upstream? |
|---|---|---|
process | AEP workflow improvement — a skill, phase, or gate should change | Yes |
tech-stack | Technology-specific gotcha — applies to any project using this tech | Yes |
discovery | New understanding about the product domain or architecture | Maybe |
project-local | Specific to this project's codebase, not generalizable | No |
Mark upstream_candidate: yes only for items that would benefit other projects using AEP. Postcondition: every observation carries a classification.
Step 3 — Write standardized feedback
Write to .dev-workflow/feedback.md:
# Workflow Feedback: <project> <layer/context>
Date: YYYY-MM-DD
Project: <name>
Layer: <layer>
Stories: <count>
## Observations
### <title>
- **Classification:** process | tech-stack | discovery | project-local
- **Skill affected:** /aep-calibrate, /aep-build, /aep-autopilot, etc. (if applicable)
- **Technology:** Rust, Cloudflare, etc. (if tech-stack)
- **Observation:** <what happened>
- **Recommendation:** <proposed change>
- **Upstream candidate:** yes | no
Postcondition: .dev-workflow/feedback.md exists with one Observations entry per gathered observation.
Step 4 — Commit
Commit .dev-workflow/feedback.md to the downstream project, making it available for AEP review mode. Postcondition: git status shows .dev-workflow/feedback.md committed.
Mode 2: Review
Run this in the AEP repo to pull feedback from downstream projects and route it into AEP documentation.
Step 1 — Scan downstreams
Read .aep/config.yaml to find registered downstream project paths. For each project:
- Check for
.dev-workflow/feedback.md(standardized feedback from Capture mode). - If no
feedback.mdexists, checklessons-learned/**/*.md(raw lessons from builds) — feedback may be incomplete, so read these directly when present.
If a downstream has no feedback file, note it and move on. Postcondition: every registered downstream is either scanned or noted as having no feedback.
Step 2 — Filter upstream candidates
Pull observations that are:
- Marked
upstream_candidate: yes, or - Classified
processortech-stack(almost always upstream-relevant), or - Classified
discoveryonly when they reveal a pattern applicable beyond one project.
Pull project-local items only when the human explicitly requests it.
Step 3 — Route items
For each upstream candidate, determine the destination, noting which AEP skills a process observation affects:
| Classification | Destination | Format |
|---|---|---|
process | docs/lessons/YYYY-MM-DD-<project>-<context>.md | Date-prefixed lesson with skill amendment notes |
tech-stack | docs/tech-stack/<technology>-<topic>.md | Standalone tech gotcha doc |
discovery | Present to human for decision | May go to docs/decisions/ or docs/workflow/ |
Step 4 — Present summary
Show the human a table of every upstream candidate — including minor ones — with proposed routing:
| # | Source | Classification | Title | Proposed destination |
|---|--------|---------------|-------|---------------------|
| 1 | <project> | process | /aep-calibrate should modify real components | docs/lessons/... |
| 2 | <project> | tech-stack | Rust keyring needs platform features | docs/tech-stack/... |
The human approves, modifies, or rejects each item.
Step 5 — Write approved items
For each approved item, create the target file following the conventions in docs/README.md. Record proposed skill amendments inside the lesson/decision file (per the hard guardrail above) for a human to apply.
After writing, remind the human that approved skill improvements reach downstream projects only via a deliberate re-pin: cut a new AEP release tag, then re-pin each downstream registered in .aep/config.yaml per the README "Upgrading to a new release" flow. Postcondition: each approved item exists as a file under docs/.
When to Use This Skill
| Situation | Mode |
|---|---|
| Just finished a layer in a downstream project | Capture |
| Autopilot run completed, want to capture learnings | Capture |
/aep-reflect identified process observations | Capture |
| Time to review what downstream projects have learned | Review |
| Preparing an AEP release with accumulated improvements | Review |
Relationship to adjacent skills: /aep-reflect classifies product feedback (bugs, refinements, discoveries, polish); this skill handles the process and tech-stack observations it surfaces but doesn't route upstream. /aep-wrap archives workspace lessons to lessons-learned/ and /aep-build writes raw observations to .dev-workflow/lessons.md — Capture reads both. /aep-autopilot's orchestration-learning.md captures meta-patterns across workspaces that Review can pull upstream.