| name | executive-briefing |
| description | Write concise executive summaries and status briefings using BLUF format for leadership audiences |
Executive Briefing
When to Use
Use this skill when tasked with writing executive summaries, status briefings, decision memos, or any document intended for senior leadership or time-constrained decision-makers. The defining characteristic is brevity: 1-2 pages maximum, conclusions first, data over adjectives.
Common scenarios:
- Summarizing a longer report or analysis for leadership consumption
- Writing a weekly/monthly status update for stakeholders
- Preparing a decision memo that presents options and a recommendation
- Briefing a new stakeholder on the current state of an initiative
Principles
- BLUF: Bottom Line Up Front. The first sentence of the document must contain the conclusion or recommendation. If the reader stops after one sentence, they should still know what matters.
- 1-2 pages maximum. If it is longer, it is not an executive briefing. Cut ruthlessly.
- Data, not adjectives. "Revenue increased 12% QoQ" not "Revenue performed strongly." "3 of 5 milestones complete" not "The project is going well."
- Three to five key points. If you cannot distill it to 3-5 points, you do not understand it well enough. Executives scan, not read.
- Explicit ask. End with what you need from the reader: a decision, awareness, or action. Never leave this ambiguous.
Output Template
# [Briefing Title]
**Date:** YYYY-MM-DD
**Author:** [agent name]
**Classification:** [For Decision | For Information | For Action]
**Audience:** [who this is for]
## Bottom Line
[ONE sentence: the most important thing the reader needs to know. This is the conclusion, not the introduction.]
## Situation
[2-4 sentences: factual context the reader needs to understand the bottom line. No opinions, only verifiable facts.]
## Key Findings
1. **[Finding 1]** — [One sentence with a specific number or fact]
2. **[Finding 2]** — [One sentence with a specific number or fact]
3. **[Finding 3]** — [One sentence with a specific number or fact]
## Implications
[2-3 sentences: what the findings mean for the organization, project, or decision at hand. Connect findings to outcomes.]
## Recommendation
[1-2 sentences: what the author recommends, stated directly. "We recommend X because Y."]
## Next Steps
| Action | Owner | Due Date |
|--------|-------|----------|
| [action 1] | [who] | [when] |
| [action 2] | [who] | [when] |
## Supporting Data
[Optional: 1 small table or 3-5 bullet points with the data backing the key findings. Only include if the reader will want to verify.]
Procedure
1. Identify the Source Material
TASK_ID="$1"
TOPIC="$2"
bash /home/shared/scripts/task.sh get "$TASK_ID" | jq -r '.description'
echo "=== Source Materials ==="
rg -l -i "$TOPIC" /home/shared/ ~/workspace/ 2>/dev/null \
| grep -E '\.(md|txt|csv|json)$' | head -20
bash /home/shared/scripts/artifact.sh list 2>/dev/null \
| jq -r '.[] | "\(.name) — \(.type) — \(.path)"' 2>/dev/null
find /home/shared/ -name '*report*' -o -name '*metrics*' -o -name '*status*' -o -name '*analysis*' \
2>/dev/null | sort -r | head -10
2. Read and Extract Key Data Points
SOURCE_FILE="/home/shared/source-document.md"
echo "=== Headlines and Structure ==="
grep -E '^#{1,3} ' "$SOURCE_FILE"
echo ""
echo "=== Sentences with Numbers (Key Data) ==="
rg '\b\d+\.?\d*\s*(%|percent|hours|days|weeks|months|\$|dollars|million|thousand|increase|decrease|complete|remaining)' \
"$SOURCE_FILE" -i | head -15
echo ""
echo "=== Conclusions and Recommendations ==="
rg -i 'recommend|conclude|therefore|result|finding|suggest|should|must' \
"$SOURCE_FILE" | head -10
echo ""
echo "=== Key Metrics ==="
rg '\|.*\d+.*\|' "$SOURCE_FILE" | head -10
3. Distill to 3-5 Key Points
This is the critical intellectual step. From all gathered data, identify exactly 3-5 points.
Rules for selection:
- Each point must be supported by at least one specific number or fact
- Points must be relevant to the audience (what do they care about?)
- Points must be actionable (the audience can do something with this information)
- If two points overlap, merge them
WORK_DIR="/tmp/briefing-${TOPIC}"
mkdir -p "$WORK_DIR"
cat > "$WORK_DIR/key-points.md" <<'EOF'
|
|---|-------|----------------|--------------------|----------|
| 1 | | | | |
| 2 | | | | |
| 3 | | | | |
| 4 | | | | |
| 5 | | | | |
| 6 | | | | |
| 7 | | | | |
- Does the audience need to know this to make a decision or take action?
- Is it backed by a specific number or verifiable fact?
- If I can only say 3 things, is this one of them?
EOF
4. Draft the BLUF Statement
The BLUF (Bottom Line Up Front) is one sentence. Draft it after you have the key findings, not before.
Test your BLUF against these criteria:
cat > "$WORK_DIR/bluf-test.md" <<'EOF'
Draft BLUF: "[your one sentence here]"
- [ ] Contains the conclusion or recommendation (not just context)
- [ ] A reader who reads ONLY this sentence knows what matters
- [ ] Uses a specific number or fact (not vague language)
- [ ] Is one sentence (not two sentences joined by a semicolon)
- [ ] States what IS, not what "may be" or "could be"
Good example: "We recommend proceeding with Vendor B ($145K/year) because it scores highest on all three priority criteria and can deploy within our Q2 deadline."
Bad example: "This briefing summarizes our evaluation of three vendors for the analytics platform initiative."
(This is an introduction, not a bottom line.)
EOF
5. Write the Briefing
BRIEFING_FILE="/home/shared/briefing-$(date +%Y%m%d)-${TOPIC}.md"
cat > "$BRIEFING_FILE" <<'BRIEFING'
**Date:** YYYY-MM-DD
**Author:** [agent name]
**Classification:** [For Decision | For Information | For Action]
**Audience:** [who]
[ONE sentence with conclusion and key number]
[2-4 sentences of factual context]
1. **[Finding]** — [data point]
2. **[Finding]** — [data point]
3. **[Finding]** — [data point]
[2-3 sentences connecting findings to what the audience cares about]
[1-2 sentences: direct recommendation]
| Action | Owner | Due Date |
|--------|-------|----------|
| [action] | [who] | [when] |
[Small table or 3-5 bullets backing the key findings]
BRIEFING
echo "Briefing written to: $BRIEFING_FILE"
6. Enforce Length and Quality Constraints
BRIEFING_FILE="/home/shared/briefing-$(date +%Y%m%d)-${TOPIC}.md"
echo "=== Briefing Quality Checks ==="
WC=$(wc -w < "$BRIEFING_FILE")
echo "Word count: $WC"
if [ "$WC" -gt 600 ]; then
echo "FAIL: Briefing exceeds 600 words ($WC). Cut to fit 1-2 pages."
elif [ "$WC" -lt 100 ]; then
echo "FAIL: Briefing is too thin ($WC words). Ensure all sections are substantive."
else
echo "OK: Length is appropriate for an executive briefing."
fi
echo ""
echo "--- Bottom Line section ---"
BLUF=$(sed -n '/^## Bottom Line/,/^## /p' "$BRIEFING_FILE" | grep -v '^##' | grep -v '^$')
BLUF_SENTENCES=$(echo "$BLUF" | grep -c '\.')
echo "BLUF text: $BLUF"
echo "Sentence count: $BLUF_SENTENCES"
[ "$BLUF_SENTENCES" -gt 2 ] && echo "WARNING: BLUF should be 1 sentence, not $BLUF_SENTENCES"
echo ""
echo "--- Data in findings ---"
FINDINGS=$(sed -n '/^## Key Findings/,/^## /p' "$BRIEFING_FILE")
NUM_COUNT=$(echo "$FINDINGS" | rg -c '\d+' 2>/dev/null || echo 0)
echo "Numbers in findings: $NUM_COUNT"
[ "$NUM_COUNT" -lt 3 ] && echo "WARNING: Key findings need more specific data"
echo ""
echo "--- Vague language check ---"
VAGUE=$(rg -in '\b(significant|substantial|considerable|good|bad|great|nice|improved|strong|robust|solid|various|several|many)\b' \
"$BRIEFING_FILE" 2>/dev/null)
if [ -n "$VAGUE" ]; then
echo "WARNING: Vague adjectives found — replace with numbers:"
echo "$VAGUE"
else
echo "OK: No vague adjectives detected."
fi
echo ""
echo "--- Next steps completeness ---"
STEPS=$(sed -n '/^## Next Steps/,/^## /p' "$BRIEFING_FILE" | grep '|' | grep -v '^|.*---')
echo "$STEPS"
if echo "$STEPS" | grep -q 'TBD\|TBA\|\[who\]\|\[when\]'; then
echo "WARNING: Next steps have placeholder values — fill in owners and dates"
fi
echo ""
echo "--- Classification ---"
CLASS=$(grep 'Classification:' "$BRIEFING_FILE")
echo "$CLASS"
if echo "$CLASS" | grep -q 'For Decision\|For Information\|For Action'; then
echo "OK: Classification is set."
else
echo "WARNING: Set classification to one of: For Decision | For Information | For Action"
fi
7. Register and Notify
bash /home/shared/scripts/artifact.sh register \
--name "briefing-${TOPIC}" \
--type "briefing" \
--path "$BRIEFING_FILE" \
--description "Executive briefing on ${TOPIC}"
bash /home/shared/scripts/send-mail.sh \
--to "$REQUESTING_AGENT" \
--subject "Executive briefing ready: ${TOPIC}" \
--body "Briefing available at: $BRIEFING_FILE"
Quality Checklist