feat(signal): L99 architecture blueprint + LinkedIn Signal pack - #31
feat(signal): L99 architecture blueprint + LinkedIn Signal pack#31frankxai wants to merge 6 commits into
Conversation
Adds the output of a 5-dimension / 11-agent architecture review of the
ACOS agentic system and the first aligned build slice.
Docs (the thinking):
- docs/architecture/L99_BLUEPRINT.md — honest scorecard + 90-day
delete/wire/measure plan. Core finding: the loop is open at both ends
(nothing measured, nothing persists) — the ceiling-capping constraint.
- docs/architecture/EXCELLENCE_LOOP.md — the canonical 8-step per-task
loop + the Success Oracle keystone.
Signal pack (the proof case — LinkedIn Authority Engine):
- skills/signal/{SKILL,README,personas,knowledge}.md — two-brand voice
model, hook taxonomy, format playbooks, Dream100 method.
- .claude/commands/signal.md — /signal plan|draft|repurpose|critique|ship|learn
- Registered in skills/registry.json.
ToS-safe by design: Signal drafts and stages; a human ships. No mode
calls a posting endpoint. Critique gates the publish boundary.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011saEKpfoKNC1JHMzAfBqmF
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The alignment-check CI requires YAML frontmatter on changed .claude/commands/*.md files. Adds description + argument-hint to match the convention used by 41 other command files. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011saEKpfoKNC1JHMzAfBqmF
There was a problem hiding this comment.
Code Review
This pull request introduces the Signal pack, the LinkedIn vertical of the Agentic Creator OS (ACOS), along with core architectural specifications for the Excellence Loop and the L99 Blueprint. The changes include new command definitions, persona specs, and a knowledge base for Signal, alongside updates to the master skill registry. Feedback on these changes highlights several inconsistencies in skills/registry.json, including the use of an unregistered dependency (integrity-guard), an undefined category (marketing), and an inconsistent MCP reference (notion vs notion-mcp). Additionally, the trigger structure in SKILL.md should be aligned with the structured schema in the registry to support future automation.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| "dependencies": [ | ||
| "frankx-brand", | ||
| "integrity-guard" | ||
| ], |
There was a problem hiding this comment.
The skill signal lists integrity-guard as a dependency. However, integrity-guard is not registered as a skill in this registry (skills/registry.json). All other dependencies in the registry refer to valid, registered skills.
If integrity-guard is a content verification mechanism/library rather than a standalone skill, it should not be listed in the dependencies array. If it is intended to be a skill, it must be registered in this file to prevent dependency resolution or CI validation failures.
"dependencies": [
"frankx-brand"
],| }, | ||
| "signal": { | ||
| "version": "0.1.0", | ||
| "category": "marketing", |
There was a problem hiding this comment.
The skill signal is assigned the category marketing. However, marketing is not defined as a valid category in the categories object at the bottom of the registry file, nor is signal listed in any of the category arrays.
To maintain registry consistency, you should either:
- Add
marketingas a new category in thecategoriesobject and listsignalthere. - Change the category of
signalto an existing one likecreative(which aligns well with content strategy and multimodal studio) and addsignalto thecreativearray.
| "category": "marketing", | |
| "category": "creative", |
| "mcp": [ | ||
| "notion", | ||
| "firecrawl" | ||
| ], |
There was a problem hiding this comment.
There is an inconsistency in how the Notion MCP server is referenced. The ops skill (line 676) references notion-mcp, whereas the signal skill references notion.
To ensure consistency across skills and correct resolution of MCP tools, please align the naming of the Notion MCP server to use the -mcp suffix.
| "mcp": [ | |
| "notion", | |
| "firecrawl" | |
| ], | |
| "mcp": [ | |
| "notion-mcp", | |
| "firecrawl" | |
| ], |
| triggers: | ||
| - "/signal" | ||
| - "linkedin post" | ||
| - "linkedin article" | ||
| - "repurpose for linkedin" | ||
| - "linkedin week" | ||
| - "dream100" | ||
| - "thought leadership post" |
There was a problem hiding this comment.
The triggers in SKILL.md are defined as a flat list of strings. However, in skills/registry.json, the triggers for signal are structured into keywords, files, and commands.
Additionally, there are discrepancies between the two definitions:
linkedin top voiceis registered as a keyword inregistry.jsonbut is missing here./signalis listed as a flat trigger here, but is registered undercommandsinregistry.json.
If you plan to automate the generation of registry.json from skill frontmatter (as outlined in Phase 1 of the L99 Blueprint), the frontmatter trigger structure should be aligned with the registry schema.
| triggers: | |
| - "/signal" | |
| - "linkedin post" | |
| - "linkedin article" | |
| - "repurpose for linkedin" | |
| - "linkedin week" | |
| - "dream100" | |
| - "thought leadership post" | |
| triggers: | |
| keywords: | |
| - "linkedin post" | |
| - "linkedin article" | |
| - "repurpose for linkedin" | |
| - "linkedin week" | |
| - "dream100" | |
| - "thought leadership post" | |
| - "linkedin top voice" | |
| commands: | |
| - "/signal" | |
| files: | |
| - "**/skills/signal/**" |
integrity-guard is an agent (.claude/agents/integrity-guard.md), not a registered skill, so it doesn't belong in the registry dependencies array (skill deps only). The critique-gate relationship to the integrity-guard agent stays documented in the SKILL prose. Resolves the Gemini review comment on registry.json. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011saEKpfoKNC1JHMzAfBqmF
…word Addresses the Gemini review on skills/registry.json + SKILL.md: - category marketing -> creative (marketing was undefined; creative is the registry's content bucket) and add signal to the creative array. - notion -> notion-mcp in both registry + SKILL.md, matching the ops skill. - add the 'linkedin top voice' keyword to SKILL.md so its trigger vocab matches the registry. SKILL.md triggers stay a flat list (every other SKILL.md uses that format); full structured-trigger alignment is deferred to the Phase-1 frontmatter-> registry generator so all skills convert together, not one ahead of tooling. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011saEKpfoKNC1JHMzAfBqmF
…eam, /linkedin Turns the Signal pack from spec into a runnable operating system: - DAILY_LOOP.md — the ~45-min/day rhythm (ideate→draft→design→critique→ ship→engage→learn) + weekly cadence + live-vs-needs-wiring table. - research-sources.md — best-of-best intake lanes (papers/videos/pdfs/ posts), the 3-point vetting bar, signal→post pipeline, content indexing. - agent-team.md — the LinkedIn multi-agent org (lead + 6 workers + an independent critic), fan-out only where it pays. - .claude/commands/linkedin.md — /linkedin router (memorable alias of /signal) with plan|research|draft|repurpose|carousel|infographic| critique|ship|engage|learn|index modes. - docs/architecture/SIGNAL_ROADMAP.md — Stage 0 (operate now) → Stage 4 (productize) road to Top Voice. - SKILL.md — reconciled modes + operating-manual pointers. Still ToS-safe: every mode drafts and stages; a human posts. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011saEKpfoKNC1JHMzAfBqmF
Signal's reference content (hook taxonomy, Dream100 method, format playbooks) is genuinely good but was never wired end-to-end — DAILY_LOOP.md already documents ship/learn as unbuilt. Consolidating that knowledge into FrankX/.claude/skills/social-media-strategy/ so there's one live system instead of two parallel, disconnected ones. This file stays as the ACOS open-source reference version. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011saEKpfoKNC1JHMzAfBqmF
Summary
Ships the output of a 5-dimension / 11-agent architecture review of the ACOS agentic system, plus the first aligned build slice: the Signal LinkedIn Authority Engine. Core finding — the system is a beautifully-documented map that doesn't yet execute: the loop is open at both ends (nothing measured, nothing persists), which is the ceiling-capping constraint.
Change Type
Frank DNA Alignment
/signalcommand surface today; a 90-day build sequence, not philosophyWhat's here
Docs (the thinking)
docs/architecture/L99_BLUEPRINT.md— verdict scorecard + delete/wire/measure plan.docs/architecture/EXCELLENCE_LOOP.md— the canonical 8-step per-task loop + the Success Oracle keystone.Signal pack (the proof case)
skills/signal/{SKILL,README,personas,knowledge}.md— two-brand voice model, hook taxonomy, format playbooks, Dream100 method..claude/commands/signal.md—/signal plan|draft|repurpose|critique|ship|learn.skills/registry.json.For Structural Changes
Structural Change Checklist
// Simulate analytics.Testing
skills/signal/SKILL.mdskills/registry.jsonre-serialized via script (valid JSON, entry count 20 → 21)A companion shareable blueprint (the same content, designed) is available as a Claude artifact.
Generated by Claude Code