Add Lyrebird content skill#1
Open
angusbezzina wants to merge 8 commits into
Open
Conversation
The {{scripts_path}} placeholder was never substituted by the skills.sh
CLI, so the literal string shipped and every script invocation failed
after install. Point invocations at the installed Claude Code location
(.claude/skills/lyrebird/scripts/...), matching the tmux-cli-test
convention, and update the skill-path note to the same.
Verified end-to-end: load-voice.mjs runs from a project root with the
skill installed under .claude/skills/lyrebird/.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Tag backlinks to the user's own destinations with UTM parameters, driven entirely by VOICE.md so it only happens where the user has opted in. - voice: interview question + a structured "Link Tracking (UTM)" block in the VOICE.md template (owned domains, per-platform source tokens, medium, campaign, required params). - load-voice.mjs: parses that block into a structured `utm` object so write and modify pass exact values instead of guessing. - platform-contracts.md: per-platform utm_source tokens, query-merge rules, and the owned-only / never-tag-citations rule. - write: applies UTM tags to owned backlinks using the platform's source token. - modify: rewrites utm_source to the target platform on conversion (e.g. linkedin -> x) instead of carrying the stale source. - validate-social-output.mjs: opt-in checks (via --owned-domains) that owned backlinks carry the required params and the correct per-platform source; third-party and citation/source links are excluded. No --owned-domains means no UTM checks, so existing calls are unaffected. Verified end-to-end: block parsing, backward-compat pass, correct-tag pass with third-party/Sources links excluded, and failures for wrong utm_source and missing params. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The skills.sh CLI installs the canonical skill to .agents/skills/<name> and symlinks per-agent dirs (e.g. .claude/skills/<name>) to it. Two bugs surfaced under a real symlinked install: 1. The entry-point guard (import.meta.url === file://process.argv[1]) never matched when invoked through the symlink, because import.meta.url is the realpath (.agents/...) while argv[1] is the symlink path (.claude/...). Both scripts silently did nothing — load-voice produced no JSON, and the validator exited 0 without validating anything. Replaced with a realpath comparison so they run via either path. 2. The docs hardcoded .claude/skills/lyrebird, which only exists for Claude Code. The canonical location present for every agent is .agents/skills/lyrebird, so switched all script invocations and the skill-path note to that. Verified under a symlinked layout: load-voice prints JSON via both the canonical and symlink paths, and the validator now fails (exit 1) on bad input and passes (exit 0) on valid input when invoked through the symlink. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Validation
Note: native bd dolt push still fails with DoltHub PermissionDenied for https://doltremoteapi.dolthub.com/gpu-cli/skills, so Beads was published through the git backup branch fallback.