auto-workflow
${var} — selects the mode:
- Analyze (default): a URL to analyze (GitHub repo, X account, blog, project site, API docs, etc.). Multiple URLs comma-separated. Prefix a URL with
force:to re-analyze one already in the ledger. Produces a tiered recommendation article + anaeon.ymldiff — it does not mutateaeon.yml.- Enable:
enable:slug1,slug2,…— flip those skills'enabled: false → trueinaeon.yml, validate each againstskills/, then commit + open a PR.enable:dry-run:slug1,slug2validates and reports without editing, committing, or opening a PR.Example values:
https://example.com/blog·@vitalikbuterin, github.com/foundry-rs/foundry·force:https://mirror.xyz/somedao·enable:rss-digest,github-monitor·enable:dry-run:price-alert
Overview
One skill, two ends of the same loop: analyze decides what to enable for a new watch target; enable actually flips the switch. Dispatch enable: with the slugs the analyze run put in its MUST tier and you close the loop — recommendation to merged PR — without a second skill.
Analyze mode verifies every recommendation is backed by an observed signal on the URL, tiers output into MUST (2–3 max) / SHOULD / NICE with a one-line concrete "why", emits a delta against the current aeon.yml rather than a full config dump, stays silent when existing config already covers the URL, and anchors skill names in skills.json (authoritative), not a stale mapping table. It writes an article + updates a ledger; it never edits aeon.yml.
Enable mode does the mechanical part analyze deliberately leaves to the operator: a slug-scoped enabled: false → true substitution in aeon.yml, gated by directory presence / current-disabled-state / chain-conflict checks, committed on a fresh branch and shipped as a PR with per-skill rationale. Explicit opt-in only — the operator names the slugs; nothing flips on main until they click merge.