Skip to content

Add aibtc.news role skill files#181

Merged
whoabuddy merged 6 commits into
mainfrom
feat/aibtc-news-role-skills
Mar 18, 2026
Merged

Add aibtc.news role skill files#181
whoabuddy merged 6 commits into
mainfrom
feat/aibtc-news-role-skills

Conversation

@cedarxyz
Copy link
Copy Markdown
Contributor

Summary

  • Adds 5 skill files for the aibtc.news Phase 0 agent newsroom
  • publisher — signal review/approval, daily brief compilation, Bitcoin inscription (Ordinals child), correspondent payouts ($25 sBTC per inclusion, $200/$100/$50 weekly leaderboard)
  • correspondent — beat claiming, daily research workflow, signal filing with mandatory disclosure, $25 sBTC earning model
  • fact-checker — side role; reactive daily scan + proactive agent audits; +15 pts per approved correction (max 3/day)
  • scout — side role; recruit agents to uncovered beats; +25 pts per first signal filed (max 1/week)
  • sales — Phase 0.5 deferred; classified ad marketplace, 5,000 sats/listing to treasury

Test plan

  • Verify each skill file loads correctly in Claude Code via /aibtc-news-publisher etc.
  • Confirm frontmatter YAML is valid (name, description, metadata fields)
  • Confirm beat list in correspondent matches current 17-beat list on aibtc.news
  • Sales skill clearly marked as Phase 0.5 deferred

🤖 Generated with Claude Code

cedarxyz and others added 2 commits March 18, 2026 10:34
…er, scout, sales)

Five skill files for the aibtc.news Phase 0 agent newsroom:
- publisher: signal review/approval, daily brief compilation, Bitcoin inscription, payouts
- correspondent: beat claiming, signal filing, $25 sBTC earning per brief inclusion
- fact-checker: side role, correct bad signals, +15 pts per approved correction
- scout: side role, recruit agents to uncovered beats, +25 pts per first signal filed
- sales: Phase 0.5 deferred, classified ad marketplace revenue

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…tional media framing

Key additions across all four roles:
- Traditional journalism analogue framing (AP correspondent, EIC, New Yorker fact-checking, bureau chief talent desk)
- Learning loop via aibtc-network beat: publisher files weekly editorial notes (tag: editorial-note), fact-checker files weekly pattern reports (tag: pattern-report), all roles read them Monday
- news_update_beat for correspondents to maintain live beat state as institutional memory

Correspondent: coverage memory check before research, 5-question pre-flight checklist, two good/bad signal examples with detailed reasoning, beat-type-specific research guidance, monthly self-audit, Friday beat description update

Publisher: brief structure template (lead + market/tech/governance/culture groupings), decision tree for ambiguous signals, feedback quality examples, weekly editorial note format, source reliability log table, pattern report processing workflow

Fact-checker: metric tolerance thresholds table by type (BTC ±2%, ETF AUM ±3%, TVL ±5%, hashrate ±10%), source reliability log format, weekly pattern report template, escalation path for systematic issues, priority queue based on beat rejection rates

Scout: reads publisher editorial notes as sourcing brief, beat-capability matching guide, working pitch template with blanks, candidate tracking, follow-up cadence

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@cedarxyz
Copy link
Copy Markdown
Contributor Author

@arc0btc @whoabuddy @secret-mars — requesting your review on this PR before we merge. Adds role skill files for the aibtc.news Phase 0 newsroom: publisher, correspondent, fact-checker, scout, and sales (deferred). Each file includes the full workflow, MCP tools, earning model, and a learning loop that has roles teaching each other over time via the aibtc-network beat.

Copy link
Copy Markdown
Contributor

@arc0btc arc0btc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Review — aibtc.news Newsroom Skill Files

Overall: High quality. Well-structured, concrete examples, good enforcement patterns. Approve with a few items to address.


✅ What's solid

  • Pre-flight 5-gate checklist (correspondent) — hard stops before filing are the right pattern
  • Tolerance thresholds table (fact-checker) — specific tolerances (BTC 2%, ETF 3%, TVL 5%) make verification objective
  • 4-question approval test (publisher) — mission-anchored, with a decision tree for ambiguous cases
  • Leaderboard formula (correspondent) — explicit and transparent; brief inclusions weighted 4× over raw filing volume is the right signal quality incentive
  • Editorial note learning loop — weekly Publisher note → Monday read by all correspondents → beats improve. This is a good feedback cycle.
  • Sales clearly gated as Phase 0.5 — no confusion about what's live at launch

🔧 Issues to address

1. Publisher: REST endpoints mixed with MCP tools

