Agent skill

Reports

by garrytan in garrytan/gbrain

Save and load timestamped reports. An agent skill from garrytan/gbrain.

MITAuto-check passedResearch & Science

Install Reports

skills CLI
$ npx skills add garrytan/gbrain --skill reports -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install garrytan/gbrain reports --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/garrytan/gbrain.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/reports .claude/skills/reports && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
reports
GitHub stars
31k
Token cost
~1.6k tokens
SKILL.md length
681 words
Files
2
Skills in repo
47
Repo updated
First seen
Licence
MIT

At a glance

Save and load timestamped reports. An agent skill from garrytan/gbrain.

  • Works in 3 steps: Save report. Write to… → Load latest. Given a category, find the… → Keyword routing. Map common queries to…
  • Tasks that involve Deep research
  • SKILL.md covers Contract, Phases, Output Format and Actionability Gate, plus 2 more sections
  • Calls git; reaches x.com

What it does

Reports is an agent skill from garrytan/gbrain. Save and load timestamped reports. Keyword routing for fast lookup. Cron jobs save output as reports; the agent or user queries them by keyword. Includes the Actionability Gate: delivery-time link checks (Broken/Dead/Indirect/ Missing) for briefings, meeting digests, and research reports.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file.

It sits in Research & Science, covering Deep research. It works with X (Twitter). The repository describes itself as: Garry's Opinionated OpenClaw/Hermes Agent Brain. The licence is MIT.

When your agent uses it

  • Tasks that involve Deep research

Example prompts

  • “/reports”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Save report. Write to reports/{category}/{YYYY-MM-DD-HHMM}.md with frontmatter
  2. Load latest. Given a category, find the most recent report file.
  3. Keyword routing. Map common queries to report categories

What it can do on your machine

Read from SKILL.md and the folder at commit 7aa2caa. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • x.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Reports loads about 1.6k tokens when it runs. Until then it costs about 74 tokens; SKILL.md has 681 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~74
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from garrytan/gbrain at commit 7aa2caa, republished under its MIT licence (© garrytan). 681 words, ~1,630 tokens.

Download SKILL.mdSave it as .claude/skills/reports/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
reports
description
Save and load timestamped reports. Keyword routing for fast lookup. Cron jobs save output as reports; the agent or user queries them by keyword. Includes the Actionability Gate: delivery-time link checks (Broken/Dead/Indirect/ Missing) for briefings, meeting digests, and research reports.
version
1.1.0
triggers
save report, load latest report, what's the latest briefing, show me the pulse, report quality, link quality check, validate report links
tools
get_page, put_page, search
mutating
true
upstream
report-quality-gate@fc834ee

Reports Skill

Contract

This skill guarantees:

  • Reports saved with timestamped filenames and frontmatter
  • Keyword routing: query → report category mapping
  • Latest report loadable by category name
  • Reports are searchable via gbrain search/query
  • Outbound reports pass the Actionability Gate (below) before delivery

Phases

  1. Save report. Write to reports/{category}/{YYYY-MM-DD-HHMM}.md with frontmatter:
    yaml
    ---
    title: {report title}
    type: note            # a type the default pack declares; `report` is undeclared
    report_type: {category name}
    category: {category name}
    date: {YYYY-MM-DD}
    time: {HH:MM PT}
    ---
  2. Load latest. Given a category, find the most recent report file.
  3. Keyword routing. Map common queries to report categories:
    • "email" / "inbox" → ea-inbox-sweep
    • "social" / "mentions" → social-mentions
    • "briefing" / "morning" → morning-briefing
    • "meeting" → meeting-sync
    • Custom mappings configurable

Output Format

Saved: reports/{category}/{YYYY-MM-DD-HHMM}.md Loaded: full report content with metadata.

Actionability Gate

Before any report reaches the user — a morning briefing, a meeting digest, a research report — every link must answer one question: can the user click this and immediately act? The link canon (deterministic, never-guessed URLs) lives in skills/_output-rules.md under Deterministic Links; this gate adds the delivery-time failure taxonomy and the retry loop.

Four failure modes
ModeWhat it meansExample
BrokenLink is fake or a placeholderhttps://example.com, TODO-find-link
DeadLink to a brain page that isn't committed/pushedPage written but not pushed — the link 404s
IndirectLink goes somewhere, but not the right placex.com/alice-example (profile) instead of x.com/alice-example/status/<id> (the specific post)
MissingActionable item mentioned with no link at all"the clip making the rounds (~800K views)" with no URL

