Single-skill delegation bundle + YAML frontmatter fix#3
Open
sahrizvi wants to merge 3 commits into
Open
Conversation
…tter 10 SKILL.md files across dbt/* and snowflake/* used `description: |` (literal block scalar) which preserves embedded newlines in the parsed string. Some downstream consumers (Claude Code plugin browser, strict-parser YAML validators, marketplace review tooling) render or validate that string as-is instead of collapsing the per-numbered-item newlines into paragraph spaces. Switched all 10 to `description: >-` (folded strip block scalar), which folds single newlines into single spaces on parse and strips the trailing newline. Content is otherwise unchanged. Verified via PyYAML that all frontmatters now parse cleanly: - description is a single-line string on the parsed side - no double-space or leading/trailing-space artifacts - text content preserved verbatim Same fix landed independently in `altimate-claude-plugin` (the Anthropic-compliance rewrite). Applied here + in the two other sibling plugins (opencode, codex) in parallel commits so the SKILL.md source stays in sync across all four surfaces. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This bundle exposes one skill — `altimate-code` — whose job is to route data-engineering tasks (dbt, warehouse state, lineage, FinOps, PII, cross-database work) to the altimate-code CLI. Layout: - `skills/altimate-code/SKILL.md` — the one skill. - `opencode.json` — `skills.paths` points at that dir. - `plugins/altimate-code/index.ts` — `BUNDLED_SKILL_PATHS` matches; the plugin's `config` hook auto-registers the path so users don't have to hand-edit their global `opencode.jsonc` after `opencode plugin install`. Also keeps the 4 deterministic dbt tools + the `altimate_code` subprocess-spawn tool from the existing plugin surface — those are CLI wrappers around the bundled `altimate-dbt` binary, not skills. Typecheck: clean. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Companion codex-plugin PR #2 review flagged three issues in this SKILL.md content (this file is cloned from the same SoT that ships into the codex sibling, so both fixes land in lockstep): 1. **YAML fold split `altimate-code` into `altimate- code` (MAJOR).** The `>-` folded scalar from the earlier commit on this branch wrapped mid-token; the fold turned the newline into a space, corrupting the exact trigger the description exists to match. Adopted the SKILL.md verbatim from `altimate-claude-plugin` (the Anthropic-compliance rewrite), whose description is on one physical line — no fold, no ambiguity. PyYAML confirms the parsed description contains "altimate-code" and NOT "altimate- code". 2. **Shell injection in the documented invocation (HIGH).** `altimate-code run "<user's task>"` interpolates user text into a double-quoted shell arg, so `$(...)` and backticks fire before altimate-code runs, and `--yolo` removes the confirmation gate. Fixed via here-doc into a variable in both the first-invocation and `--continue` blocks. 3. **Hardcoded `/tmp/altimate-result.md` (MAJOR).** Shared, world-readable path can hold warehouse rows / PII from a delegation. Fixed via `umask 077; OUTPUT_FILE="$(mktemp -t altimate-result.XXXXXX.md)"` and instructed to delete after reading. Also swept: the "separate from Claude Code's" line — this is agent-facing content injected into the opencode host prompt, so a "Claude Code" reference is factually wrong about cost/rate attribution. Changed to "host agent's". Parallel PRs on `altimate-claude-plugin` (the direct source) and `data-engineering-skills` (the wider SoT). Typecheck clean. Co-Authored-By: Claude Opus 4.7 (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.
Two commits landing together:
4a1f5ed— fix(skills): use folded block scalar for SKILL.md description frontmatterThe 10 workflow SKILL.md frontmatters used
description: |(literal block scalar), preserving embedded newlines in the parsed string. Some downstream consumers (Claude Code plugin browser, strict-parser YAML validators, marketplace review tooling) render or validate that string as-is instead of collapsing per-numbered-item newlines into paragraph spaces. Switched all 10 todescription: >-(folded strip block scalar). Verified via PyYAML: all frontmatters parse cleanly, no double-space or leading/trailing artifacts.15b543f— refactor: single-skill delegation bundle (altimate-code)This bundle exposes one skill —
altimate-code— whose job is to route data-engineering tasks (dbt, warehouse state, lineage, FinOps, PII, cross-database work) to the altimate-code CLI.Layout:
skills/altimate-code/SKILL.md— the one skill.opencode.json—skills.pathspoints at that dir.plugins/altimate-code/index.ts—BUNDLED_SKILL_PATHSmatches; the plugin'sconfighook auto-registers the path so users don't have to hand-edit their globalopencode.jsoncafteropencode plugin install.Also keeps the 4 deterministic dbt tools + the
altimate_codesubprocess-spawn tool — those are CLI wrappers around the bundledaltimate-dbtbinary, not skills.Typecheck clean.
Same shape landing in parallel PRs on the sibling codex plugin.