remote-collaboration
Use this skill when facilitating remote team collaboration - async-first workflows, documentation-driven decision making, meeting facilitation, and distributed team communication. Triggers on designing async processes, writing RFCs or decision docs, preparing meeting agendas, running standups or retros, establishing communication norms, reducing meeting load, or improving handoff quality across time zones.
operations remote-workasyncmeetingsdocumentationcollaborationdistributed-teamsWhat is remote-collaboration?
Use this skill when facilitating remote team collaboration - async-first workflows, documentation-driven decision making, meeting facilitation, and distributed team communication. Triggers on designing async processes, writing RFCs or decision docs, preparing meeting agendas, running standups or retros, establishing communication norms, reducing meeting load, or improving handoff quality across time zones.
remote-collaboration
remote-collaboration is a production-ready AI agent skill for claude-code, gemini-cli, openai-codex, and 1 more. Facilitating remote team collaboration - async-first workflows, documentation-driven decision making, meeting facilitation, and distributed team communication.
Quick Facts
| Field | Value |
|---|---|
| Category | operations |
| Version | 0.1.0 |
| Platforms | claude-code, gemini-cli, openai-codex, mcp |
| License | MIT |
How to Install
- Make sure you have Node.js installed on your machine.
- Run the following command in your terminal:
npx skills add AbsolutelySkilled/AbsolutelySkilled --skill remote-collaboration- The remote-collaboration skill is now available in your AI coding agent (Claude Code, Gemini CLI, OpenAI Codex, etc.).
Overview
Remote collaboration is the practice of coordinating effectively across distributed teams without relying on real-time, co-located interaction as the default. This skill covers three interconnected disciplines: async-first workflows that reduce dependency on synchronous communication, documentation-driven processes that make decisions durable and discoverable, and meeting facilitation that ensures the meetings you do hold are high-signal and well-structured. The goal is to help teams move faster by writing more and meeting less - without losing alignment or team cohesion.
Tags
remote-work async meetings documentation collaboration distributed-teams
Platforms
- claude-code
- gemini-cli
- openai-codex
- mcp
Related Skills
Pair remote-collaboration with these complementary skills:
Frequently Asked Questions
What is remote-collaboration?
Use this skill when facilitating remote team collaboration - async-first workflows, documentation-driven decision making, meeting facilitation, and distributed team communication. Triggers on designing async processes, writing RFCs or decision docs, preparing meeting agendas, running standups or retros, establishing communication norms, reducing meeting load, or improving handoff quality across time zones.
How do I install remote-collaboration?
Run npx skills add AbsolutelySkilled/AbsolutelySkilled --skill remote-collaboration in your terminal. The skill will be immediately available in your AI coding agent.
What AI agents support remote-collaboration?
This skill works with claude-code, gemini-cli, openai-codex, mcp. Install it once and use it across any supported AI coding agent.
Maintainers
Generated from AbsolutelySkilled
SKILL.md
Remote Collaboration
Remote collaboration is the practice of coordinating effectively across distributed teams without relying on real-time, co-located interaction as the default. This skill covers three interconnected disciplines: async-first workflows that reduce dependency on synchronous communication, documentation-driven processes that make decisions durable and discoverable, and meeting facilitation that ensures the meetings you do hold are high-signal and well-structured. The goal is to help teams move faster by writing more and meeting less - without losing alignment or team cohesion.
When to use this skill
Trigger this skill when the user:
- Wants to design an async-first workflow for a team or project
- Needs to write an RFC, decision document, or proposal for async review
- Is preparing a meeting agenda, standup format, or retro structure
- Asks how to reduce unnecessary meetings or meeting fatigue
- Wants to improve handoffs between team members across time zones
- Needs templates for status updates, weekly digests, or async standups
- Is establishing communication norms or a team communication charter
- Wants to facilitate a specific meeting type (kickoff, planning, 1:1, retro)
Do NOT trigger this skill for:
- Real-time pair programming workflows (that is synchronous by nature)
- General project management methodology (Scrum, Kanban) without a remote focus
Key principles
Async by default, sync by exception - Every process should start as async. Only escalate to a meeting when async has failed or the topic requires real-time nuance (conflict resolution, brainstorming with high ambiguity, sensitive feedback). The burden of proof is on the person requesting the meeting.
Write it down or it didn't happen - Decisions, context, and rationale must live in a durable, searchable document - not in a Slack thread or someone's head. Every meeting produces a written artifact. Every decision has a recorded "why."
Communicate with context, not assumptions - Remote messages lack body language and shared physical context. Over-communicate intent, provide links to relevant docs, state your ask explicitly, and set clear response-time expectations. A well-structured message saves three rounds of back-and-forth.
Protect deep work with explicit norms - Define when people are expected to be responsive (core overlap hours) and when they can go heads-down without guilt. Use status indicators, calendar blocks, and notification schedules rather than expecting instant availability.
Design for the reader, not the writer - Docs, messages, and agendas should optimize for the person consuming them. Use headings, TL;DRs, explicit action items, and named owners. Front-load the important information.
Core concepts
Communication modes - Remote teams operate across three modes: synchronous (meetings, live calls), near-sync (Slack/chat with expected quick replies), and async (documents, email, recorded video with no expectation of immediate response). Each mode has a cost: sync is the most expensive (requires calendar alignment), async is the cheapest (respects autonomy). Match the mode to the communication need.
The decision trail - In co-located teams, decisions happen in hallways and get absorbed by proximity. Remote teams need an explicit decision trail: a chain of documents (RFC, discussion comments, decision record) that lets anyone reconstruct why a choice was made, months later, without asking the original participants.
Overlap windows - Distributed teams share limited hours of real-time overlap. These hours are precious and should be reserved for high-value synchronous work: complex discussions, relationship building, and blockers that can't be resolved async. Protect overlap hours from status meetings and information broadcasts.
Meeting roles - Effective remote meetings require explicit roles: a facilitator (keeps time, manages the agenda), a note-taker (captures decisions and action items in real time), and a timekeeper (ensures each topic gets its allotted time). Without roles, meetings drift and produce no written output.
Common tasks
Design an async standup process
Replace daily standup meetings with structured async updates. Each team member posts a standup in a dedicated channel at a consistent time in their local zone.
Async standup template:
## Standup - [Name] - [Date]
**Yesterday:** What I completed
**Today:** What I'm working on
**Blockers:** Anything stopping progress (tag the person who can help)
**FYI:** Non-urgent context others might find usefulSet the norm that standups are write-only by default - no replies unless someone has a blocker that needs help. Review standups async; escalate to a call only when a blocker persists for more than one cycle.
Write a decision document (RFC)
Use this structure for any decision that affects more than one person or will be hard to reverse.
RFC template:
# RFC: [Title]
**Author:** [Name]
**Status:** Draft | In Review | Accepted | Rejected
**Reviewers:** [Names with review-by date]
**Decision deadline:** [Date]
## Context
What is the current situation? Why does this need a decision?
## Proposal
What do you recommend? Be specific and actionable.
## Alternatives considered
What other options exist? Why is each inferior to the proposal?
## Trade-offs
What are we giving up? What risks does this introduce?
## Open questions
What do you need input on before finalizing?Set a review period (3-5 business days for most decisions). Reviewers comment inline. After the deadline, the author summarizes comments, makes a decision, and updates the status. Silence equals consent - make this explicit in team norms.
Prepare a meeting agenda
Every meeting must have a written agenda shared at least 24 hours in advance. No agenda, no meeting - enforce this as a team norm.
Agenda template:
# Meeting: [Title]
**Date:** [Date/Time with timezone]
**Duration:** [Minutes]
**Attendees:** [Names - mark optional attendees]
**Pre-read:** [Links to docs attendees must read before the meeting]
## Goals
What decisions or outcomes must this meeting produce?
## Agenda
1. [Topic] - [Owner] - [Minutes allocated] - [Goal: decide/discuss/inform]
2. [Topic] - [Owner] - [Minutes allocated] - [Goal]
3. [Topic] - [Owner] - [Minutes allocated] - [Goal]
## Standing items
- Action item review from last meeting (5 min)
- Parking lot / new topics (5 min)Tag each agenda item with its goal type: "decide" (we leave with a choice made), "discuss" (explore options, decision next time), or "inform" (one-way broadcast - consider if this could be async instead).
Run an async retrospective
Replace live retro meetings with a multi-phase async process that gives everyone time to think deeply.
Phase 1 - Collect (48 hours): Share a form or thread with three prompts: what went well, what could improve, and what confused or frustrated you. Everyone contributes independently without seeing others' responses (use anonymous forms or spoiler tags).
Phase 2 - Theme (24 hours): A facilitator groups responses into themes and shares them. Team members vote on which themes to address (dot-voting: 3 votes per person).
Phase 3 - Act (live or async): For the top 2-3 themes, propose concrete action items with named owners and deadlines. This phase can be a short (20 min) sync meeting if the team prefers, since it involves negotiation.
Phase 4 - Track: Action items go into the team's task tracker. Review progress at the start of the next retro cycle.
Create a communication charter
Define how the team communicates. Write this document once, revisit quarterly.
Charter sections:
- Channel purpose: Which tool for what (e.g., Slack for quick questions, docs for decisions, email for external comms, video for sensitive topics)
- Response time expectations: By channel (e.g., Slack: same business day, doc comments: within review period, email: 48 hours)
- Core overlap hours: The daily window when everyone is expected to be available for sync (e.g., 10am-1pm PT)
- Deep work blocks: Protected hours when interruptions are discouraged
- Escalation path: When to move from async to sync (blocker persists > 24h, emotional topic, 3+ rounds of back-and-forth without resolution)
- Meeting-free days: Designated days for uninterrupted focus (e.g., no meetings on Wednesdays)
Write a weekly team digest
Replace status meetings with a written weekly digest that the team lead compiles.
Digest template:
# Week of [Date Range]
## TL;DR
[2-3 sentence summary of the most important things]
## Shipped
- [Feature/deliverable] - [Owner] - [Link to PR/doc]
## In progress
- [Work item] - [Owner] - [Expected completion] - [Status: on track/at risk]
## Decisions made
- [Decision] - [RFC link] - [Rationale in one sentence]
## Upcoming
- [Milestone/deadline] - [Date] - [Owner]
## Needs attention
- [Blocker or open question] - [Who can help]Facilitate a 1:1 meeting
Structure 1:1s for remote teams where casual hallway interactions don't happen.
1:1 format:
- Keep a running shared doc (both parties can add topics throughout the week)
- Start with the report's topics, not the manager's
- Allocate time: 50% their topics, 25% your topics, 25% career/growth
- End with explicit action items and owners
- If there are no substantive topics, cancel the meeting - don't meet for the sake of meeting
Handle cross-timezone handoffs
When work passes between team members in different time zones, write a handoff note that prevents the receiving person from starting cold.
Handoff template:
## Handoff: [Task/Project]
**From:** [Name/Timezone] **To:** [Name/Timezone]
**Date:** [Date]
**Current state:** Where things stand right now
**What I did:** Summary of work completed in this cycle
**What's next:** The immediate next step for the receiver
**Blockers:** Anything that might stop progress
**Context links:** [PRs, docs, threads relevant to pick up]
**Decision needed:** [Any pending decision the receiver should make]Anti-patterns / common mistakes
| Mistake | Why it's wrong | What to do instead |
|---|---|---|
| Defaulting to meetings for everything | Meetings are the most expensive communication mode; they block calendars and exclude async contributors | Start async; escalate to sync only when needed |
| Sending context-free Slack messages ("hey, got a minute?") | Forces a synchronous interruption and provides zero context for the recipient to prepare | State the full question/context upfront with an explicit ask |
| Making decisions in Slack threads | Threads are unsearchable, ephemeral, and invisible to people not in the channel | Move decisions to a doc; post the doc link in Slack |
| Meetings without agendas or notes | No agenda means no purpose; no notes means no output - the meeting evaporates | Enforce agenda-before-invite and notes-after-meeting norms |
| Expecting instant replies across time zones | Creates anxiety, encourages shallow work, and penalizes people in off-peak zones | Set explicit response-time expectations per channel |
| Recording meetings as a substitute for writing | Hour-long recordings are unsearchable and nobody watches them | Write a summary with timestamps; link the recording as backup only |
| Skipping the "why" in decisions | Without rationale, future team members reopen settled decisions | Always document the reasoning, not just the outcome |
Gotchas
RFC review period ends with no decision recorded - Teams collect comments but never formally update the RFC status from "In Review" to "Accepted" or "Rejected." Without a recorded decision, the RFC becomes a zombie document that people keep re-litigating. Always close the loop: update status, summarize the decision, and note the rationale.
Async standup replacing the only team touchpoint - Async standups eliminate a synchronous moment, which is a good thing - but if they become the team's sole communication mechanism, relationship signals get lost. Preserve at least one brief weekly sync for relationship maintenance, not status.
Meeting recorded as the primary artifact - A one-hour recording is not a searchable document. No one rewatches it. Write a summary with decisions and action items; include a recording link only as supplementary reference. Defaulting to "we recorded it" is not documentation.
"Silence equals consent" norm not stated explicitly - If teams don't know that failing to respond to an RFC before the deadline counts as agreement, they feel blindsided by decisions made without them. State the norm explicitly in the RFC template and the team communication charter.
Cross-timezone handoffs written from the sender's perspective - Handoffs that say "I got halfway through X" don't tell the receiver what to do next. Structure handoffs from the receiver's perspective: what is the next concrete action, what context do they need, and what decision is waiting for them.
References
For detailed protocols and extended templates, read the relevant file from
references/:
references/async-workflows.md- Deep dive into async standup variations, async code review protocols, and async brainstorming techniques. Load when designing a specific async process.references/meeting-facilitation.md- Extended facilitation playbooks for kickoffs, planning sessions, all-hands, and difficult conversations. Load when preparing to facilitate a specific meeting type.references/documentation-templates.md- Full RFC template with examples, ADR (Architecture Decision Record) format, post-mortem template, and project brief template. Load when writing a specific document type.
Only load a references file if the current task requires it.
References
async-workflows.md
Async Workflows
Async standup variations
Classic three-question standup
Best for small teams (3-8 people). Post daily in a dedicated channel.
- What I completed yesterday
- What I'm working on today
- Any blockers
Progress-and-plans standup
Best for project-focused teams. Post at end of day (captures what actually happened).
- Progress: What moved forward today (with links to PRs/docs)
- Plans: Top 1-2 priorities for tomorrow
- Signals: Anything the team should know (risks, delays, discoveries)
Weekly async standup
Best for senior/autonomous teams where daily updates add friction without value.
- Shipped: What was completed this week
- In flight: Current focus areas
- Upcoming: What's planned for next week
- Help needed: Where input from others would accelerate progress
Standup implementation checklist
- Choose a channel or tool (Slack channel, Geekbot, Linear updates, etc.)
- Set a consistent posting window (not a fixed time - a 3-hour window works)
- Establish the read norm: standups are write-only unless someone needs help
- Rotate a weekly "standup reviewer" who scans for patterns and raises risks
- Review the format quarterly - adjust if people are writing boilerplate
Async code review protocol
Setting expectations
- Author tags reviewers and sets a review-by date (default: 24 hours for standard PRs, 4 hours for hotfixes, 48 hours for large architectural changes)
- PR description includes: what changed, why, how to test, and any areas where the author wants specific feedback
- If no review by deadline: author pings once. If still no review after 8 hours: author can merge with a note explaining the situation
Review quality standards
- Comments should be actionable: "Consider X because Y" not "I don't like this"
- Use comment prefixes to signal intent:
nit:- Style preference, non-blockingsuggestion:- Improvement idea, author decidesquestion:- Need clarification before approvingblocker:- Must be addressed before merge
- Approve with comments means the nits can be addressed in a follow-up
Reducing review round-trips
- Author self-reviews the diff before requesting review (catches 30% of issues)
- Use PR templates that force the author to fill in context
- For complex changes: record a 3-5 minute Loom walkthrough of the code
- If a review thread exceeds 3 back-and-forth exchanges: move to a 10-minute call, then document the outcome in the thread
Async brainstorming techniques
Silent brainstorm (brainwriting)
- Share a prompt or problem statement in a doc
- Each participant adds ideas independently (set a contribution window: 24-48 hours)
- No commenting on others' ideas during the contribution phase
- After the window closes, a facilitator groups ideas into themes
- Team votes asynchronously (dot voting: 3 votes per person)
- Top ideas move to evaluation (can be async or sync depending on complexity)
Why it works: Removes anchoring bias, gives introverts equal voice, allows deeper thinking than real-time brainstorming.
Structured proposal round
For decisions with 2-4 clear options:
- Each option gets a one-page brief (written by its advocate)
- All briefs shared simultaneously
- 48-hour comment period where people ask clarifying questions
- Advocates update their briefs based on questions
- Team votes or decision-maker decides with written rationale
Async design critique
For visual or UX work:
- Designer shares work in a doc/Figma with specific questions ("Is the nav hierarchy clear?" not "What do you think?")
- Reviewers leave contextual comments tied to specific elements
- Designer responds async, grouping feedback into "will do," "won't do (because)," and "need to discuss"
- Only the "need to discuss" items require a sync touchpoint
Async decision-making frameworks
RAPID for distributed teams
- Recommend: One person writes the proposal (async, in a doc)
- Agree: Named stakeholders must sign off (async comments, explicit +1/-1)
- Perform: The person who will execute - confirms feasibility in comments
- Input: Broader team provides input during the review window
- Decide: One named decider makes the call after the review period closes
Consent-based decision making
Instead of seeking consensus (everyone agrees), seek consent (nobody objects).
- Proposal is shared with a review deadline
- Team members respond with: "consent" (no objections), "concern" (minor issue, not blocking), or "objection" (fundamental problem that must be addressed)
- If no objections by deadline: proposal is accepted
- If objections: author addresses them and re-shares for a shorter review period
- Silence after deadline = consent (state this norm explicitly in your charter)
Tools and automation
Bot-assisted standups
Use tools like Geekbot, Standuply, or custom Slack workflows to:
- Prompt team members at their preferred time
- Collect responses and post them in a shared channel
- Flag when someone misses a standup (gentle nudge, not surveillance)
- Generate weekly summaries from daily standups
Async video messages
For context-heavy updates where text feels insufficient:
- Loom, Vidyard, or screen recordings for code walkthroughs
- Keep videos under 5 minutes (if longer, it should be a doc)
- Always include a text summary below the video link
- Videos are supplements, not replacements for written artifacts
documentation-templates.md
Documentation Templates
RFC (Request for Comments)
Use for any decision that affects more than one person, is hard to reverse, or where you want structured input from the team.
# RFC: [Title]
**Author:** [Name]
**Status:** Draft | In Review | Accepted | Rejected | Superseded
**Created:** [Date]
**Review deadline:** [Date - typically 3-5 business days from sharing]
**Reviewers:** [Names - tag specific people, don't rely on "the team"]
**Decision maker:** [Name - one person who makes the final call]
## TL;DR
[2-3 sentences. A busy person should be able to read this and know what you're
proposing and why.]
## Context
[What is the current situation? What problem are we solving? Include data,
metrics, or user feedback if available. Link to related docs or past decisions.]
## Proposal
[What do you recommend? Be specific and concrete. Include enough detail that
someone could implement this without further clarification.]
### Implementation plan
[How would this be executed? Key milestones, rough timeline, who does what.]
## Alternatives considered
[What other options did you evaluate? For each alternative:]
### Alternative A: [Name]
- **Description:** [What is it]
- **Pros:** [Why it could work]
- **Cons:** [Why the proposal is better]
### Alternative B: [Name]
[Same structure]
## Trade-offs and risks
[What are we giving up by choosing this path? What could go wrong?]
| Risk | Likelihood | Impact | Mitigation |
|---|---|---|---|
| [Risk 1] | Low/Medium/High | Low/Medium/High | [How to reduce it] |
## Open questions
[What do you need input on? Number these so reviewers can reference them.]
1. [Question 1]
2. [Question 2]
## Decision log
[Filled in after the review period closes]
- **Decision:** [Accepted/Rejected/Modified]
- **Date:** [When decided]
- **Rationale:** [Why, incorporating reviewer feedback]
- **Dissenting views:** [Any strong objections and how they were addressed]RFC process rules
- Author shares the RFC and pings reviewers with the deadline
- Reviewers comment inline, referencing specific sections
- Author responds to all comments (even if just "acknowledged")
- After deadline: author summarizes feedback, updates the proposal if needed, and the decision maker makes the call
- Silence after deadline = consent (state this norm explicitly)
- Accepted RFCs are archived in a known location (docs folder, wiki, Notion)
ADR (Architecture Decision Record)
Use for technical decisions that future engineers will need to understand. Lighter than an RFC - captures the decision after it's made, not the deliberation.
# ADR-[NNN]: [Title]
**Date:** [Date]
**Status:** Accepted | Deprecated | Superseded by ADR-[NNN]
**Deciders:** [Names]
## Context
[What is the technical context? What forces are at play?]
## Decision
[What did we decide? State it clearly in one paragraph.]
## Consequences
### Positive
- [Benefit 1]
- [Benefit 2]
### Negative
- [Trade-off 1]
- [Trade-off 2]
### Neutral
- [Side effect that's neither good nor bad]
## Related
- [Link to RFC if one existed]
- [Link to related ADRs]ADR conventions
- Number ADRs sequentially (ADR-001, ADR-002, etc.)
- Store in a
/docs/adr/directory in the repo - Never delete an ADR - mark it as "Superseded by ADR-NNN" instead
- Keep ADRs short (under 50 lines) - they capture what and why, not how
Post-mortem / incident review
Use after any incident, outage, or significant project failure. Focus on learning, not blame.
# Post-mortem: [Incident title]
**Date of incident:** [Date]
**Duration:** [How long the incident lasted]
**Severity:** [P0/P1/P2/P3]
**Author:** [Name]
**Reviewers:** [Names of people involved in the incident]
## Summary
[2-3 sentences: what happened, what was the impact, how was it resolved.]
## Timeline
[Chronological account of events. Use timestamps with timezone.]
| Time (UTC) | Event |
|---|---|
| HH:MM | [What happened] |
| HH:MM | [Detection: how we found out] |
| HH:MM | [Response: first action taken] |
| HH:MM | [Resolution: what fixed it] |
## Root cause
[What was the underlying cause? Go deeper than "a bug in the code" - why did
the bug exist? Why wasn't it caught?]
## Impact
- **Users affected:** [Number or percentage]
- **Revenue impact:** [If measurable]
- **Data impact:** [Any data loss or corruption]
## What went well
- [Thing that worked in our response]
- [Process that helped us resolve faster]
## What went poorly
- [Gap in our process or tooling]
- [Communication breakdown]
## Action items
| Action | Owner | Deadline | Priority |
|---|---|---|---|
| [Specific fix or improvement] | [Name] | [Date] | P0/P1/P2 |
## Lessons learned
[1-3 key takeaways that should change how we work going forward.]Post-mortem process
- Write the draft within 48 hours of resolution (while memory is fresh)
- Review with all involved parties before publishing
- Focus on systems, not individuals - "the deploy process allowed X" not "person Y did X"
- Action items must have named owners and deadlines or they won't happen
- Review action item completion in the next team sync
Project brief
Use at the start of any project to align stakeholders before work begins.
# Project brief: [Project name]
**Owner:** [Name]
**Team:** [Names and roles]
**Created:** [Date]
**Target launch:** [Date]
**Status:** Planning | In Progress | Shipped | Paused
## Problem statement
[What problem are we solving? Who has this problem? How do we know it's worth
solving? Include data if available.]
## Goals and success metrics
| Goal | Metric | Target |
|---|---|---|
| [Goal 1] | [How we'll measure it] | [What success looks like] |
## Non-goals
[What are we explicitly NOT trying to do? This is as important as the goals.]
- [Non-goal 1]
- [Non-goal 2]
## Proposed solution
[High-level approach. Enough detail to evaluate feasibility, not enough to
implement. Link to RFC or design doc for details.]
## Key milestones
| Milestone | Target date | Owner |
|---|---|---|
| [Milestone 1] | [Date] | [Name] |
## Dependencies and risks
- [Dependency on another team or system]
- [Key risk and mitigation]
## Communication plan
- **Updates:** [Where and how often - e.g., weekly digest in #project-channel]
- **Decisions:** [Where decisions are documented - e.g., RFC folder]
- **Escalation:** [Who to contact for blockers]Status update template
Use for regular project updates posted async (weekly or biweekly).
# Status update: [Project name] - [Date]
**Overall status:** On Track | At Risk | Blocked
## TL;DR
[One sentence: what's the most important thing to know this week?]
## Progress since last update
- [Completed item with link to deliverable]
- [Completed item]
## In progress
- [Work item] - [Owner] - [Expected completion]
## Risks and blockers
| Issue | Impact | Mitigation | Help needed from |
|---|---|---|---|
| [Issue] | [What happens if unresolved] | [Current plan] | [Name/team] |
## Decisions needed
- [Decision] - [Context link] - [Deadline]
## Next week's focus
- [Priority 1]
- [Priority 2]Document hygiene rules
- One canonical location - Every document type has a known home (e.g., RFCs
in
/docs/rfcs/, ADRs in/docs/adr/). Never let docs scatter across tools. - Link, don't copy - Reference other docs by link. Copied content rots.
- Date everything - Every doc has a created date. Status updates have the reporting period. Decisions have the decision date.
- Name owners - Every action item, every review request, every decision has a named person. "The team" owns nothing.
- Archive, don't delete - Old docs are historical artifacts. Mark them as superseded or archived, but keep them discoverable.
- Front-load the TL;DR - Busy stakeholders read the first 3 lines. Put the most important information there.
meeting-facilitation.md
Meeting Facilitation
Universal facilitation rules
- No agenda, no meeting - Cancel any meeting without a shared agenda
- Start on time, end 5 minutes early - Respect calendar boundaries
- Cameras optional, engagement mandatory - Don't police cameras; do call on people
- One speaker at a time - Use a raise-hand queue in the tool (Zoom, Meet, etc.)
- Capture decisions in real time - The note-taker writes decisions as they happen, not from memory afterward
- End with action items - Every meeting outputs: who does what by when
- Share notes within 1 hour - Post in the team channel or doc before moving on
Meeting type playbooks
Project kickoff
Purpose: Align the team on goals, scope, roles, and timeline for a new project.
Duration: 45-60 minutes
Pre-work: Share a project brief doc at least 48 hours before. Attendees must read it and post questions as comments before the meeting.
Agenda:
- (5 min) Context and motivation - Why are we doing this?
- (10 min) Walk through pre-read questions - Address comments from the brief
- (10 min) Scope boundaries - What's in, what's explicitly out
- (10 min) Roles and responsibilities - Who owns what
- (10 min) Timeline and milestones - Key dates and dependencies
- (5 min) Communication plan - Where updates live, cadence, escalation path
- (5 min) Action items and next steps
Output: Updated project brief with decisions, RACI or ownership list, and first set of action items.
Sprint/iteration planning
Purpose: Decide what the team will work on in the next cycle.
Duration: 30-45 minutes (keep tight; the backlog should be pre-groomed)
Pre-work: Product owner or tech lead pre-prioritizes the backlog. Team members review top items and flag concerns async before the meeting.
Agenda:
- (5 min) Review previous sprint outcomes - What shipped, what rolled over
- (5 min) Capacity check - Who's available, who has competing priorities
- (20 min) Walk the backlog top-down - For each item: clarify, estimate, commit or defer. Stop when capacity is full.
- (5 min) Identify risks and dependencies
- (5 min) Confirm sprint goal in one sentence
Facilitation tips:
- If estimation debates exceed 2 minutes per item, take it offline
- Use async estimation (planning poker via Slack bot) before the meeting to pre-align and reduce live debate
- The sprint goal should be writable on a sticky note - if it's a paragraph, it's too vague
Retrospective (sync version)
Purpose: Reflect on what went well, what didn't, and commit to improvements.
Duration: 30-45 minutes
Pre-work: Use the async retro collection phase (see SKILL.md) to gather input before the meeting. The sync session focuses on theming and action items only.
Agenda:
- (5 min) Review action items from last retro - Did we follow through?
- (5 min) Present themes from async collection (facilitator)
- (3 min) Dot-vote on themes (use a poll or Miro board)
- (15 min) Discuss top 2-3 themes - Root cause, not blame
- (10 min) Propose action items for each theme - Named owner, deadline
- (2 min) Close - One word from each person on how they feel
Facilitation tips:
- Use a "no blame" ground rule: focus on systems and processes, not individuals
- If someone dominates, use round-robin: each person gets 1 minute per theme
- Rotate the facilitator role each retro to prevent staleness
All-hands / team sync
Purpose: Share updates, celebrate wins, and surface cross-team information.
Duration: 25 minutes max (if it needs more, it's too much content for one session)
Agenda:
- (5 min) Wins and shoutouts - Celebrate shipped work and individual contributions
- (10 min) Key updates - Only things that affect everyone; use the "so what?" test
- (5 min) Q&A - Pre-collected questions (async) plus live questions
- (5 min) Upcoming focus areas
Facilitation tips:
- Publish a written version of all updates before the meeting so attendees can read ahead. The live session is for Q&A and celebration, not information transfer.
- Make attendance optional for anyone who reads the written update
- Record it for async viewers - but always publish written notes too
1:1 meeting (manager-report)
Purpose: Support the individual, remove blockers, discuss growth.
Duration: 25-30 minutes, weekly or biweekly
Format:
- Maintain a shared running doc (both parties add topics throughout the week)
- Report's topics first (at least 50% of the time)
- Manager's topics second
- Last 5-10 minutes: career development, feedback, or general check-in
Topic categories to rotate through:
- Work: Current projects, blockers, priorities
- Team: Collaboration issues, process feedback
- Growth: Skills development, career goals, stretch opportunities
- Wellbeing: Workload, energy levels, remote work challenges
Facilitation tips:
- If the report has nothing to discuss, don't fill the time - cancel or shorten
- Take notes in the shared doc during the meeting
- Follow up on action items from last time before adding new ones
- For remote 1:1s: occasionally do a "walking 1:1" (audio only, both people walk) to break the screen fatigue pattern
Difficult conversation / conflict resolution
Purpose: Address a specific interpersonal or process conflict.
Duration: 30 minutes
Pre-work: The facilitator (often a neutral third party or manager) talks to each party separately to understand perspectives. Shares a brief, neutral framing doc before the meeting.
Structure:
- (3 min) Ground rules: assume positive intent, speak from your perspective ("I" statements), focus on behavior not character
- (5 min) Person A shares their perspective uninterrupted
- (5 min) Person B shares their perspective uninterrupted
- (2 min) Each person summarizes what they heard the other say
- (10 min) Identify shared goals and specific points of disagreement
- (5 min) Agree on concrete next steps and follow-up cadence
Facilitation tips:
- Never attempt this async - tone and nuance matter too much
- The facilitator's job is to keep the conversation safe, not to judge
- If emotions run high, call a 5-minute break rather than pushing through
- Document agreements and follow up in writing within 24 hours
Remote-specific facilitation challenges
Managing time zone spreads
- Rotate meeting times for recurring meetings so the same timezone doesn't always get the inconvenient slot
- Record meetings and share timestamped notes for async attendees
- For meetings spanning 5+ hour time zone differences: consider splitting into two sessions or moving to fully async
Handling video call fatigue
- Default to 25-minute meetings (not 30) and 50-minute meetings (not 60)
- Make cameras optional - engagement can be measured by participation, not faces
- Use collaborative docs instead of screen sharing where possible (everyone can read and edit simultaneously)
- Schedule meeting-free blocks and enforce them
Engaging quiet participants
- Use round-robin for important topics (everyone speaks once before anyone speaks twice)
- Pre-collect input async so quiet people have already contributed before the meeting
- Use chat/reactions for quick polls instead of asking "any objections?"
- Directly invite input: "Alex, you've worked on this area - what's your take?"
Dealing with poor connectivity
- Always have a dial-in phone number as backup
- Share the agenda doc as the "single source of truth" - if someone drops, they can follow along in the doc
- Summarize key points in chat as the meeting progresses
- For critical decisions: confirm in writing after the meeting, don't assume everyone heard everything
Frequently Asked Questions
What is remote-collaboration?
Use this skill when facilitating remote team collaboration - async-first workflows, documentation-driven decision making, meeting facilitation, and distributed team communication. Triggers on designing async processes, writing RFCs or decision docs, preparing meeting agendas, running standups or retros, establishing communication norms, reducing meeting load, or improving handoff quality across time zones.
How do I install remote-collaboration?
Run npx skills add AbsolutelySkilled/AbsolutelySkilled --skill remote-collaboration in your terminal. The skill will be immediately available in your AI coding agent.
What AI agents support remote-collaboration?
remote-collaboration works with claude-code, gemini-cli, openai-codex, mcp. Install it once and use it across any supported AI coding agent.