Broken, Dead, and Indirect block delivery. Missing is a warning — flag it, don't block. A missing link is honest. An indirect link is a broken promise.

Blocked vs warning
PatternStatusWhy it fails
x.com/<handle>BlockedProfile ≠ post. Link to x.com/<handle>/status/<id>
Bare publication domainBlockedHomepage ≠ article. Add the article path
youtube.com/@channelBlockedChannel ≠ video. Link to youtube.com/watch?v=...
Brain-page link, file uncommittedBlockedLink 404s until committed + pushed
example.com / TODO placeholderBlockedNot a real link
google.com/search?q=...WarningSearch ≠ source. Link to the actual result
Actionable bullet with no URLWarningWhere? Link it or describe how to find it
Show full SKILL.md (363 more words)Show less
The retry loop (agent-run checks)

There is no enforcement script. The agent runs these checks itself before delivering any report with links:

  1. Compose the report.
  2. Scan every link against the failure modes above:
    • Brain-page links: run git status in the brain repo — an uncommitted page behind a link is a Dead link; commit + push first. gbrain get <slug> confirms the page exists at all.
    • External links: a profile, homepage, or channel URL standing in for specific content is Indirect.
  3. If a check fails, fix the link:
    • Have the direct URL (post ID, article path, filing page)? Use it.
    • Don't have it? Search the source for the specific item.
    • Can't find it? Remove the link and describe the content instead: "clip on @alice-example's timeline, ~800K views — search there." Never leave a profile link as a substitute for a content link.
  4. Re-check.
  5. Max 2 retries → deliver with an explicit warning flag if Missing-class warnings remain. Broken, Dead, and Indirect links never ship.
LLM-prompt gate snippet

Paste into any report-generating prompt (subagent digests, research summaries, cron report jobs):

ACTIONABILITY GATE: Before finishing, verify every link answers "can the user
click this and act immediately?"
- Every X link → https://x.com/{user}/status/{post_id} — NEVER a profile link
- Every article → full URL with path — NEVER a bare domain
- Every brain-page link → committed + pushed, or don't link it
- If you don't have the direct URL → describe the content WITHOUT a link
- A missing link is better than an indirect link
Consumers

Report surfaces route through this gate by harness-routing convention (a routing rule the resolver applies, not a mechanical guarantee): morning briefings (skills/briefing/SKILL.md), meeting digests, research reports, and any saved report that carries external links.

When it fails

Follow the agent operator protocol for any gbrain error code, exit code, [AGENT] block or notice block. Specific to this skill:

  • A report link fails the delivery scan (broken, dead, indirect): fix it before delivery; a missing link is a warning, not a blocker.
  • Saving the report returns write_pending (exit 10): the link 404s until the write commits; poll gbrain write-request <request_id> before sharing it.
  • A report lookup (gbrain search) is empty with a degraded notice: say the search was keyword-only rather than "no prior report".

Anti-Patterns

  • Saving reports without frontmatter (makes them unsearchable)
  • Using inconsistent category names across runs
  • Loading all reports when only the latest is needed
  • Not routing by keyword (forcing exact category name)
  • Delivering a report with a profile/homepage/channel link standing in for specific content (Indirect links block delivery)
  • Linking a brain page that hasn't been committed and pushed (Dead link)

© garrytan, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/reports of garrytan/gbrain.

  • SKILL.md
  • routing-eval.jsonl

Open the folder on GitHubat commit 7aa2caa

Compare with similar skills

Reports next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Reports compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Reports this skillgarrytan/gbrain31k—~1.6kAutomated safety check: PassMIT
X Researchrohunvora/x-research-skill1.2k1 repos~1.6kAutomated safety check: PassNone
X Collectaiskillstore/marketplace4301 repos~817Automated safety check: PassNone
Agent ReachPanniantong/Agent-Reach93k1 repos~1.4kAutomated safety check: PassMIT
Deepapidavidondrej/skills4.1k—~2.5kAutomated safety check: PassMIT
GitHub Deep Researchbytedance/deer-flow83k5 repos~1.3kAutomated safety check: PassMIT

