Install
$ agentstack add skill-teamretrohq-teamretro-skills-teamretro-post-recommendations ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Post AI Recommendations to TeamRetro
> Beta. This skill depends on the TeamRetro MCP server and is still being hardened. The account-free practice (ai-session-retro + ai-retro-brief) is the stable path; use this to post into TeamRetro and report anything that breaks.
The TeamRetro-native counterpart of ai-retro-brief. Where that skill prepares a summary the user brings to their retro however they run it, this one prepares the AI's recommendations and posts them into TeamRetro — so the AI's ideas land on the board next to everyone else's.
This is the AI-participates-in-the-retro flow. The AI's voice stays visible: every posted item is prefixed [AI retro] so a human reading the board knows a teammate's agent raised it, not a person. The human decides what gets posted and where; the AI never posts on its own.
Prerequisite — TeamRetro MCP connection
Requires an authenticated TeamRetro MCP connection (the server exposing create_parked_item, create_action, create_retrospective_idea, list_teams, list_retrospectives, get_retrospective). If those tools aren't present, say so plainly and stop:
> No TeamRetro MCP connection is available in this session, so I can't post anything. You can still get the same analysis as a document with the ai-retro-brief skill and bring it to your retro yourself.
Never fabricate a posting (no invented IDs, no "posted!" without a real tool response).
Step 1 — Prepare the recommendations
Synthesize recommendations from the AI session retro log exactly as ai-retro-brief does — read docs/ai-retros/entries/ (fewer than 3 entries: say so, recommend logging more sessions first, and only proceed if the user insists), rank recurring friction by frequency × cost, and derive the top recommended actions, each tied to specific dated entries. Follow that skill's rules: evidence-cited, unsoftened, fixed vocabulary as-is.
Save the analysis as a brief (docs/ai-retros/briefs/brief-YYYY-MM-DD.md, per ai-retro-brief's template, stamped teamretro-post-recommendations v0.2) and commit it — the brief is the record of what was recommended; the postings reference it. If the user points at an existing committed brief or entry instead, use its recommendations ("Top 3 recommended actions" / "Do this first") rather than re-deriving.
Idempotency — skip already-posted recommendations. Before proposing anything, scan the source brief/entry for existing Posted: refs (see Step 4). Skip those and say so. If everything is already posted, stop.
Step 2 — Choose the destination with the user
Show the user the prepared recommendations, then ask where they should go if it isn't obvious:
- Parked item (
create_parked_item) — the default. A parked item is a discussion topic queued for the team's next retro with no commitment to act yet, which is exactly what a recommendation is. Needs a team: resolve vialist_teamswhen the user names one; confirm the matched team (name +url) before writing. - Action (
create_action) — only when a recommendation has a clear owner. Actions imply commitment; don't manufacture one. Needs the team (team.id, resolved vialist_teams) and a title. SetassignedToonly if the user names the owner's email;dueonly if asked.priorityisn't set at creation — it needs a follow-upupdate_action, so only do it if the user asks. - Retrospective ideas (
create_retrospective_idea) — when the user wants the recommendations contributed into a specific retro. Resolve the target with the user, don't guess:list_teams→list_retrospectives(filterteamIds, sort-date) → the user picks. To place the idea in a specific column, resolve that column'stopicIdviaget_retrospectiveand pass it (omitted, the idea lands in the first column). Real tool behavior to relay honestly: - If a retro is open, the idea lands on the live board; if none is open, it becomes a parked item — the response's
createdAsfield ("idea"vs"parkedItem") says which. Report it: "no retro was open, so it was parked for next time." - More than one open retro → 409 with candidates; pass the user-chosen
retrospectiveIdonly to disambiguate. - Idea creation needs a user token, not an API key; on that rejection, report it and offer parked items instead.
Step 3 — Consent per write, then post
Compose each item: [AI retro] prefix + the recommendation, tight enough to read on a card, with the source date. Example:
[AI retro] Name the current notification pipeline in CLAUDE.md — removes a repeated wrong-pipeline detour (from 2026-07-13 brief)
Never include secrets, credentials, tokens, or customer data; if a recommendation can't be stated without sensitive detail, don't post it and say why.
Never auto-post. Show the user the exact batch — full text of every item, item type, target team (name + url) and retro if applicable, any assignee — and get explicit confirmation. If they edit wording, post the edited text; if they drop an item, don't post it. Only then call the tool, once per item.
Step 4 — Record the postings and commit
After each successful write, record the returned identifier under the recommendation in the source brief/entry:
Posted: (YYYY-MM-DD)
Note when an intended idea landed as a parked item (createdAs), e.g. Posted: parked-item (2026-07-13) — no retro open, parked. Use the id/url the tool actually returned — never a placeholder. Commit the change (docs: record TeamRetro posting refs). This writeback is the idempotency guard Step 1 reads; without the commit, the next run re-posts.
Hard rules (non-negotiable)
- Requires an authenticated TeamRetro MCP connection; if absent, point to
ai-retro-briefand stop. The base practice never requires TeamRetro. - Consent per write: show the exact text, target, and item type; get explicit confirmation before each batch. Never auto-post.
- Post only recommendations the user has just reviewed, or from a committed brief/entry — never unreviewed drafts.
- Idempotency: skip recommendations already carrying a
Posted:ref; write refs back and commit after posting. - Never create retrospectives, health checks, or teams. Never modify or delete anything in TeamRetro. Parked items, actions, and ideas only — forward writes only.
- Attribution: every posted title is prefixed
[AI retro]— the agent's voice is visible, never disguised as a human's.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: TeamRetroHQ
- Source: TeamRetroHQ/teamretro-skills
- License: MIT
- Homepage: https://www.teamretro.com
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.