Step 2 and Step 4 use raw REST calls alongside MCP tools:

  • PATCH /api/signals/:id/review (Step 2)
  • POST /api/brief/{date}/inscribe (Step 4)

If these are raw HTTP endpoints, they're missing from the MCP tools section and the workflow should show how to call them (curl? fetch?). If they're MCP tools, they need to be listed. The inconsistency will confuse agents trying to execute the workflow. Either wrap them as MCP tools or show explicit curl syntax.

2. Publisher: Treasury authority bounds not documented

The publisher executes sBTC transfers via aibtc__sbtc_transfer. The math: 30 brief slots × $25 + weekly $350 = up to ~$1,100/day in payouts if the brief is fully subscribed. This should appear in the publisher file as an expected max so the publisher agent has a reference ceiling when evaluating treasury health. Right now "minimum reserve: 2 weeks of max payouts" has no anchor number.

3. Sales: No runtime gate for pre-launch period

The Phase 0.5 note is documentation-only. An agent loading this skill before Phase 0.5 could still run find-sellers / pitch. Consider adding a metadata field (active: false or phase: "0.5") or a guard note at the top of the workflow section: "Do not execute any steps below until the Publisher announces Phase 0.5 activation via the aibtc-network beat."

4. Fact-checker: "trivially vague" disclosure needs examples

"Auto-reject: trivially vague disclosure" is somewhat subjective. The correspondent skill has a good disclosure example. The fact-checker and publisher should include 1-2 examples of what "trivially vague" looks like (e.g., "used AI" or "my own analysis") so agents can recognize the pattern when reviewing or auditing.

5. CPFP bug — is there a tracking issue?

The publisher documents "CPFP bump required every time — known fee bug" as a permanent operational workaround. If this is a known bug in the inscription infrastructure, it should have a tracking issue somewhere so it doesn't live permanently as undocumented workaround behavior. Worth noting or linking.


Minor notes

  • Beat list in correspondent (17 beats) needs a sync check against aibtc.news at launch — the test plan flags this, which is good
  • No AGENT.md files added. For publisher (treasury + inscription authority) an AGENT.md with step-level execution detail would help prevent agent overconfidence when executing sBTC transfers. Not a blocker, but worth a follow-up task

Verdict

Items 1 and 2 are the strongest — REST/MCP inconsistency will cause execution failures for publisher agents, and undocumented treasury limits are a risk vector. Items 3–5 are lower priority but worth fixing before launch.

Ready to merge once 1 and 2 are addressed.

- Set user-invocable to false on all 5 role skills (repo standard)
- Replace non-standard tags (editorial, growth, revenue, read) with
  controlled vocabulary (write, read-only, infrastructure)
- Point entry fields to parent CLI scripts (aibtc-news.ts,
  aibtc-news-classifieds.ts) instead of SKILL.md
- Add mcp-tools field to all 5 frontmatter blocks
- Add AGENT.md files for all 5 roles (correspondent, publisher,
  fact-checker, scout, sales)
- Replace hardcoded 17-beat list in correspondent with dynamic
  news_beats reference
- Note correct-signal CLI lives in aibtc-news-classifieds skill
- Add all 5 role skills to README.md Skills table
- Regenerate skills.json (57 skills)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@whoabuddy
Copy link
Copy Markdown
Contributor

@arc0btc — pushed fixes, ready for re-review.

Changes in 5f23ff7:

  • Frontmatter aligned to repo conventions: user-invocable: "false" on all 5 roles, tags restricted to controlled vocabulary (write, read-only, infrastructure), entry now points to parent CLI scripts (aibtc-news.ts / aibtc-news-classifieds.ts), mcp-tools field added
  • AGENT.md files added for all 5 roles (correspondent, publisher, fact-checker, scout, sales) — follows the same 5-section structure as all other skills
  • README.md updated with all 5 new role skills in the Skills table
  • skills.json regenerated (57 skills, all validate clean)
  • Hardcoded 17-beat list in correspondent replaced with dynamic news_beats reference
  • correct-signal CLI noted as living in aibtc-news-classifieds skill (fact-checker requires updated accordingly)

Validation: 112/112 pass, typecheck clean.

Note for follow-up: news_correct_signal should eventually become a proper skill with feature parity rather than relying on MCP — tracked as future work for aibtcdev/aibtc-mcp-server.

Adds `about` subcommand to aibtc-news skill that fetches the network
overview from GET /api (name, description, version, quickstart, API
docs). Closes the last gap where a role skill referenced news_about
MCP tool with no matching CLI.

MCP parity tracked in aibtcdev/aibtc-mcp-server#362.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@whoabuddy whoabuddy requested a review from arc0btc March 18, 2026 19:00
Copy link
Copy Markdown
Contributor

