Imported from faionfaion/faion-network (
skills/faion/knowledge/pm/remote-1-1-async-fallback/AGENTS.md). Install upstream withnpx skills add faionfaion/faion-network --skill remote-1-1-async-fallback. Copyright stays with the author.
Remote 1:1 Async Fallback
Summary
One-sentence: A structured async-doc 1:1 protocol for cross-timezone PMs who cannot meet synchronously every week; emits typed Async11Note per cycle with named prompts, response window, escalation rule, and outcome review.
One-paragraph: Synchronous weekly 1:1s break when one party is in UTC-8 and the other in UTC+10, or when one party is on parental leave / sick / on retreat. Default fallback is to skip the cycle — silently degrading PM↔IC visibility until a problem surfaces. This methodology pins an async fallback: PM posts the next-cycle Async11Note (3 named prompts: blockers, decisions-needed, morale) to a private doc, IC responds within a published response window (default 48 business hours), PM acknowledges with next-step actions, and any unresponsive cycle escalates to a synchronous call or to the IC's manager. Output is versioned, owned, and reviewed quarterly for response-rate drift.
Ефективно для:
- Cross-timezone PM ↔ IC pairs where synchronous weekly is structurally impossible.
- IC on temporary leave / retreat / sick where async preserves signal continuity.
- PMs covering ≥ 5 ICs whose 1:1 calendar saturates — async absorbs surge.
- Quarterly review: response-rate trend flags structural issues.
Applies If (ALL must hold)
- A PM-IC pair with a weekly 1:1 baseline where this cycle's synchronous slot is infeasible for a nameable reason (no overlapping hours, temporary leave, sickness, travel) and fewer than 3 async cycles have run since the last call.
- A channel visible only to the two of them (private doc, DM or email thread) where the note and the IC's morale line can live.
- The IC's timezone, working days and public holidays are known, so a 24-168 business-hour window can be counted on their clock.
- The team runs a pulse survey with workload / autonomy / clarity axes the morale prompt can reuse.
- The IC's manager is named and the PM can offer a sync slot after one missed window and escalate after two.
Skip If (ANY kills it)
- A synchronous 1:1 fits this cycle: hold it; async is the fallback, not the default.
- The IC is on formal leave (vacation, parental, sick): the cycle is paused, not posted; no note, no reminders, the count does not move.
- The pair has already run 3 consecutive async cycles: book the synchronous call first, rotating the off-hours burden.
- The only available channel is team-visible (a shared channel, a dashboard): the morale field cannot be kept between the two of them.
Prerequisites
| Artefact | Format | Source |
|---|---|---|
| Pair calendars with the reason this cycle's sync slot is infeasible and the cycle of the last synchronous call | calendar | PM |
| IC's timezone (IANA name), working days and public-holiday list for the window | HR record | HR / IC |
| Two-person channel (private doc, DM or email thread) | Slack / Notion / email | PM and IC |
| Pulse survey axes (workload, autonomy, clarity, 1-10) for the morale prompt | survey definition | [[team-morale-pulse-survey]] |
Previous cycle's Async11Note for count_before_cycle and the last acked next_actions |
JSON, this contract | this methodology (prior cycle) |
| The quarter's notes for the response-rate review | JSON, this contract | this methodology |
| IC's manager for the escalation packet | stakeholder register | HR |
Assumes Loaded
| Methodology | Why |
|---|---|
| [[team-development]] | 1:1 signals feed Tuckman staging + skill matrix. |
| [[team-morale-pulse-survey]] | Morale prompt aligns with pulse axes. |
| [[rag-policy-thresholds]] | Unresponsive-cycle count is a Red signal. |
Content (load on demand)
| File | Depth | What's inside | Est. tokens |
|---|---|---|---|
content/01-core-rules.xml |
essential | 9 rules: async only when sync infeasible, three named prompts, window in IC business hours, missing field is unresponsive, PM ack within 24h with owned actions, reschedule-then-manager ladder, leave pauses the cycle, morale stays private, quarterly response-rate review | ~2450 |
content/02-output-contract.xml |
essential | Draft-07 schema for Async11Note: two-person channel, sync-infeasibility reason and 3-cycle cap, the three fixed prompts with ticket / owner / 1-10 axes, window in the IC's timezone, IC-authored response or unresponsive / paused status, ack within 24 business hours with owned actions, reschedule-then-manager ladder without morale, quarterly response-rate review; valid + invalid examples, forbidden patterns |
~4550 |
content/03-failure-modes.xml |
essential | 6 modes: async becomes default, generic prompts, window in PM timezone, ack without actions, silent skip, morale leaks into dashboards | ~900 |
content/04-procedure.xml |
essential | 8 steps: decide sync is infeasible or pause for leave, post the fixed prompts privately, publish the window in the IC's hours, receive the IC-authored response, ack within 24 business hours with owned actions, walk the escalation ladder, validate and file, quarterly response-rate review | ~1950 |
content/05-examples.xml |
recommended | Complete Warsaw-Sydney note answered and acked the same day with a note per non-obvious value, and a bad note with the validator output and what the IC's manager sees | ~1950 |
content/06-decision-tree.xml |
essential | Tree: response window, unresponsive count, scope of issue → ack / escalate / synchronous-reschedule | ~450 |
Task Routing
| Sub-task | Model | Rationale |
|---|---|---|
compose-prompts |
haiku | Fixed text fill. |
synthesise-response |
sonnet | Bounded judgment on IC reply. |
escalation-decision |
sonnet | Threshold-based escalation. |
Templates
| File | Purpose |
|---|---|
templates/skeleton.md.j2 |
Async11Note skeleton with 3 named prompts |
templates/skeleton.md |
Async11Note skeleton with 3 named prompts Generated from templates/skeleton.md.j2 by tpl-jinja --migrate; do not hand-edit. |
templates/header.yaml |
Frontmatter schema |
templates/_smoke-test.json |
Minimum viable filled Async11Note |
Scripts
| File | Purpose | When to call |
|---|---|---|
scripts/validate-remote-1-1-async-fallback.py |
Validate Async11Note: named prompts, response window, escalation, owner |
Pre-merge |
scripts/staleness-check.py |
Flag notes whose last_reviewed > 90 days |
Weekly cron |
Related
- [[team-development]]
- [[team-morale-pulse-survey]]
- [[rag-policy-thresholds]]
Decision tree
See content/06-decision-tree.xml. The tree maps observed response state (within window, late, missing) to ack / escalate / reschedule. Each leaf references a rule from 01-core-rules.xml.