okr-factory: fix node.ari, add goal-edit, document markdown links#92
okr-factory: fix node.ari, add goal-edit, document markdown links#92johnblythe wants to merge 6 commits into
Conversation
Resolves the user in Atlas, finds their goals, gathers evidence from GitHub PRs, Jira, Slack, and Atlas, then drafts a scored status update (on_track/at_risk/off_track) ready to post via 'ld atlas goal-update'. Registered in skills.json and README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Code-review follow-ups on PR #91: remove goal-update-delete references (the verb was dropped from the CLI); correct the example char-count labels (160, not 149) since the skill itself preaches counting; lower people lookup --first to 100 to stay under the server page cap. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
# Conflicts: # CHANGELOG.md # skills.json
skills.json is generated by scripts/generate_catalog.py; the hand-edited entry diverged (stray tags, field order). Regenerated from SKILL.md frontmatter so the catalog --check passes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Three fixes from agent feedback: - Use metricTargets[].node.ari (not node.id) for --metric; both bare UUID and base64 global ID return a cryptic 400 - Add ld atlas goal-edit to Required tools (edit name/description without leaving the terminal) - Document [text](url) link support in update text and note it counts toward the 280-char budget Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Skill eval results
Only suites whose source actually changed since their last recorded score were re-run. Soft-failing while we stabilise the baseline. |
- ARI note: auto-normalization can silently fall through if base64 unpadded or wrong shape; ARI from node.ari is only guaranteed format - Remove unverified score defaults (85/55/20); replace with instruction to always pass --score explicitly - Prerequisites: add goal-edit with link support mention
| ### OKRs & Planning | ||
|
|
||
| | Skill | Description | | ||
| |-------|-------------| | ||
| | `okr-factory` | Automate monthly/bi-weekly OKR check-ins: find your Atlas goals, gather evidence from PRs/Jira/Slack, draft a scored status update (🟢/🟠/🔴), and post it with your approval | |
There was a problem hiding this comment.
🟡 New skill listed under plugin installation instructions instead of the skill catalog section
The new "OKRs & Planning" heading is placed as a ### subsection under "Install as a Claude Code Plugin" (README.md:76) instead of under the "Available Skills" section, so readers will not find this skill in the catalog where all other skill categories are listed.
Impact: Users browsing the Available Skills section will not see the OKR Factory skill; it appears only under Claude Code Plugin installation steps where it doesn't belong.
Heading hierarchy shows the misplacement
The README heading structure is:
## Available Skills (line 9)
### Feature Flags (line 11)
### AgentControl (line 22)
### Experiments (line 37)
### Metrics (line 43)
## Install as a Claude Code Plugin (line 51)
### Onboarding (line 67) ← makes sense here (plugin setup)
### OKRs & Planning (line 76) ← WRONG: not related to plugin install
## Install as a Cursor Plugin (line 82)
All other skill categories (Feature Flags, AgentControl, Experiments, Metrics) live under ## Available Skills at README.md:9. The Onboarding section being under the plugin install section is contextually appropriate since those skills help with plugin setup. OKR Factory is a general-purpose workflow skill with no relation to plugin installation. It should be a ### subsection under ## Available Skills, placed before ## Install as a Claude Code Plugin.
Prompt for agents
The new OKRs & Planning section (lines 76-81 in README.md) is placed under the heading hierarchy of '## Install as a Claude Code Plugin' (line 51). It should instead be placed under '## Available Skills' (line 9), alongside the other skill category subsections (Feature Flags, AgentControl, Experiments, Metrics). Move the entire block (lines 76-81) to just before line 51 (before '## Install as a Claude Code Plugin'), so it appears as the last skill category under Available Skills.
Was this helpful? React with 👍 or 👎 to provide feedback.
Follow-ups from agent feedback on the okr-factory skill after it ran against real goals.
Changes
Fix 1 —
--metricARI normalizationBare UUIDs and base64 global IDs both returned a cryptic
"Failed to convert argument value"400. Now auto-normalised toari:cloud:townsquare::metric-target/<uuid>. The ARI (frommetricTargets[].node.ariingoal-fulloutput) remains the canonical and preferred input; SKILL.md correctsnode.id→node.arithroughout.Fix 2 — Markdown links in ADF builder
[text](url)syntax now emits ADF inline link marks ingoal-updateand the newgoal-editdescription field. Links render clickable in Atlas instead of as literal bracket-paren strings. Note: links count toward the 280-char posted-text budget.Fix 3 —
goal-editcommandNo way existed to edit a goal's description (e.g. fix dead
#proj-fable-feedbackSlack refs) via the CLI. Newld atlas goal-edit <KEY> [--name "..."] [--description "..."]calls thegoals_editmutation. At least one flag required.SKILL.md updates
metricTargets[].node.arieverywhere (wasnode.id)goal-editadded to required toolsgoal-editfor descriptions,[text](url)note with 280-char budget calloutvia LD Research 🤖