@arc0btc arc0btc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-Review — Post 5f23ff7 Fixes

Structural fixes look good. AGENT.md files for all 5 roles, frontmatter aligned, skills.json regenerated (57 skills clean), dynamic beat list, correct-signal CLI reference — all solid. README table updated correctly.


Original items — status check

1. REST endpoints mixed with MCP tools — Still open.

Publisher SKILL.md Step 2 still uses PATCH /api/signals/:id/review and Step 4 uses POST /api/brief/{date}/inscribe. These are raw REST calls that don't appear in the MCP tools list. The AGENT.md also references PATCH /api/signals/:id/review in the decision logic table. An agent loading this skill won't know how to call these — are they curl targets? MCP tools under a different name? This will cause execution failures.

Suggested fix: Either (a) wrap them as MCP tools and add to the tools list, or (b) show explicit curl syntax with the full URL pattern so agents can execute them. If they're planned MCP tools that don't exist yet, note that and provide the curl fallback.

2. Treasury authority bounds — Still open but lower priority given whoabuddy's other fixes.

The math: 30 brief slots × $25 + weekly $350 leaderboard = up to ~$1,100/day. "2 weeks of max payouts" = ~$15,400. Adding this anchor number to the publisher SKILL.md gives the publisher agent a concrete threshold to check against. One line fix.

3. Sales runtime gate — Acceptable as-is.

The > **Note:** This role is deferred to Phase 0.5 at the top of both SKILL.md and AGENT.md, plus the description explicitly saying "deferred from launch," is sufficient documentation gating. A metadata active: false would be cleaner but isn't a blocker — agents reading the skill file will see the note before any workflow steps.

4. "Trivially vague" disclosure examples — Still worth adding.

Publisher SKILL.md says "Auto-reject: Any signal with an empty or trivially vague disclosure field." The correspondent SKILL.md has a good disclosure example ("claude-opus-4, aibtc MCP (aibtc__get_stx_balance...), mempool.space..."), but no counter-examples of what gets auto-rejected. Two examples would anchor this for both correspondents (what to avoid) and fact-checkers (what to flag):

❌ Trivially vague: "used AI" / "my own analysis" / "various sources"
✅ Sufficient: "claude-opus-4, mempool.space /api/v1/prices, aibtc__sbtc_get_peg_info"

5. CPFP bug tracking — Not a blocker but worth noting.

If there's a tracking issue for the ~240 sat fee bug, linking it in the publisher SKILL.md prevents this from becoming undocumented permanent behavior. If there isn't one, a follow-up issue would be appropriate.


New additions review (AGENT.md files)

All 5 AGENT.md files follow the same 5-section structure (Prerequisites, Decision Logic, Safety Checks, Error Handling, Output Handling). Clean and consistent. One note:

  • Publisher AGENT.md references PATCH /api/signals/:id/review in the decision logic table — same issue as #1 above. When #1 is resolved, update the AGENT.md to match.

Verdict

Items 3 and 5: resolved / acceptable. Items 1, 2, and 4 are still open — #1 is the most important because it affects whether publisher agents can actually execute the review workflow. #2 and #4 are one-line additions.

Approve once #1 is addressed (REST/MCP clarification for the two publisher endpoints). #2 and #4 can be follow-ups if needed but are easy enough to include now.

@whoabuddy whoabuddy requested a review from Copilot March 18, 2026 19:06
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds new aibtc.news “Phase 0 newsroom” role skills (publisher/correspondent/fact-checker/scout/sales) and wires them into the repo’s skill manifest and documentation, plus introduces an about CLI command for the aibtc-news skill.

Changes:

  • Add 5 new role skill directories (SKILL.md + AGENT.md) for the aibtc.news newsroom.
  • Add an about subcommand to aibtc-news and document it in aibtc-news/SKILL.md.
  • Regenerate skills.json and extend the README skill index to include the new roles.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 12 comments.

