원클릭으로
workflow-learning
Synthesize across a workflow's recent runs. Update memory.md with concrete
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Synthesize across a workflow's recent runs. Update memory.md with concrete
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Cut a Flowpad release — bump the version (patch by default; minor/major on request), build the wheel (UI baked in), publish to PyPI, tag + push to GitHub, and validate the install. Then, if the electron/ directory changed since the previous release, trigger the desktop build. Use when asked to deploy/release Flowpad, publish to PyPI, or cut a new version (including a new minor like 0.3.0).
toplog — topic-tracing assistant for debugging. `run` activates the right trace topics for a given issue (in code or tests) so RCA has better traceability; `scan` reconciles the topics referenced in code against the topic catalog; `learn` consolidates post-RCA findings (enrich a topic, add a new one with its trace points, or retire a stale one). Use when debugging a hard failure and you want richer logs before or alongside RCA, when adding or auditing toplog topics, or after proving a root cause to capture the traceability that helped. Also triggers on "turn on tracing for X", "what topics cover Y", "add a toplog topic", or "audit toplog topics".
Root Cause Analyzer — prove the real cause of a failure by finding its
Skill quality lens — review a skill against skill-writing best practices,
Find a product online within a location and price range, verify availability and shipping, and report the findings.
Analyze an agentic execution from its session transcript and produce
| id | 6317c0da-0839-551e-a9b0-b4fefb885c66 |
| name | workflow_learning |
| description | Synthesize across a workflow's recent runs. Update memory.md with concrete |
| tags | |
| allowed-tools |
You are improving a workflow's persistent memory based on the latest run.
WORKFLOW_PATH — absolute path to the workflow .md file.
LATEST_TRACE_PATH — absolute path to the just-archived workflow.trace.jsonl.
LATEST_ANALYSIS_PATH — absolute path to the just-archived workflow.analysis.jsonl.
CURRENT_MEMORY_PATH — absolute path to memory.md. May not exist yet on the first run.
LEARNING_LOG_PATH — absolute path to learning.log.md. May not exist yet.
FEEDBACK_PATH — absolute path to feedback.md. May already exist from a prior surrender.
ATTEMPT_COUNTER_HINT — integer N: how many learning iterations have run before this one (1 on the first iteration).
You will write up to three files:
memory.md — alwaysFree-form markdown. Aim for these sections (omit a section if you have nothing for it):
# Workflow memory
## Tools to prefer / avoid
- Concrete tool recommendations the next runner should follow.
## Common pitfalls
- Observed traps and how to avoid them.
## Workflow-specific quirks
- Anything specific to this workflow's UI / surface.
Hard cap: ~3 KB. If your rewrite would exceed that, compact aggressively before writing.
learning.log.md — alwaysPrepend ONE new entry at the top in this exact format:
## <ISO timestamp, UTC, e.g. 2026-05-09T01:23:45Z>
- Issue: <one line — the dominant issue kind from the latest analysis>
- Fix: <one line — what you changed in memory.md>
- Attempt: #N
Then keep only the most recent 20 entries total. Drop older ones from the file.
feedback.md — only when surrenderingSurrender means: the workflow needs a human change before learning can help further.
Write feedback.md iff one of these holds:
The same issue kind appears in 3+ recent learning.log entries with no resolution.
The latest trace has a status: "error" event that the analysis cannot tie to a tool /
approach fix (test premise itself is wrong, a selector has been removed from the UI, an
assertion contradicts observed behavior).
feedback.md is not a log — overwrite each time you surrender. If you do NOT surrender on this run, leave feedback.md alone (do not delete or overwrite it).
Format: an actionable change-request, e.g.:
Selector
[data-testid="opener-plus-button"]returns no element — the UI may have renamed or removed it. Update the workflow's step to use<new selector>.
Step 6 expects scrollback to survive
clear; the terminal-app implementation always clears scrollback. Either change the workflow's expectation or fix the terminal.
Read all input files that exist. Files that don't yet exist are valid (first run).
Inspect the latest analysis: any status: "error"? any new issues[] kinds?
Inspect learning.log.md: is the dominant issue kind already logged 3+ times without
resolution?
If yes → surrender path: Write feedback.md, add a surrendered log entry, still
rewrite memory.md in case the next operator (human) updates the workflow.
If no → improvement path: rewrite memory.md with at least one new concrete
actionable lesson tied to the latest analysis findings.
Always prepend a learning.log.md entry. Always rewrite memory.md.
After writing, output exactly ONE final assistant line:
LEARNING WRITTEN: memory <bytes>, log <count> entries[, feedback]
The feedback token is included iff you wrote feedback.md on this run.
Do not read the runner's full transcript — it may be hundreds of KB. The trace + analysis files contain everything you need. If you find yourself wanting more context, write a memory entry about it instead of fetching more data.
Memory is for the agent, not for you. Write it as imperative guidance the next runner
will follow ("Use browser_evaluate for presence checks; browser_snapshot(target=…) is
unreliable"), not as a narrative recap of the run.
Surrender is not a failure — it's a useful signal that the workflow itself needs a human edit. Once surrendered, the next iteration still reads the fresh memory and may un-surrender if conditions change (e.g. selector restored).