Agent skill

Eunomia Content Patrol

by eunomia-bpf in eunomia-bpf/eunomia.dev

Orchestrate the scheduled or manual eunomia.dev content operation.

MITAuto-check: notesResearch & Science

Install Eunomia Content Patrol

skills CLI
$ npx skills add eunomia-bpf/eunomia.dev --skill eunomia-content-patrol -a claude-code

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

GitHub CLI
$ gh skill install eunomia-bpf/eunomia.dev eunomia-content-patrol --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/eunomia-bpf/eunomia.dev.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/eunomia-content-patrol .claude/skills/eunomia-content-patrol && 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
eunomia-content-patrol
GitHub stars
236
Token cost
~2.4k tokens
SKILL.md length
1,276 words
Files
2
Skills in repo
18
Repo updated
First seen
Licence
MIT

At a glance

Orchestrate the scheduled or manual eunomia.dev content operation.

  • Works in 6 steps: Read the rolling queue, prepared… → Invoke eunomia-social-radar to refresh… → Collect the child results and identify… → …
  • An agent needs to read the rolling publication queue
  • SKILL.md covers Required Context, Role Boundary, Routing Map and Daily Orchestration, plus 4 more sections
  • Calls curl

What it does

Eunomia Content Patrol is an agent skill from eunomia-bpf/eunomia.dev. Orchestrate the scheduled or manual eunomia.dev content operation. Use when an agent needs to read the rolling publication queue, invoke eunomia-social-radar for public performance and conversations, route explicitly authorized platform actions to publisher skills, and confirm end-to-end completion. This skill coordinates monitoring and publishing but does not own Daily Report, research-report, or Weekly Analysis workflows.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Research & Science, covering Deep research. It works with GitHub. The repository describes itself as: https://github.com/eunomia-bpf homepage, documents and blogs. The licence is MIT.

When your agent uses it

  • An agent needs to read the rolling publication queue
  • Invoke eunomia-social-radar for public performance and conversations
  • Route explicitly authorized platform actions to publisher skills
  • Confirm end-to-end completion

Example prompts

  • “/eunomia-content-patrol”

Workflow steps

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

  1. Read the rolling queue, prepared artifacts, platform ledgers, and the
  2. Invoke eunomia-social-radar to refresh the observable results and active
  3. Collect the child results and identify the publication actions authorized
  4. Invoke the matching publisher skill for each authorized action. Let that
  5. Confirm the observable result returned by each child skill. Update the
  6. Confirm that eunomia-social-radar appended today's compact checkpoint to

What it can do on your machine

Read from SKILL.md and the folder at commit 4cc0b4f. 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:

    • curl

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

  • Network

    No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.

    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

Eunomia Content Patrol loads about 2.4k tokens when it runs. Until then it costs about 113 tokens; SKILL.md has 1,276 words of instructions outside code blocks.

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

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteRuns commands with sudoSKILL.md:153
    `sudo chown -R gem:gem ~/.config/chromium` and
  • NoteRuns commands with sudoSKILL.md:154
    `sudo find ~/.config/browser -user root -exec chown gem:gem {} +`.

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 eunomia-bpf/eunomia.dev at commit 4cc0b4f, republished under its MIT licence (© eunomia-bpf). 1,276 words, ~2,447 tokens.

Download SKILL.mdSave it as .claude/skills/eunomia-content-patrol/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
eunomia-content-patrol
description
Orchestrate the scheduled or manual eunomia.dev content operation. Use when an agent needs to read the rolling publication queue, invoke eunomia-social-radar for public performance and conversations, route explicitly authorized platform actions to publisher skills, and confirm end-to-end completion. This skill coordinates monitoring and publishing but does not own Daily Report, research-report, or Weekly Analysis workflows.

Eunomia Content Patrol

Run the content operation as a thin orchestrator. Delegate substantive work to the owning skill, then confirm the public result without creating filler.

Required Context