Show a summary per file
File Description
skills.json Adds new aibtc.news role skills and the new about argument for aibtc-news.
aibtc-news/aibtc-news.ts Adds about subcommand that fetches network overview from the API.
aibtc-news/SKILL.md Documents about and updates the argument list.
aibtc-news-correspondent/SKILL.md New role skill definition for correspondents.
aibtc-news-correspondent/AGENT.md New role agent guidance for correspondents.
aibtc-news-publisher/SKILL.md New role skill definition for publishers.
aibtc-news-publisher/AGENT.md New role agent guidance for publishers.
aibtc-news-fact-checker/SKILL.md New role skill definition for fact-checkers.
aibtc-news-fact-checker/AGENT.md New role agent guidance for fact-checkers.
aibtc-news-scout/SKILL.md New role skill definition for scouts.
aibtc-news-scout/AGENT.md New role agent guidance for scouts.
aibtc-news-sales/SKILL.md New (deferred) role skill definition for sales.
aibtc-news-sales/AGENT.md New (deferred) role agent guidance for sales.
README.md Adds the new role skills to the top-level skills table.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Comment thread aibtc-news/aibtc-news.ts
Comment thread aibtc-news-scout/SKILL.md Outdated
Comment thread aibtc-news-fact-checker/SKILL.md Outdated
Comment thread aibtc-news-sales/SKILL.md Outdated
Comment thread skills.json
Comment thread aibtc-news-correspondent/SKILL.md Outdated
Comment thread aibtc-news-publisher/SKILL.md Outdated
Comment thread aibtc-news-sales/SKILL.md Outdated
Comment thread README.md Outdated
Comment thread aibtc-news-correspondent/AGENT.md Outdated
whoabuddy and others added 2 commits March 18, 2026 12:17
- Point all 5 role skill entries to SKILL.md (doc-only, like ceo skill)
- Fix fact-checker: tag write not read-only, add signing to requires
- Fix sales: add wallet/signing/requires-funds, remove hardcoded date
- Fix about subcommand: use apiGet("/") not apiGet("") for clear errors
- Fix AGENT.md CLI examples: remove nonexistent --btc-address flags,
  note that wallet signing provides auth automatically
- Update README table to show doc-only entry points
- Regenerate skills.json

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Publisher Step 2: replace raw PATCH endpoint with explicit curl
  syntax + BIP-322 signing instructions, note missing skill wrapper
  (tracked in aibtc-mcp-server#362)
- Publisher Step 4: replace raw POST endpoint with classifieds
  inscribe-brief CLI invocation, note CPFP fee bug
- Publisher Step 6: add treasury ceiling math ($1,100/day max,
  $15,400 minimum reserve), note manual payout process
- Publisher: add trivially vague disclosure examples (what gets
  auto-rejected vs what's sufficient)
- Publisher AGENT.md: replace raw REST call in decision logic table

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@whoabuddy
Copy link
Copy Markdown
Contributor

@arc0btc — addressed all 5 items from your reviews in 8d84b58:

# Issue Fix
1 REST endpoints mixed with MCP tools Publisher Step 2 now shows explicit curl syntax with BIP-322 auth headers + signing instructions. Step 4 now uses bun run aibtc-news-classifieds/aibtc-news-classifieds.ts inscribe-brief. Both note missing skill wrappers tracked in aibtcdev/aibtc-mcp-server#362. AGENT.md updated to match.
2 Treasury authority bounds Added ceiling math: 30 slots × $25 + $350/week = ~$1,100/day max. Minimum reserve: $15,400 sBTC (2 weeks).
3 Sales runtime gate Already acceptable per your re-review — no change needed.
4 Trivially vague disclosure examples Added to publisher 4-question test: ❌ "used AI" / "my own analysis" / "various sources" vs ✅ full model+endpoint disclosure.
5 CPFP bug tracking Added note in Step 4 recommending a separate tracking issue.

All checks pass (112/112 validate, typecheck clean, 57 skills).

Copy link
Copy Markdown
Contributor

@arc0btc arc0btc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-Review — Post 8d84b58

All 5 items resolved. Approving.

# Issue Status
1 REST endpoints mixed with MCP tools Fixed. Publisher Step 2 now shows explicit curl syntax with BIP-322 auth headers + signing instructions. AGENT.md updated to match. Missing skill wrapper noted and tracked in #362.
2 Treasury authority bounds Fixed. Ceiling math added: $750/day slots + $350/week leaderboard = ~$1,100/day max. Minimum reserve: $15,400 sBTC (2 weeks).
3 Sales runtime gate Accepted in prior re-review.
4 Trivially vague disclosure examples Fixed. Publisher now has concrete examples: ❌ "used AI" / "my own analysis" / "various sources" vs ✅ full model+endpoint+query disclosure.
5 CPFP bug tracking Fixed. Note added recommending a separate tracking issue.

Clean work across all 6 commits. The role skill files are well-structured, the learning loops (editorial notes + pattern reports) create a good feedback cycle, and the enforcement patterns (tolerance thresholds, 4-question test, three-strike rule) are concrete enough to be machine-executable. Ready to merge.

@whoabuddy whoabuddy merged commit fd18d42 into main Mar 18, 2026
5 checks passed
@whoabuddy whoabuddy deleted the feat/aibtc-news-role-skills branch March 18, 2026 20:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants