week-report-system
Week Report System
Material-first weekly report workflow for work conversations, documents, and recent repository activity.
What This Skill Does
- Capture work materials into a Git-backed weekly knowledge base
- Support three material types:
conversation,document,repo_activity - Generate weekly reports from structured materials, with legacy conversation logs as fallback
Hard Rules
- If the user explicitly says
纳入周报素材,记入周报,作为周报素材, or equivalent, you must execute material capture. - When generating a weekly report, you must check
{year}/week{WW}/materials/first. - If any readable
materials/*.jsonlfiles exist, the main report analysis must be based on them. - You must not generate a report only from
*.txtwhen structured materials are present. *.txtdigests are a compatibility/debug artifact, not the source of truth.- If Git sync fails after a capture attempt, you must preserve local status evidence.
- If one session crosses midnight, captured materials must be split by calendar date in file naming.
Important Boundary
This skill can do best-effort automatic capture only when the host agent actually invokes it.
- A skill description is not a system-level post-turn hook
- Do not claim guaranteed logging for every conversation
- When the user cares about completeness, explicitly ingest materials via
scripts/material_ingestor.py
Step 0: First Time — Check Environment
Always run this check first:
echo "USERNAME: ${WEEK_REPORT_GIT_USERNAME:-MISSING}"
echo "TOKEN: $([ -n \"$WEEK_REPORT_GIT_PERSONAL_TOKEN\" ] && echo 'SET' || echo 'MISSING')"
echo "REPO: ${WEEK_REPORT_GIT_REPO:-MISSING}"
- If all three are set, continue with the request
- If any is missing, read
references/setup_guide.mdand guide the user through setup
Determine User Intent
| User intent | Action |
|---|---|
| "写周报" / "生成周报" / "本周总结" / "上周周报" | Generate report → references/report_generation.md |
| "把这个纳入周报素材" / "记录这次讨论" | Must capture as material → references/material_ingestion.md |
| "总结这个 plan/experiment 文档并纳入周报" | Ingest as document material |
| "看某个 repo 最近几天提交并纳入周报" | Ingest as repo_activity material |
| "周报系统怎么用" / "怎么设置" / "skill介绍" | Show guide → references/user_guide.md |
| Any other work-related message | Answer normally, then best-effort capture a conversation material |
Material Capture Workflow
Full instructions: references/material_ingestion.md
Quick summary:
- Build a structured material event with
source_type,project,title,summary,evidence,tags,outcome,next_actions - Use
scripts/material_ingestor.pyorscripts/conversation_logger.pyto persist the event - Treat
materials/*.jsonlas the source of truth - Write
*.txtdigest only as a compatibility/debug view - Update local sync status files for observability
- Fail silently for the user, but leave local status/queue evidence for debugging
Weekly Report Generation
Read references/report_generation.md for the full process.
Quick summary:
- Pull latest data from Git
- Check
materials/*.jsonlunder{year}/week{WW}/first - If any structured materials exist, base the report on them
- Fall back to legacy
.txtlogs only if structured materials are missing or unreadable - Group by project / workstream, extract evidence and outcomes, then render the report
- Optionally save the report to
{year}/week{WW}/report-{YYYYMMDD}-{HHmmss}.md
Reference Files
| File | When to read |
|---|---|
references/setup_guide.md |
Missing env vars |
references/material_ingestion.md |
Capturing conversation, document, or repo materials |
references/conversation_tracking.md |
Best-effort conversation capture and local observability |
references/report_generation.md |
Generating reports |
references/user_guide.md |
User asks how to use the system |
Scripts
| Script | Purpose |
|---|---|
scripts/git_operations.py |
Clone / pull / push the report repo |
scripts/conversation_logger.py |
Capture conversation materials and maintain digest files |
scripts/material_ingestor.py |
Explicitly ingest conversation, document, or repo_activity materials |
Important Notes
- Best-effort auto capture is useful, but not a guarantee of complete logging
- Prefer explicit material ingestion for important plans, experiments, or repo analysis
- Skip recording only for high-confidence sensitive content such as passwords, private keys, PATs, or explicit "不要记录"
- Recording failures must not interrupt the user response, but they should leave status clues locally
- Structured material events live in
materials/*.jsonland are the primary source for report generation - One session can append to one digest file per calendar date for compatibility/debugging
More from wangyendt/wayne-skills
send-email
Send emails via SMTP with support for HTML formatting, file attachments, and email templates. Use when users ask to: (1) Send an email, (2) Email someone, (3) Send a notification, (4) Use email templates, or (5) Send files via email.
227tutor-math-geometry
|
22proactive-agent
让 AI 助手从「等待任务」变成「主动预见」的架构设计。包含 WAL 协议、Working Buffer、自动定时任务等经过实战验证的模式。
13alapi
Comprehensive ALAPI skill covering the full bundled ALAPI OpenAPI catalog. Use when the user mentions ALAPI, alapi, ALAPI_TOKEN, openapi.json, or an ALAPI path like /api/..., or asks to find which ALAPI API matches a business need, choose between similar ALAPI endpoints, explain request fields, prepare or execute a request, or troubleshoot an ALAPI response. Covers inspirational content, articles, news and hotlists, AI chat/translation/NLP, OCR and document recognition, weather and calendar data, IP/phone/ID/domain/ICP/enterprise lookup and verification, finance/exchange/gold/oil/crypto market data, music/media/video/TTS, URL/QR tools, and related utility APIs.
2