agentsclimarketplace

Hoo monday report

Skill shalintripathi/organic-os/plugin/skills/hoo-monday-report

Use for a stakeholder-shareable weekly summary - "Monday report", "what happened this week", /organic-os:monday-report. Reads the brain only, invents no numbers, degrades to a shorter honest report on a sparse brain.From its SKILL.md

Install
npx -y skills add shalintripathi/organic-os --skill hoo-monday-report

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 24 days oldThe repository was created 24 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.4 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it

Monday report

Resolve the brain: use registry.get_active() when running interactively; scheduled runs receive the brain path from the routine configuration.

  1. Run core.contracts.check_schema(brain_path) first. If not compatible, relay the action string and stop before any of the steps below.

  2. Read the last 7 days only: signals/YYYY-MM-DD.md files in the window, outcomes/ records touched in the window, approvals/queue.md as it stands today, runs/ report folders created in the window, and any skillbook.md entries whose last-confirmed date falls in the window (cross-reference reflections/ for the week to see which entries were added vs. just touched).

  3. Write runs/YYYYMMDD-monday-report/REPORT.md with exactly these five sections, in this order, and no others:

    • What moved - the top 3 metric changes this week. Each line names the number and the file it came from (a signal line or an outcome record). When the week's signals carry ai_referrals lines, add one line for AI referrals - the week's total and the direction against the prior week (the AI-surface list is maintained in hoo-daily's SKILL.md); no ai_referrals lines in the window means no AI line, never an invented one. When the window's weekly run appended keyword-portfolio rows to keywords/history.tsv, add one line for the biggest mover - the keyword, position now vs the prior recorded week, labeled honestly as GSC average position, not scraped SERP rank (the rule lives in hoo-weekly's Keyword portfolio section); no new history rows in the window means no keyword line, never an invented one. When ~/.config/organic-os/cost-ledger-YYYYMM.tsv exists, close the section with one cost line - runs this week, total duration, tokens where the ledger has them; no ledger means no cost line, never an invented number.
    • What shipped - proposals that reached applied and briefs that reached published this week, each with the item id and a link to its file in the brain.
    • What needs you - every item currently proposed in approvals/queue.md, one line each: what it is and what deciding it takes (a yes/no, not "please review").
    • What we learned - skillbook entries appended or edited this week, restated in plain language, no evidence-tier jargon, each with its source item.
    • Next week - the 2-3 highest-leverage proposed or approved items still queued, ranked by the expected impact stated in their own source signal or finding.
  4. Every number and claim must trace to one specific file in the brain. Never invent a metric, a trend, or a "likely cause" the brain does not already state. If a section has nothing to report, say so in one line instead of omitting the section or padding it.

  5. Write for a reader with no SEO background: plain nouns and verbs, no unexplained acronyms, no jargon. Keep the whole report under 400 words.

  6. Sparse week (few or no signals, outcomes, or shipped items): the report gets shorter, not padded - state plainly what did not happen ("no proposals shipped this week; two are still waiting on your review").

  7. Deliver the report as a document through the configured approval channel. Document delivery is a channel capability, not a Telegram feature (ADR-0009 in the repo): each adapter declares whether it can carry a file, and a channel that cannot reports the file path instead. The markdown REPORT.md stays in runs/ as the canonical record either way - the document is a delivery format, never the source of truth. a. Render HTML next to the markdown: PYTHONPATH="$CLAUDE_PLUGIN_ROOT/lib" python3 -c snippet calling core.report_render.render_html(markdown_text, title, site_name) (title "Monday report YYYY-MM-DD", site_name from the profile) and writing runs/YYYYMMDD-monday-report/REPORT.html. b. Probe for a PDF converter with core.report_render.find_pdf_converter() (the probe list is canonical in report_render.py). If one is found, core.report_render.to_pdf(html_path, converter); a None return means fall back to the HTML file, no error. c. Compose a two-line caption from the report itself: line 1 the week ("Monday report, week of YYYY-MM-DD - <site name>"), line 2 the single strongest What-moved line plus the count of items waiting ("3 waiting on you" / "nothing waiting"). No invented numbers here either - both lines quote the report. d. Send per channel: telegram - core.telegram.send_document(token, chat_id, path, caption=...) with the PDF if produced, else the HTML. in-session - save the file where step 2 wrote it and tell the user the exact path (attach it if the session surface can). slack/email - the adapter sends the file where the connector supports attachments; where it does not, deliver the caption plus the file path. pr-merge - the report is already in the brain repo; the caption plus the file path is the message. e. A failed send never fails the run: note it in one line at the end of REPORT.md and continue.

  8. Commit "monday-report: YYYY-MM-DD" if git.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,736. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.