You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/runbook-weekly-summary.md
+30-5Lines changed: 30 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,6 +14,8 @@ A short, human-readable summary of current org state:
14
14
15
15
The draft is written to `snapshot/weekly-summary.md` so review and Slack posting use the same text. `snapshot/` is gitignored, so this file is temporary working output.
16
16
17
+
For Slack posting, render that draft to `snapshot/weekly-summary.blocks.json` with Block Kit `rich_text_list` blocks so Slack shows real bullets instead of plain hyphen text.
18
+
17
19
Use `docs/templates/weekly-summary-template.md` for the message shape. Final approved summaries are archived in `docs/weekly-review-archive/` so future summaries can reference recent context.
18
20
19
21
Optionally posted to Slack. Always shown in the conversation first for review.
@@ -45,20 +47,22 @@ Always summarize from the fresh snapshot. The archive is useful context, not sou
45
47
46
48
### 3. Produce the summary draft
47
49
48
-
Write the summary to `snapshot/weekly-summary.md`, following `docs/templates/weekly-summary-template.md`. Use Slack-friendly `mrkdwn`: short headings, manual bullets, and plain text. Avoid tables and avoid composing the Slack message inline in a shell command.
50
+
Write the summary to `snapshot/weekly-summary.md`, following `docs/templates/weekly-summary-template.md`. This markdown file is the human-review draft, the input to the Block Kit renderer, and the plain-text fallback. Use Slack-friendly `mrkdwn`: short headings, `-` markers with line breaks for list structure, and plain text. Avoid tables and avoid composing the Slack message inline in a shell command. Do not use `*` as a bullet marker in this text fallback; in Slack `mrkdwn`, `*text*` means bold.
51
+
52
+
For true Slack bullet rendering, render and post a Block Kit payload with `rich_text` / `rich_text_list` blocks. Incoming webhooks support `blocks`, and `tools/notify/post.sh` can send a rendered payload with `--payload`.
49
53
50
-
When naming issues, link only the issue number and put the title in plain text after it:
54
+
When naming issues, put the issue title first, then link only the issue number:
51
55
52
56
```text
53
-
<https://github.com/open-austin/org/issues/123|#123> Issue title
57
+
Issue title | <https://github.com/open-austin/org/issues/123|#123>
54
58
```
55
59
56
60
Do not use full-title links or standard Markdown links such as `[Issue title](https://...)`; Slack renders incoming webhook text more predictably with angle-bracket links.
57
61
58
62
The summary should cover:
59
63
60
64
**Teams with active issues:**
61
-
List each team that has open issues. Use one parent bullet per team and one indented child bullet per issue. Add assignment details inline only when useful, such as `(assigned: lianilychee)`. Omit `Assigned: none`.
65
+
List each team that has open issues. Use one parent bullet per team and one indented child bullet per issue. Include assignment status on every issue because unowned work is useful signal: `(assigned: none)` or `(assigned: lianilychee)`.
62
66
63
67
**Board state:**
64
68
Org Kanban column counts. Put counts and issue lists on separate nested bullets so the Slack post does not become a dense paragraph. Flag anything that's been In Progress for a long time without update.
@@ -81,15 +85,35 @@ Show the contents of `snapshot/weekly-summary.md` in the conversation. Ask:
81
85
82
86
### 5. Post to Slack (if confirmed)
83
87
88
+
Render the reviewed markdown draft into a Slack Block Kit payload:
- {Issue title} | <https://github.com/open-austin/org/issues/{number}|#{number}> (assigned: {names or none})
42
+
- {Issue title} | <https://github.com/open-austin/org/issues/{number}|#{number}> (assigned: {names or none})
43
43
44
44
*Needs Attention*
45
-
- <https://github.com/open-austin/org/issues/{number}|#{number}> {Issue title}: {why it matters or what decision is needed}.
45
+
- {Issue title} | <https://github.com/open-austin/org/issues/{number}|#{number}>: {why it matters or what decision is needed}.
46
46
- {Brief blocker/staleness note, only if it needs human attention.}
47
47
48
48
*Summary*
@@ -51,12 +51,15 @@ Use this template when drafting `snapshot/weekly-summary.md` for the weekly org
51
51
52
52
## Style Rules
53
53
54
-
- Use Slack `mrkdwn` links, not standard Markdown links: `<https://github.com/open-austin/org/issues/123|#123> Issue title`.
55
-
-Link only the issue number. Keep the issue title as plain text after the link.
54
+
- Use Slack `mrkdwn` links, not standard Markdown links: `Issue title | <https://github.com/open-austin/org/issues/123|#123>`.
55
+
-Put the issue title first as plain text, then link only the issue number.
56
56
- Omit teams with no active in-scope issues.
57
+
- This markdown is both the human-review draft and the input format for `tools/notify/render_weekly_summary_blocks.py`. Use `-` markers and two-space indentation consistently so the renderer can create Block Kit `rich_text_list` blocks.
58
+
- In the plain-text fallback path, `-` markers plus line breaks mimic lists. Do not use `*` as bullets because `*text*` is Slack bold formatting.
59
+
- For true Slack bullet rendering, post the rendered Block Kit payload with `tools/notify/post.sh SLACK_WEBHOOK_ORG --payload snapshot/weekly-summary.blocks.json`.
57
60
- Use nested bullets so each issue gets its own line. Do not pack multiple issue links into one semicolon-separated sentence.
58
-
- Keep issue metadata short and inline: `(assigned: name)` or `(assigned: name; stale 123d)`.
59
-
- Omit empty/default metadata such as `Priority: none` and `Assigned: none`.
61
+
- Keep assignment status on each issue because unowned work is useful signal: `(assigned: none)`, `(assigned: name)`, or `(assigned: name; stale 123d)`.
62
+
- Omit empty/default priority metadata such as `Priority: none`.
60
63
- Do not include Open Roles or recruiting tickets unless the user explicitly asks for them.
61
64
- Do not include internal repo TODOs or tooling status unless they directly affect the org-facing work being summarized.
0 commit comments