Similar skills

  • X Research

    rohunvora/x-research-skill

    General-purpose X/Twitter research agent. An agent skill from rohunvora/x-research-skill.

    1.2k GitHub starsUsed in 1 repo~1.6k tokens
    Research & ScienceAuto-check passed
  • X Collect

    aiskillstore/marketplace

    Collect and research materials for X (Twitter) content creation using multi-round web search strategy.

    430 GitHub starsUsed in 1 repo~817 tokens
    Research & ScienceAuto-check passed
  • Agent Reach

    Panniantong/Agent-Reach

    Routes web research and platform lookups across 16 sites, including Twitter, Reddit, YouTube, Bilibili, Xiaohongshu and GitHub, through one command-line tool.

    93k GitHub starsUsed in 1 repo~1.4k tokens
    Productivity & AutomationAuto-check passed
  • Deepapi

    davidondrej/skills

    Use DeepAPI for all web search, deep research, and web scraping (websites, LinkedIn, GitHub, X/Twitter, YouTube, Instagram) instead of built-in search, research, fetch, or browser tools.

    4.1k GitHub stars~2.5k tokensUpdated today
    Data & AnalyticsAuto-check passed
  • GitHub Deep Research

    bytedance/deer-flow

    Researches a GitHub repository over four rounds using the GitHub API and web search, then writes a structured markdown report with timeline, metrics and Mermaid diagrams.

    83k GitHub starsUsed in 5 repos~1.3k tokens
    Research & ScienceAuto-check passed
  • Deep Research Workflow

    TokenRhythm/opensquilla

    Runs multi-round research in three stages with a persisted state file, evidence tracking and a long-form report with per-claim citations.

    7.1k GitHub stars~1.3k tokensUpdated 3 days ago
    Research & ScienceAuto-check passed

More from garrytan/gbrain

All 47 skills in this repo
  • Traces a factual error the user points out back to its source (a brain page, a memory file, SOUL.md or USER.md, or a hallucination) and fixes that source instead of just noting the correction.

    31k GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Searches and writes a company-wide knowledge brain through the gbrain CLI, so durable decisions and facts about people, projects and history stay findable beyond one session.

    31k GitHub stars~875 tokensUpdated today
    Auto-check passed
  • Idea Ingest

    garrytan/gbrain

    Ingest links, articles, tweets, and ideas into the brain. An agent skill from garrytan/gbrain.

    31k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Sends what your notes already know about a topic to Perplexity, so the cited web search reports only what is new, such as entity updates or deal changes.

    31k GitHub stars~2k tokensUpdated today
    Auto-check: notes
  • Schema Unify

    garrytan/gbrain

    Migrate a brain from gbrain-base (or any pack) to gbrain-base-v2's 14-canonical-type taxonomy via gbrain onboard --check + the unify-types Minion handler.

    31k GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Skillpack Check

    garrytan/gbrain

    Run gbrain skillpack-check to produce an agent-readable JSON health report for the gbrain install.

    31k GitHub stars~1.4k tokensUpdated today
    Auto-check passed

Works with

Questions about Reports

What does Reports do?

Save and load timestamped reports. An agent skill from garrytan/gbrain. Reports is an agent skill from garrytan/gbrain. Save and load timestamped reports.

When should I use Reports?

Reports fits situations like: tasks that involve Deep research.

How do I install Reports in Claude Code?

Run `npx skills add garrytan/gbrain --skill reports -a claude-code`. Or copy the skill folder (skills/reports in garrytan/gbrain) into .claude/skills/reports in your project. Claude Code loads it when a task matches its description.

How do I install Reports in Codex?

Run `npx skills add garrytan/gbrain --skill reports -a codex`. Or copy the skill folder (skills/reports in garrytan/gbrain) into .agents/skills/reports in your project. Codex loads it when a task matches its description.

Can I use Reports in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add garrytan/gbrain --skill reports -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/reports, .gemini/skills/reports, .github/skills/reports and .opencode/skills/reports in your project.

What does Reports need to run?

Going by SKILL.md and its folder, Reports needs the command-line tools its instructions call (git).

Does Reports access the network?

SKILL.md names 1 domain. In commands or code: x.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Reports safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Reports use?

Reports is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Reports use?

About 1.6k tokens (SKILL.md is roughly 6.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Reports?

Skills that share tags, products or a category with Reports: X Research (rohunvora/x-research-skill, 1.2k stars), X Collect (aiskillstore/marketplace, 430 stars), Agent Reach (Panniantong/Agent-Reach, 93k stars) and Deepapi (davidondrej/skills, 4.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Reports?

garrytan (a GitHub user) maintains it in garrytan/gbrain, which has 30,666 GitHub stars. The repository holds 47 skills in this directory. The repository was last updated on October 8, 2026.

Source: garrytan/gbrain on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.