$npx -y skills add RConsortium/pharma-skills --skill weekly-summaryGenerate a concise weekly progress summary for the pharma_skills repository. Use this to summarize recent commits, PRs, and issues, then post the update to Slack and save it as a markdown file.
| 1 | # Weekly Summary Skill |
| 2 | |
| 3 | This skill automates the generation of a developer-focused weekly summary for the `RConsortium/pharma_skills` repository. |
| 4 | |
| 5 | ## Configuration |
| 6 | |
| 7 | Before running, read `_automation/weekly-summary/config.json` to load: |
| 8 | - `max_words` — word limit for the summary (default 150) |
| 9 | - `slack_channel` — Slack channel ID to post to (overridden by `PHARMA_SKILLS_SLACK_CHANNEL` env var) |
| 10 | - `lookback_days` — how many days of activity to include (default 7) |
| 11 | |
| 12 | If `PHARMA_SKILLS_SLACK_CHANNEL` is set in the environment, it takes precedence over `config.json`. |
| 13 | If neither is set, **stop and report an error** — do not guess a channel ID. |
| 14 | |
| 15 | ## Steps |
| 16 | |
| 17 | 1. **Research Recent Activity** |
| 18 | - Run the following command to retrieve structured data for the configured lookback period: |
| 19 | ```bash |
| 20 | python3 _automation/weekly-summary/scripts/get_weekly_data.py |
| 21 | ``` |
| 22 | - Use the JSON output to identify the number of commits, open/closed issues, and merged/open PRs. |
| 23 | |
| 24 | 2. **Generate Summary** |
| 25 | - Write a developer-focused summary under `max_words` words (from config) in Slack mrkdwn format. |
| 26 | - Use the following structure: |
| 27 | *📊 pharma_skills — week of [DATE]* |
| 28 | • *Commits:* [count + one-line highlight] |
| 29 | • *PRs:* [merged/open count + key change or discussion] |
| 30 | • *Issues:* [opened/closed count + notable item] |
| 31 | • *TL;DR:* [1-2 sentences on overall momentum and what to watch next week] |
| 32 | - Skip any section with no activity. |
| 33 | - Be direct and terse. |
| 34 | |
| 35 | 3. **Slack Output** |
| 36 | - Read the Slack channel from the environment variable `PHARMA_SKILLS_SLACK_CHANNEL`, falling back to `slack_channel` in `config.json`. |
| 37 | - Post the summary to Slack using an available webhook or chat integration tool. |
| 38 | |
| 39 | 4. **File Output** |
| 40 | - Save the summary as a markdown file: `/sessions/[session-dir]/mnt/outputs/pharma-skills-weekly-summary-[YYYY-MM-DD].md`. |
| 41 | - Present or output the path to the saved file so the user can review it. |