Read these before routing work:

  • CLAUDE.md
  • .agents/README.md
  • draft/plan/README.zh.md
  • draft/plan/publishing-queue.zh.md
  • today's draft/media/YYYY-MM-DD/ workspace and recent run log, when present
  • .github/publisher/media/README.md
  • .github/publisher/media/community-feedback.md
  • .github/publisher/media/published.md
  • .github/publisher/media/not-published.md
  • relevant .github/publisher/media/platforms/*.json

Role Boundary

This skill:

  • reads operational state;
  • finds the first eligible authorized task;
  • invokes the correct child skill;
  • checks that preparation, publication, and public-page verification completed;
  • updates the queue, ledger, and compact run record when useful.

It does not:

  • search news or choose a thesis;
  • write a Blog article, platform post, or reply;
  • pretend a draft or open PR is a completed publication;
  • perform a child publisher's platform work directly.

Daily Report, Weekly Analysis, and research-report production belong to a separate workflow. Do not invoke, schedule, draft, or publish them from this patrol.

Routing Map

  • Invoke eunomia-social-radar for public performance, citations, comments, discussions, and response opportunities.
  • Invoke blog-writer and blog-writing-style for project articles, tutorials, releases, engineering explanations, and explicitly human-editorial Blog work.
  • Invoke the matching platform publisher for authorized LinkedIn, Xiaohongshu, Zhihu, Juejin, X, Reddit, Medium, DEV, Hacker News, or Lobsters actions.
  • Invoke content-launch-planner only when a new multi-platform launch needs a plan not already represented in the queue.

Do not duplicate a child skill's workflow inside this orchestrator.

Daily Orchestration

  1. Read the rolling queue, prepared artifacts, platform ledgers, and the previous run's next action. A global pause overrides every item it covers. Scan from the top for the first eligible unfinished task explicitly marked 排队; bypass 待确认 and 阻塞 items without letting them stall unrelated platforms, while 跳过 records a permanently rejected item.
  2. Invoke eunomia-social-radar to refresh the observable results and active conversations around published content.
  3. Collect the child results and identify the publication actions authorized for the current window. The normal target is one publication per local calendar day. If recent days with eligible queue work ended without a confirmed publication because of an operational blocker, carry one catch-up slot per missed day. Use those slots on the next eligible tasks, never more than one publication per platform in the same day. Intentional pauses and days with no eligible task do not create catch-up slots.
  4. Invoke the matching publisher skill for each authorized action. Let that skill own copy adaptation, its documented API or visible-browser submission path, preview, final public-page QA, the action itself, and platform-ledger updates. If one action reaches a real platform blocker, mark it 阻塞 with the exact recovery condition and continue to the next eligible task; do not consume a publication or catch-up slot until a public result is confirmed.
  5. Confirm the observable result returned by each child skill. Update the rolling queue and platform ledger first. If a separate run record is useful, write completed actions, real URLs, artifact paths, blockers, and next actions to draft/media/YYYY-MM-DD/run-log.md.
  6. Confirm that eunomia-social-radar appended today's compact checkpoint to .github/publisher/media/community-feedback.md. Do not copy that checkpoint into the run log.

The platforms/*.json files are the canonical record; published.md and not-published.md are readable snapshots that drift if a run edits only the JSON. When a run changes a confirmed publication, update the matching snapshot in the same commit: add the new row to published.md, remove or update the not-published.md row, and refresh both Last checked: dates. Treat a snapshot row that contradicts the live public page as a defect to reconcile (the 2026-09-23 run found published.md lagging the JSON by 25 confirmed Juejin entries and still marking Agent Sandbox Needs repair after its duplicate body had been repaired and confirmed). Keep each snapshot's existing line endings: published.md uses LF while not-published.md uses CRLF.

check_media_ledger.py now enforces this: beyond source coverage it fails with exit 2 when any confirmed ledger entry's url or evidence_url is absent from published.md, so run it after any ledger change instead of eyeballing the two files. The same 2026-09-23 run found the drift class was not Juejin-specific: Zhihu was short 40 confirmed rows and LinkedIn was short every entry whose only evidence was a search URL, while the checker still exited 0.

It also fails when a summary date lags the ledgers: sources.json last_checked and the snapshot's Last checked: line must each be at least as recent as the newest per-platform last_checked. The same 2026-09-23 run found both stale — the checker had been printing a 2026-08-02 headline date that was seven weeks behind the platforms/*.json files it summarizes — so refresh those two summary dates whenever the run touches the ledger.

Do not create a standalone orchestration report.

Show full SKILL.md (517 more words)Show less

Scheduled Execution Authority

CLAUDE.md's Precedence Rule and Publishing section apply; this section only adds patrol-specific scope. A queue item marked 排队 within today's normal or catch-up slots is standing authorization for that action end to end (preparation, preview, publication, public-page QA, ledger updates) — resolve routine details from the queue, artifacts, ledgers, publisher conventions, and visible account state instead of re-confirming. No other queue status grants that authority, and manual patrol runs do not inherit it unless the user explicitly asks to execute the tasks. Mark a task blocked only after practical recovery paths have been attempted and a real external condition remains; record the attempted action and the exact condition.

Medium and DEV publishers use their documented APIs by default; all other platform actions use normal visible-browser workflows. Never use hidden platform APIs, background endpoints, or scraping datasets.

Visible Browser Recovery

Before routing any browser-based platform action, confirm the persistent visible Chrome answers on CDP 9222. Every browser publisher depends on it, so a dead browser blocks the whole run, not one platform.

  • Probe with curl -s --max-time 12 http://127.0.0.1:9222/json/version.
  • Check the supervisor log /var/log/gem/browser-supervisor.log. Repeated Chromium exited before CDP became ready: rc=-5 means Chrome is crash-looping, not merely restarting; a healthy restart logs Chromium ready on 127.0.0.1:9222, pid=....
  • rc=-5 is SIGTRAP from crashpad aborting when it cannot create $HOME/.config/chromium/Crash Reports/new. That directory being owned by root in the user's own $HOME causes the abort, and the profile directory can carry the same root ownership. Confirm with stat -c '%A %U:%G %n' ~/.config/chromium and find ~/.config/browser -user root | head.
  • Repair ownership only; never delete or recreate the profile, which holds the mounted login state: sudo chown -R gem:gem ~/.config/chromium and sudo find ~/.config/browser -user root -exec chown gem:gem {} +. Then wait for the supervisor to relaunch and re-probe 9222.
  • Verify the fix from the user's own HOME before concluding, because a clean HOME can mask the fault: launching with HOME=/tmp/... succeeds while HOME=/home/gem still fails.
  • After recovery, confirm the platform is still signed in before acting. Sessions survive the repair because only ownership changed.

No-Filler Rule

Do not manufacture a visible artifact to satisfy the scheduler. Match the outcome to the task: a publishing task requires a published item, while a monitoring task may produce an observation or response candidate. A draft or prepared artifact does not substitute for a scheduled publication. A run log is an audit record, not the substantive output, and should not be created only to satisfy cadence. Do not create per-article figure inventories, platform-hook notes, publish-QA notes, or other disposable workflow evidence. Keep necessary checks in working context and put only final platform artifacts, durable skill lessons, or real exceptions in the repository.

Run Summary

When a separate summary is useful, record one compact entry in draft/media/YYYY-MM-DD/run-log.md containing:

  • date and run mode
  • child skills invoked
  • published, reposted, or replied URLs
  • prepared artifact paths
  • social-performance or conversation findings worth acting on
  • blocked actions and their exact missing condition
  • next concrete action

Do not copy full child reports, browsing transcripts, or raw metric inventories into the run log. Do not create a monthly daily-log file.

© eunomia-bpf, 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 .agents/skills/eunomia-content-patrol of eunomia-bpf/eunomia.dev.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit 4cc0b4f

Compare with similar skills

Eunomia Content Patrol 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.

Eunomia Content Patrol compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Eunomia Content Patrol this skilleunomia-bpf/eunomia.dev236—~2.4kAutomated safety check: NotesMIT
GitHub Deep Researchbytedance/deer-flow84k4 repos~1.3kAutomated safety check: PassMIT
Rival Search MCPdamionrashford/RivalSearchMCP132—~796Automated safety check: PassMIT
Inno Code SurveyLigphiDonk/Oh-my--paper739—~3.6kAutomated safety check: PassMIT
Researcherunderstudy-ai/understudy462—~1.2kAutomated safety check: PassMIT
Deep ResearchCitrus-bit/Anaxa120—~1.9kAutomated safety check: PassMIT

Similar skills

  • 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.

    84k GitHub starsUsed in 4 repos~1.3k tokens
    Research & ScienceAuto-check passed
  • Rival Search MCP

    damionrashford/RivalSearchMCP

    Deterministic deep research via RivalSearchMCP. An agent skill from damionrashford/RivalSearchMCP.

    132 GitHub stars~796 tokensUpdated yesterday
    Research & ScienceAuto-check passed
  • Inno Code Survey

    LigphiDonk/Oh-my--paper

    Finds and clones missing code repositories for a chosen research idea, then writes a survey that maps academic concepts to their implementations.

    739 GitHub stars~3.6k tokensUpdated 5 mo ago
    Research & ScienceAuto-check passed
  • Researcher

    understudy-ai/understudy

    Research current topics with multiple sources and produce a structured brief, comparison, recommendation, or fact-check.

    462 GitHub stars~1.2k tokensUpdated 3 mo ago
    Research & ScienceAuto-check passed
  • Deep Research

    Citrus-bit/Anaxa

    A skill your agent uses for general web research that needs current online information, multiple source angles, and synthesis, when no more specific research skill applies.

    120 GitHub stars~1.9k tokensUpdated 1 mo ago
    Research & ScienceAuto-check passed
  • GitHub Research

    lingzhi227/agent-research-skills

    Explore and analyze GitHub repositories related to a research topic.

    390 GitHub stars~4.1k tokensUpdated 7 mo ago
    Research & ScienceAuto-check passed

More from eunomia-bpf/eunomia.dev

All 18 skills in this repo
  • Eunomia Community Radar

    eunomia-bpf/eunomia.dev

    Monitor approved eBPF, Linux, observability, and AI-infrastructure communities through watchlist-opted-in read-only Slack archives plus ordinary visible browser UI, turn the strongest daily…

    236 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Eunomia Research Report

    eunomia-bpf/eunomia.dev

    Research, write, validate, and publish source-grounded Eunomia Daily Reports for technical readers.

    236 GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Juejin Publisher

    eunomia-bpf/eunomia.dev

    Prepare or publish eunomia.dev Markdown articles on Juejin. An agent skill from eunomia-bpf/eunomia.dev.

    236 GitHub stars~4.8k tokensUpdated today
    Auto-check passed
  • Content Launch Planner

    eunomia-bpf/eunomia.dev

    Plan contribution-first cross-platform launches for eunomia.dev content, GitHub projects, papers, tutorials, demos, and public updates.

    236 GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Devto Publisher

    eunomia-bpf/eunomia.dev

    Prepare or publish eunomia.dev Markdown articles on DEV Community through faithful long-form syndication.

    236 GitHub stars~1.7k tokensUpdated today
    Auto-check: notes
  • Eunomia Social Radar

    eunomia-bpf/eunomia.dev

    Monitor the continuing public performance and conversation around Eunomia blogs, reports, projects, and platform posts.

    236 GitHub stars~1.6k tokensUpdated today
    Auto-check passed

Works with

Questions about Eunomia Content Patrol

What does Eunomia Content Patrol do?

Orchestrate the scheduled or manual eunomia.dev content operation. dev.dev content operation.

When should I use Eunomia Content Patrol?

Eunomia Content Patrol fits situations like: an agent needs to read the rolling publication queue; invoke eunomia-social-radar for public performance and conversations; route explicitly authorized platform actions to publisher skills; confirm end-to-end completion.

How do I install Eunomia Content Patrol in Claude Code?

Run `npx skills add eunomia-bpf/eunomia.dev --skill eunomia-content-patrol -a claude-code`. Or copy the skill folder (.agents/skills/eunomia-content-patrol in eunomia-bpf/eunomia.dev) into .claude/skills/eunomia-content-patrol in your project. Claude Code loads it when a task matches its description.

How do I install Eunomia Content Patrol in Codex?

Run `npx skills add eunomia-bpf/eunomia.dev --skill eunomia-content-patrol -a codex`. Or copy the skill folder (.agents/skills/eunomia-content-patrol in eunomia-bpf/eunomia.dev) into .agents/skills/eunomia-content-patrol in your project. Codex loads it when a task matches its description.

Can I use Eunomia Content Patrol 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 eunomia-bpf/eunomia.dev --skill eunomia-content-patrol -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/eunomia-content-patrol, .gemini/skills/eunomia-content-patrol, .github/skills/eunomia-content-patrol and .opencode/skills/eunomia-content-patrol in your project.

What does Eunomia Content Patrol need to run?

Going by SKILL.md and its folder, Eunomia Content Patrol needs the command-line tools its instructions call (curl).

Does Eunomia Content Patrol access the network?

SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Eunomia Content Patrol safe to install?

Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Eunomia Content Patrol use?

Eunomia Content Patrol 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 Eunomia Content Patrol use?

About 2.4k tokens (SKILL.md is roughly 9.8k 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 Eunomia Content Patrol?

Skills that share tags, products or a category with Eunomia Content Patrol: GitHub Deep Research (bytedance/deer-flow, 84k stars), Rival Search MCP (damionrashford/RivalSearchMCP, 132 stars), Inno Code Survey (LigphiDonk/Oh-my--paper, 739 stars) and Researcher (understudy-ai/understudy, 462 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Eunomia Content Patrol?

eunomia-bpf (a GitHub organization) maintains it in eunomia-bpf/eunomia.dev, which has 236 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on October 10, 2026.

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