with one click
retro-analysis
// Use when performing a retrospective on an agent workflow. Teaches how to trace workflow runs, explore context with subagents, and write structured improvement proposals.
// Use when performing a retrospective on an agent workflow. Teaches how to trace workflow runs, explore context with subagents, and write structured improvement proposals.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | retro-analysis |
| description | Use when performing a retrospective on an agent workflow. Teaches how to trace workflow runs, explore context with subagents, and write structured improvement proposals. |
Given the originating PR or issue, reconstruct what agents ran and in what order.
ORG=$(echo "$REPO_FULL_NAME" | cut -d/ -f1)
DISPATCH_REPO="${ORG}/.fullsend"
/triage command or needs-info label responses):gh run list --repo "$REPO_FULL_NAME" --workflow=fullsend.yaml \
--json databaseId,status,conclusion,event,createdAt \
-q '.[] | select(.event == "issue_comment" or .event == "issues")'
gh run list --repo "$DISPATCH_REPO" --workflow=triage.yml --limit 10 \
--json databaseId,status,conclusion,createdAt
ready-to-code, find code dispatches:gh run list --repo "$DISPATCH_REPO" --workflow=code.yml --limit 10 \
--json databaseId,status,conclusion,createdAt
The PR branch follows agent/{issue}-{slug}. Extract the issue number to trace the full history.
Find review dispatches:
gh run list --repo "$DISPATCH_REPO" --workflow=review.yml --limit 10 \
--json databaseId,status,conclusion,createdAt
gh run list --repo "$DISPATCH_REPO" --workflow=fix.yml --limit 10 \
--json databaseId,status,conclusion,createdAt
# View job outcomes
gh run view <RUN_ID> --repo "$DISPATCH_REPO" --json jobs \
-q '.jobs[] | "\(.name) \(.status)/\(.conclusion)"'
# Search logs for errors
gh run view <RUN_ID> --repo "$DISPATCH_REPO" --log 2>&1 \
| grep -i "error\|fail\|exit code"
# Download session artifacts (JSONL traces)
gh run download <RUN_ID> --repo "$DISPATCH_REPO"
You have a large amount of context to cover. Use subagents to avoid overflowing your main context window.
After subagents return their findings, use your main context to:
When deciding where a proposed change belongs:
fullsend-ai/fullsend..fullsend repo (e.g., ORG/.fullsend).Do not push repo-specific details upstream.
Write a single JSON file to $FULLSEND_OUTPUT_DIR/agent-result.json with this structure:
{
"summary": "Markdown summary for the originating PR/issue comment.",
"proposals": [
{
"target_repo": "owner/repo-name",
"title": "Concise proposal title",
"what_happened": "Timeline with links...",
"what_could_go_better": "Assessment with uncertainty...",
"proposed_change": "Specific change description...",
"validation_criteria": "How to verify the improvement..."
}
]
}
If the workflow went well and you cannot identify meaningful improvements, write a summary saying so and return an empty proposals array. A retro that finds nothing wrong is a valid outcome.
The agent definition (agents/retro.md) is the authoritative list of prohibitions. This skill does not restate them.