en un clic
weekly-retro
// Use when conducting weekly retrospective, reviewing past week, or when user says "retro", "weekly retro", "week review". Triggers at end of week or start of new week.
// Use when conducting weekly retrospective, reviewing past week, or when user says "retro", "weekly retro", "week review". Triggers at end of week or start of new week.
Use when transitioning from retro to weekly plan, prioritizing backlog, choosing outcomes for the week, or when user says "план на неделю", "планирование", "W13 plan", "outcomes", "приоритизация". Runs after weekly-retro skill.
Use when preparing for, running, or closing a live meeting with an AI assistant dashboard. Triggers on "meeting copilot", "live copilot", "prepare for a call", "update copilot", "close the session", or requests to turn transcript chunks into meeting questions, topic maps, decisions, and follow-ups.
Use when user wants a standalone HTML diagram in flat engineering blueprint style — architecture diagrams, system flows, technical spec sheets, component maps. Generates one HTML file using Tailwind v4 (browser CDN) for layout and D3 v7 (CDN) for SVG diagrams. User-invoked only — do NOT auto-trigger. Triggers on "/ris-draft", "сделай blueprint", "технический чертёж", "архитектурная схема", "инженерная схема", "blueprint diagram", "engineering blueprint", "technical spec sheet", "architecture diagram", "system flow diagram".
Use when ranking a list of requirements, features, or backlog items using RICE / ICE / MoSCoW / Kano. Built-in decision tree picks the right framework based on data availability and decision context. Output is a transparent matrix, 2×2 Impact/Effort quadrant, and a Sprint allocation proposal. User-invoked only — do NOT auto-trigger. Triggers on "/ris-prioritize", "приоритизация", "ранжируй бэклог", "RICE-анализ", "prioritize requirements", "RICE", "ICE", "MoSCoW", "Kano", "rank backlog".
Use when need to sync session work into GitHub issues OR query status of an existing track across repos. Two modes — write (end-of-session sync: find issues, update, create with parent epic + W-label) and read (status lookup across repos). Triggers on "/ris-manager", "sync session", "обнови issues", "синкни сессию", "зафиксируй прогресс", "статус задачи", "что по <track>", "есть ли issue по", "track status", "what about <track>".
Use when managing Paperclip AI agent companies - creating tasks, managing agents, approving hires, running heartbeats, or any Paperclip control-plane operations via CLI or REST API. Triggers on "paperclip", "задача агенту", "одобри найм", "heartbeat", "запусти агента".
| name | weekly-retro |
| description | Use when conducting weekly retrospective, reviewing past week, or when user says "retro", "weekly retro", "week review". Triggers at end of week or start of new week. |
Part of the Personal Corp framework — running a one-person business through AI agents.
Structured weekly retrospective. Gather facts from code and project management tools, interview the founder, capture findings into issues and canonical files.
Before first use, define these in your project's CLAUDE.md:
## Weekly Retro Config
### Repos to scan
List all repos the agent should check for commits:
- ~/Projects/main-app
- ~/Projects/marketing-site
- ~/Projects/docs
### GitHub owner
Your GitHub username or org for issue search:
- owner: your-github-handle
### GitHub Project ID
Project board where retro issues land:
- project_id: 7
### Canonical files (single source of truth)
Files that hold authoritative data — agent must check these before writing numbers:
- data.md — prices, revenue, historical totals
- product.md — current offers
- insights.md — strategic conclusions
### Retro log path
Where retro artifacts are saved. Two files per retro live here:
- `WNN.md` — interview log + final summary
- `WNN-outcomes.md` — outcomes scorecard (planned outcomes vs evidence)
Example:
- retro_log_path: docs/retro/
### Task routing
Map task types to repos so issues land in the right place:
| Type | Repo |
|------|------|
| Backend bugs | main-app |
| Marketing | marketing-site |
| Strategy, cross-cutting | project-brain |
### Interview topics (customize to your business)
Ordered list of areas to cover:
1. Product delivery
2. Sales / pipeline
3. Calendar events
4. New initiatives
5. Research / strategy
6. Open question
No separate init skill needed — this section is the setup. Copy the config block above into your CLAUDE.md, fill in your values, and the skill is ready.
Retro = looking back. Planning = looking forward. Finish the retro completely, output the backlog, THEN plan.
If the founder wants to switch to planning before retro is done: "OK, N topics still uncovered: [list]. Skip or quick pass? After that — planning." Give the choice, don't switch silently.
digraph rules {
rankdir=LR;
"Calendar event" -> "ASK what it is" [label="don't assume"];
"Want to create issue" -> "VERIFY: gh + ls + git" [label="first"];
"Learned a fact" -> "WRITE immediately" [label="canonical/issue"];
"Want to recommend" -> "Finish gathering facts" [label="not before Phase 4"];
"Numbers diverge" -> "Show divergence" [label="don't write silently"];
}
gh issue list --search) + clarify scope. If fact is NEW and no issue exists — ask the founder: "Is this a task? What exactly should be done, in which repo?" Not every mention = issue.$RETRO_LOG_PATH/WNN.md). Do NOT create issues, do NOT edit canonical files, do NOT touch CRM/contact cards in Phase 2. All canonical mutations are Phase 6 batch. All new issues are Phase 5 batch after explicit founder approve.$RETRO_LOG_PATH/WNN-outcomes.md (written by the planning skill at the start of the week). Fill Status for each outcome via fast subagent (evidence from issues / calendar / canonical files). If the file does not exist — ask founder to reconstruct or skip explicitly, do not silently go into free interview.retro:WNN or WNN) gets a terminal decision: close / drop / promote (to epic) / spillover (with explicit causal reason). "Leave it hanging" is NOT a terminal decision. See Phase 5.5.retro:W{N-2} + retro:W{N-1} and the founder wants another spillover into W{N+1} → STOP. Reformulate as close / drop / promote-to-epic. A re-label is not allowed.| Source | Priority | When to use |
|---|---|---|
| Live system query (DB, API, dashboard) | 1 | Canonical if available |
| Canonical file (dated snapshot) | 2 | Baseline, may be stale |
| Memory / notes | 3 | For context, not decisions |
| Founder (verbal) | VERIFY | Don't write without cross-check against #1-2 |
Step 0 — create the retro log file immediately. Before any data gathering, create $RETRO_LOG_PATH/WNN.md (where NN is the closing week). All subsequent writes during the interview land in this single file — not scattered notes, not memory.
All gathering in parallel:
# 1. Git commits across all repos (use repos from your CLAUDE.md config)
for repo in $YOUR_REPOS; do
echo "=== $repo ==="
cd $repo 2>/dev/null && git log --oneline --after="YYYY-MM-DD" --before="YYYY-MM-DD" | head -10
cd -
done
# 2. GitHub issues closed + updated
gh search issues --owner $YOUR_OWNER --updated "YYYY-MM-DD..YYYY-MM-DD" --json repository,number,title,state
# 3. Open issues on main project board
gh issue list -R $YOUR_OWNER/$YOUR_MAIN_REPO --state open --json number,title --limit 30
# 4. Previous retro carry-over (all open retro:W* labels, not only retro:W{N-1})
gh search issues --owner $YOUR_OWNER --state open --json repository,number,title,labels,createdAt \
--jq '[.[] | select(.labels[].name | startswith("retro:W")) | {repo: .repository.nameWithOwner, n: .number, title, labels: [.labels[].name | select(startswith("retro:W"))], created: .createdAt}]'
Show summary to the user. Ask for a calendar screenshot (if they don't provide one — work with git/issues, don't insist).
Group carry-over items by oldest retro:W* label. Column "weeks open" = current_week − min(retro:W labels).
### Carry-over by age
| Issue | Repo | Title | Open for | Labels |
|---|---|---|---|---|
| #157 | main-app | feature X follow-up | 1 week | retro:W{N-1} |
| #48 | crm | client Y invoice | 2 weeks | retro:W{N-2}, retro:W{N-1} |
| #1 | legal | tax registration | 4 weeks | retro:W{N-4}…W{N-1} |
**Stale-warning:** N issues open 2+ weeks. Phase 5.5 will resolve these to terminal decisions before creating the W{N+1} backlog.
This list feeds directly into Phase 5.5.
Without this phase the retro becomes a free conversation about "what happened" instead of an honest check of "what was promised." Outcomes are the only formal link between planning and retro.
Read $RETRO_LOG_PATH/WNN-outcomes.md (written by the planning skill at the start of week NN).
If the file does not exist → STOP and tell the founder explicitly: "Outcomes for WNN were not recorded at planning time — retro will run without plan/fact comparison. Reconstruct retroactively from last week's notes, or skip the scorecard?". Do not silently skip.
For each outcome row (O1..ON) gather evidence in parallel via fast subagents:
Issues column: gh issue view <N> -R <repo> — open/closed + last commentfind / git log --grep / canonical-file inspectionFill the Status column in the same file:
| Symbol | When to set |
|---|---|
| done | All check-criteria met, evidence proves it |
| partial | Some criteria met, what fell short → Notes |
| miss | Not done + evidence it wasn't (issue still open / no files / no comms) — Phase 2 explores why |
| spillover | Moved to W{N+1} with explicit causal link (new issue or re-label) |
| dropped | Removed as irrelevant during the week + reason |
## Outcomes scorecard WNN
| ID | Outcome | Status | Evidence | Notes |
|---|---|---|---|---|
| O1 | <outcome> | done | <issue#> closed, artifact at <path> | — |
| O2 | <outcome> | partial | issue closed but Q&A ran long | bonus 30 min |
| O5 | <outcome> | miss | issue still open, 0 broadcasts sent | — |
| O8 | <outcome> | spillover | re-labeled retro:W{N+1} | overdue 3 weeks |
**Summary:** 5 done · 1 partial · 1 miss · 1 spillover · 0 dropped (of 8 outcomes)
**Hit rate:** 62% (5/8 done)
Possible causes:
Action:
**Reconstructed:** YYYY-MM-DD (no original plan) in its header. Reconstructed outcomes are baseline only — not as reliable as planned ones (selection bias).digraph interview {
"Show data" -> "Ask about topic";
"Ask about topic" -> "Answer unclear" -> "Clarify" -> "Ask about topic";
"Ask about topic" -> "Answer clear" -> "WRITE immediately";
"Ask about topic" -> "Multi-topic answer" -> "Batch save + list back" -> "Continue with most important topic";
"WRITE immediately" -> "Issue?" [shape=diamond];
"Issue?" -> "VERIFY then CREATE" [label="yes"];
"Issue?" -> "Next topic" [label="no"];
"VERIFY then CREATE" -> "Next topic";
"Next topic" -> "Ask about topic" [label="more"];
"Next topic" -> "Phase 3" [label="done"];
}
When the answer covers multiple topics: (1) WRITE each fact immediately (batch is OK), (2) list back to founder: "Saved: X, Y, Z — correct?", (3) continue with the most important uncovered topic, (4) return to skipped items from interview order later.
Use the topics from your CLAUDE.md config. Default order:
# Check for duplicate issues
gh issue list -R $YOUR_OWNER/$REPO --search "{keywords}" --state all
| What you learned | Where to write IMMEDIATELY |
|---|---|
| Fact about project/product | Canonical file (data.md, product.md, etc.) |
| Date/plan changed | Relevant config file + any dependent docs |
| Process lesson/insight | Insights file or playbook |
| Action item | GitHub issue in the CORRECT repo (see task routing in config) |
Offer if retro surfaces 3+ unresolved risks or founder asks.
3 sub-agents in parallel:
The summary is written to the same $RETRO_LOG_PATH/WNN.md that has been collecting interview notes since Phase 1. Append the summary section at the top or bottom of that file — do not create a separate file.
## Retro WNN (dates)
### Outcomes scorecard
[copy the table from $RETRO_LOG_PATH/WNN-outcomes.md Status section + hit rate %]
### Done
- ...
### In progress
- ...
### Not touched
- ...
### Carry-over (from previous retro)
- [open items from retro:W{N-1}]
### Lessons -> system updates
| Lesson | What was updated |
If you have 4+ retros with outcomes scorecards, add a trend row below the table:
Hit-rate trend: W{N-3} 70% / W{N-2} 62% / W{N-1} 81% / WNN 75%
This gives the founder visibility on whether the process is improving or degrading.
Issues go to the CORRECT repos (per task routing in your config):
# Create retro label
gh label create "retro:WNN" -R $YOUR_OWNER/$REPO --color "D4C5F9"
# Each issue -> correct repo + label + project board
gh issue create -R $YOUR_OWNER/$REPO -t "..." -b "..." -a $YOUR_OWNER --label "retro:WNN"
gh project item-add $YOUR_PROJECT_ID --owner $YOUR_OWNER --url {url}
Final table:
### Backlog retro:WNN
| # | Repo | Task |
Filter: `gh search issues --owner $YOUR_OWNER --label "retro:WNN" --state open`
Goal: by end of retro, zero open issues carrying the retro:WNN label of the closing week. Iron Rule 10.
Trigger: runs after Phase 5 (new backlog created). The skill does NOT proceed to Phase 6 until this step completes.
retro:WNN cross-repo:gh search issues --owner $YOUR_OWNER --label "retro:WNN" --state open \
--json repository,number,title,labels,createdAt,assignees
For each issue, a fast subagent gathers status evidence in parallel (5-10 issues per batch): what shipped, what didn't, last commit/comment, any blocker.
Present a triage table to the founder with a proposed terminal decision per row:
### Phase 5.5 — Triage open WNN
| # | Repo | Title | Evidence | Propose | Reason |
|---|---|---|---|---|---|
| 157 | main-app | feature X follow-up | 0 commits in 5 days, scope obsolete | **drop** | initiative cancelled |
| 22 | crm | client Y sync | meeting on 02.05, notes saved | **close** | done — evidence at crm/.../notes.md |
| 48 | legal | tax registration | open 4 retros, blocker = external party | **promote** | not weekly-scope, becomes epic |
| 99 | docs | guide draft | active work, deadline in 5 days | **spillover → W{N+1}** | normal in-flight |
**Stale-rollover check (Iron Rule 11):** N issues already spilled over 2+ times — for these spillover is FORBIDDEN; choose close/drop/promote only.
| Decision | Action |
|---|---|
| close | gh issue close <N> -R <repo> -c "<evidence>"; verify via subagent that state went to closed |
| drop | gh issue close <N> -R <repo> -c "dropped: <reason>" + write the decision to your decisions/insights canonical file (without recording the reason it becomes silent abandonment) |
| promote | remove retro:WNN label, add epic:<slug> + create a parent epic issue if missing + add to project as long-running |
| spillover | re-label to retro:W{N+1} + comment in the issue with the causal blocker / reason + add a row to $RETRO_LOG_PATH/W{N+1}-outcomes.md (create file if absent) |
gh search issues --owner $YOUR_OWNER --label "retro:WNN" --state open → must return 0 results. If not — STOP, do not proceed to Phase 6.spillover with the reason "founder requested defer" + auto-add to next week's outcomes file (so it comes back in Phase 1.5 next retro as accountability).gh search ... --state open ≠ 0 → STOP, return to Phase 5.5.$RETRO_LOG_PATH/WNN.md (same file that's been collecting Phase 1-5 notes; do not move to an archive directory).$RETRO_LOG_PATH/WNN-outcomes.md with final Status column filled.docs: weekly retro WNNgh issue list --search first -> STOP, check for duplicates$RETRO_LOG_PATH/WNN-outcomes.md -> STOP, Phase 1.5 is mandatorydone Status without evidence -> STOP, every done needs an issue closed / artifact found / payment confirmed via subagentdone outcomes -> STOP, founder time wasted; jump to miss / partial / spillover rowsretro:WNN issues remain -> STOP, return to Phase 5.5| Rationalization | Reality |
|---|---|
| "Calendar says Meeting — must be a meeting" | Calendar titles are unreliable. Ask. |
| "Git data is enough for retro" | Git doesn't know context: why, what was decided, what changed |
| "I'll write it later, let me gather everything first" | Later = never. Write immediately |
| "This is obviously a main-repo issue" | Route to the correct repo per your task routing config |
| "Config says date X — so that's the date" | Plans change. Ask for current status |
| "Roughly $X revenue" | Not in canonical files? Don't write it. Fabrication is unacceptable |
| "Founder said 30 — so it's 30" | Verbal numbers -> cross-check with live stats/canonical. Show divergence |
| "This mention needs an issue" | Not every mention = issue. Ask: "Is this a task?" |
| "Outcomes file is missing, I'll just run an open interview" | STOP. Tell the founder explicitly and offer reconstruct/skip. Silent skip degrades next week's planning. |
| "I remember this outcome was done" | Memory is not evidence. Each done row needs an issue closed / artifact found via subagent before marking. |
| "We'll triage next week — leave the open WNN items as-is" | This is what created the current backlog. Iron Rule 10: zero open WNN items before Phase 6, four terminal decisions only. |