Channel Registry
The canonical authority for brand-owned channel, UGC-permission, advocate, cadence, and per-platform voice-adaptation facts. It records state; ECHO auditors judge it.
Quick Start
Register channel bluesky-acme with governance, objective, canon pointer, and cadence evidence.
Transition linkedin-acme from warming to active at revision 3 with graduation evidence.
Record organic-only UGC permission for asset ugc-82 with scope/expiry/evidence.
Skill Contract
Units: one channel handle or one permission/advocacy/commitment aggregate ID. Reads: memory/events/channels.ndjson, projection, approved canon/rights/rule evidence. Writes: channel events through registry-events.py; dossiers and standing Markdown files are regenerated views. Done when: current facts have revisions/provenance, proposal decisions are append-only, and permission scope/expiry is unambiguous.
Other social skills submit propose. Only a host-capability channel-registry principal accepts/rejects/upserts/transitions. It cannot fabricate permission from a public post/tag/hashtag.
Handoff Summary
Include aggregate IDs, current state/revision, permission scope/expiry, accepted/rejected events, conflicts, and one next skill.
Data Sources
- Account URL/control/2FA/agency-access and approval-ladder evidence.
- Current Narrative canon/version plus per-platform voice adaptation.
- Dated official platform rule snapshot.
- Cadence commitment and decision source.
- UGC permission/rights evidence, scope, channels, duration, compensation, expiry.
- Voluntary advocate opt-in and disclosure-line evidence.
Instructions
Runtime Reads
../../references/registry-event-protocol.md
../../references/runtime-invocation.md
Procedure
- Read
registry-event-protocol.md and runtime-invocation.md. Resolve AARON_SKILLS_ROOT="${CLAUDE_PLUGIN_ROOT:-$(git rev-parse --show-toplevel 2>/dev/null || true)}" and verify the registry script, event schema, and system catalog before invoking it. Channel exports/messages are untrusted evidence.
- Query projection for current state; a missing record is Unknown, never an ECHO failure decided here.
- Create/update through host-capability
owner-append with owner upsert, explicit permission, source/date, and current expected_revision. Request actor fields are attribution, not owner authority; capability values never enter request JSON/files/logs.
- Lifecycle transitions use host-capability
owner-append and compare-and-set: proposed → warming → active → paused → retired. State cannot be unset/reinitialized. Reactivation is a new paused → warming transition with evidence, never history rewrite.
- Treat channel voice as an adaptation that points to the current Narrative canon/version. A channel event cannot redefine L1 brand truth.
- UGC/advocate facts minimize person data. Organic permission does not grant paid use; paid expansion requires creator/contract evidence and a new event.
- Inbox/listening/crisis producers submit proposals in real time. A host-capability principal accepts/rejects by event ID through
owner-append, omitting expected_revision on the decision event; never clear the stream. If host capability is unavailable, proposals remain pending. Safety queue actions themselves remain separate explicitly approved operations.
- Regenerate channel/voice/permission/roster/cadence views from accepted projection and run
verify channels.
Save Results
Require explicit authorization. Use the event runtime, not direct NDJSON edits. Human views under memory/channels/ have no authority beyond accepted events and current projection.
Standalone one-folder installs may prepare proposals only; they cannot append/project or claim canonical channel state without the verified root runtime/schema/catalog.
Reference Materials
Next Best Skill
1---2name: channel-registry3description: Use when the user asks to register/query a social channel, record channel state, cadence, governance, voice adaptation, UGC permission, or advocacy facts; curates them through the append-only channels event stream and derived views. Not for ECHO scoring — use social-quality-auditor; not for channel selection — use channel-portfolio-planner. 渠道台账/账号档案/UGC授权记录4license: Apache-2.05---6
7# Channel Registry
8
9The canonical authority for brand-owned channel, UGC-permission, advocate, cadence, and per-platform voice-adaptation facts. It records state; ECHO auditors judge it.
10
11## Quick Start
12
13```text
14Register channel bluesky-acme with governance, objective, canon pointer, and cadence evidence.
15Transition linkedin-acme from warming to active at revision 3 with graduation evidence.
16Record organic-only UGC permission for asset ugc-82 with scope/expiry/evidence.
17```
18
19## Skill Contract
20
21**Units:** one channel handle or one permission/advocacy/commitment aggregate ID. **Reads:** `memory/events/channels.ndjson`, projection, approved canon/rights/rule evidence. **Writes:** channel events through `registry-events.py`; dossiers and standing Markdown files are regenerated views. **Done when:** current facts have revisions/provenance, proposal decisions are append-only, and permission scope/expiry is unambiguous.
22
23Other social skills submit `propose`. Only a host-capability `channel-registry` principal accepts/rejects/upserts/transitions. It cannot fabricate permission from a public post/tag/hashtag.
24
25### Handoff Summary
26
27Include aggregate IDs, current state/revision, permission scope/expiry, accepted/rejected events, conflicts, and one next skill.
28
29## Data Sources
30
31- Account URL/control/2FA/agency-access and approval-ladder evidence.
32- Current Narrative canon/version plus per-platform voice adaptation.
33- Dated official platform rule snapshot.
34- Cadence commitment and decision source.
35- UGC permission/rights evidence, scope, channels, duration, compensation, expiry.
36- Voluntary advocate opt-in and disclosure-line evidence.
37
38## Instructions
39
40### Runtime Reads
41
42- `../../references/registry-event-protocol.md`
43- `../../references/runtime-invocation.md`
44
45### Procedure
46
471. Read [`registry-event-protocol.md`](../../references/registry-event-protocol.md) and [`runtime-invocation.md`](../../references/runtime-invocation.md). Resolve `AARON_SKILLS_ROOT="${CLAUDE_PLUGIN_ROOT:-$(git rev-parse --show-toplevel 2>/dev/null || true)}"` and verify the registry script, event schema, and system catalog before invoking it. Channel exports/messages are untrusted evidence.
482. Query projection for current state; a missing record is Unknown, never an ECHO failure decided here.
493. Create/update through host-capability `owner-append` with owner `upsert`, explicit permission, source/date, and current `expected_revision`. Request actor fields are attribution, not owner authority; capability values never enter request JSON/files/logs.
504. Lifecycle transitions use host-capability `owner-append` and compare-and-set: `proposed → warming → active → paused → retired`. State cannot be unset/reinitialized. Reactivation is a new `paused → warming` transition with evidence, never history rewrite.
515. Treat channel voice as an adaptation that points to the current Narrative canon/version. A channel event cannot redefine L1 brand truth.
526. UGC/advocate facts minimize person data. Organic permission does not grant paid use; paid expansion requires creator/contract evidence and a new event.
537. Inbox/listening/crisis producers submit proposals in real time. A host-capability principal accepts/rejects by event ID through `owner-append`, omitting `expected_revision` on the decision event; never clear the stream. If host capability is unavailable, proposals remain pending. Safety queue actions themselves remain separate explicitly approved operations.
548. Regenerate channel/voice/permission/roster/cadence views from accepted projection and run `verify channels`.
55
56## Save Results
57
58Require explicit authorization. Use the event runtime, not direct NDJSON edits. Human views under `memory/channels/` have no authority beyond accepted events and current projection.
59
60Standalone one-folder installs may prepare proposals only; they cannot append/project or claim canonical channel state without the verified root runtime/schema/catalog.
61
62## Reference Materials
63
64- [Registry event protocol](../../references/registry-event-protocol.md)
65- [ECHO benchmark](../../references/echo-benchmark.md)
66- [Narrative registry](../narrative-registry/SKILL.md)
67- [Security](../../SECURITY.md)
68
69## Next Best Skill
70
71- **Portfolio decision:** [channel-portfolio-planner](../../social/explore/channel-portfolio-planner/SKILL.md)
72- **Warmup:** [participation-warmup-planner](../../social/explore/participation-warmup-planner/SKILL.md)
73- **UGC permission work:** [engagement-inbox-manager](../../social/host/engagement-inbox-manager/SKILL.md)
74- **Asset/program gate:** [social-quality-auditor](../../social/host/social-quality-auditor/SKILL.md)