Skip to content

Restructure fizzy skill for progressive context loading#110

Closed
robinbrandt wants to merge 1 commit intobasecamp:masterfrom
robinbrandt:rz/improve-fizzy-skill
Closed

Restructure fizzy skill for progressive context loading#110
robinbrandt wants to merge 1 commit intobasecamp:masterfrom
robinbrandt:rz/improve-fizzy-skill

Conversation

@robinbrandt
Copy link

@robinbrandt robinbrandt commented Mar 21, 2026

Summary

  • Split the monolithic 1118-line SKILL.md into a lean 338-line core with two on-demand reference files
  • Cuts always-loaded context by 67% (38.6KB → 12.9KB) without losing any content
  • Rewrites "Agent Invariants" as "Key Behaviors" with explanations of why each rule matters
  • Removes config details already covered by AGENTS.md

New structure

skills/fizzy/
├── SKILL.md (338 lines)              # Core: decision trees, key behaviors, common workflows
└── references/
    ├── commands.md (370 lines)       # Full command reference — loaded on demand
    └── schemas.md (234 lines)        # Resource schemas + jq patterns — loaded on demand

Methodology

Ran 3 eval prompts (card creation with steps, filtered search with jq, webhook setup) against both the old monolithic skill and the new restructured skill, each producing CLI command plans graded against 20 assertions.

Results: 100% pass rate for both versions — identical correctness. The restructured skill was ~26% faster on average (32.7s vs 44.2s) due to smaller initial context. Token usage was roughly equivalent (~23K), confirming that on-demand reference reads don't add meaningful overhead.

Eval workspace with full results, grading, and timing data is available locally in skills/fizzy-workspace/ (not included in this PR).

Test plan

  • Verify skill triggers correctly for common prompts (e.g., "create a card", "search fizzy")
  • Verify reference files are consulted when detailed flags or schemas are needed
  • Verify no content was lost in the restructure

🤖 Generated with Claude Code


Summary by cubic

Restructures the Fizzy skill to load a small core by default and pull detailed references on demand, cutting always-loaded context by 67% and improving planning speed ~26% with no loss of coverage.

  • Refactors
    • Split skills/fizzy/SKILL.md into a lean core (338 lines) plus references/commands.md and references/schemas.md loaded only when needed.
    • Reduced always-loaded context from 38.6KB to 12.9KB; old content preserved across the two references.
    • Rewrote “Agent Invariants” as “Key Behaviors” with concise reasons (card number vs ID, jq usage, breadcrumbs, board context, rich text, new-signup welcome message).
    • Removed config details duplicated by AGENTS.md; kept essential setup/auth and context checks.
    • Kept functional parity: 3 evals showed 100% pass rate; average runtime ~32.7s vs 44.2s; token usage roughly the same.

Written for commit 2ce3a75. Summary will update on new commits.

The skill was 1118 lines loaded entirely into context on every
invocation. Split into a lean 338-line SKILL.md with two on-demand
reference files (commands.md, schemas.md), cutting always-loaded
context by 67% (38.6KB → 12.9KB).

Rewrites "Agent Invariants" as "Key Behaviors" with explanations
of why each rule matters rather than bare MUSTs. Removes config
details redundant with AGENTS.md.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions github-actions bot added the documentation Improvements or additions to documentation label Mar 21, 2026
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3 issues found across 3 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="skills/fizzy/references/commands.md">

<violation number="1" location="skills/fizzy/references/commands.md:336">
P2: File upload docs use conflicting response schemas (top-level vs `.data.*`), which can break jq-based command examples.</violation>
</file>

<file name="skills/fizzy/SKILL.md">

<violation number="1" location="skills/fizzy/SKILL.md:111">
P2: Quick Reference now omits required arguments for several commands, causing non-runnable command forms that can lead to CLI usage errors.</violation>

<violation number="2" location="skills/fizzy/SKILL.md:193">
P2: Response schema incorrectly implies `data` is always an object, but list responses use arrays, creating inconsistent docs that can lead to wrong jq parsing.</violation>
</file>

Since this is your first cubic review, here's how it works:

  • cubic automatically reviews your code and comments on bugs and improvements
  • Teach cubic by replying to its comments. cubic learns from your replies and gets better over time
  • Add one-off context when rerunning by tagging @cubic-dev-ai with guidance or docs links (including llms.txt)
  • Ask questions if you need clarification on any suggestion

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.


```bash
fizzy upload file PATH
# Returns: { "signed_id": "...", "attachable_sgid": "..." }
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Mar 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: File upload docs use conflicting response schemas (top-level vs .data.*), which can break jq-based command examples.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At skills/fizzy/references/commands.md, line 336:

<comment>File upload docs use conflicting response schemas (top-level vs `.data.*`), which can break jq-based command examples.</comment>

<file context>
@@ -0,0 +1,370 @@
+
+```bash
+fizzy upload file PATH
+# Returns: { "signed_id": "...", "attachable_sgid": "..." }
+```
+
</file context>
Fix with Cubic

| board | `board list` | `board show ID` | `board create` | `board update ID` | `board delete ID` | `board publish ID`, `board unpublish ID`, `board entropy ID`, `board closed`, `board postponed`, `board stream`, `board involvement ID`, `migrate board ID` |
| card | `card list` | `card show NUMBER` | `card create` | `card update NUMBER` | `card delete NUMBER` | `card move NUMBER`, `card publish NUMBER`, `card mark-read NUMBER`, `card mark-unread NUMBER` |
| account | - | `account show` | - | `account settings-update` | - | `account entropy`, `account export-create/show`, `account join-code-show/reset/update` |
| board | `board list` | `board show ID` | `board create` | `board update ID` | `board delete ID` | `board publish/unpublish`, `board entropy`, `board closed/postponed/stream`, `board involvement`, `migrate board` |
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Mar 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Quick Reference now omits required arguments for several commands, causing non-runnable command forms that can lead to CLI usage errors.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At skills/fizzy/SKILL.md, line 111:

<comment>Quick Reference now omits required arguments for several commands, causing non-runnable command forms that can lead to CLI usage errors.</comment>

<file context>
@@ -98,19 +107,21 @@ Want to change something?
-| board | `board list` | `board show ID` | `board create` | `board update ID` | `board delete ID` | `board publish ID`, `board unpublish ID`, `board entropy ID`, `board closed`, `board postponed`, `board stream`, `board involvement ID`, `migrate board ID` |
-| card | `card list` | `card show NUMBER` | `card create` | `card update NUMBER` | `card delete NUMBER` | `card move NUMBER`, `card publish NUMBER`, `card mark-read NUMBER`, `card mark-unread NUMBER` |
+| account | - | `account show` | - | `account settings-update` | - | `account entropy`, `account export-create/show`, `account join-code-show/reset/update` |
+| board | `board list` | `board show ID` | `board create` | `board update ID` | `board delete ID` | `board publish/unpublish`, `board entropy`, `board closed/postponed/stream`, `board involvement`, `migrate board` |
+| card | `card list` | `card show NUMBER` | `card create` | `card update NUMBER` | `card delete NUMBER` | `card move`, `card close/reopen/postpone/untriage`, `card assign/self-assign`, `card tag`, `card pin/unpin`, `card golden/ungolden`, `card watch/unwatch`, `card publish`, `card mark-read/mark-unread`, `card image-remove`, `card attachments` |
 | search | `search QUERY` | - | - | - | - | - |
</file context>
Fix with Cubic

"next_url": "https://..."
}
}
"data": { ... },
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Mar 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Response schema incorrectly implies data is always an object, but list responses use arrays, creating inconsistent docs that can lead to wrong jq parsing.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At skills/fizzy/SKILL.md, line 193:

<comment>Response schema incorrectly implies `data` is always an object, but list responses use arrays, creating inconsistent docs that can lead to wrong jq parsing.</comment>

<file context>
@@ -137,655 +148,115 @@ Output format defaults to auto-detection: styled for TTY, JSON for pipes/non-TTY
-      "next_url": "https://..."
-    }
-  }
+  "data": { ... },
+  "summary": "4 boards",
+  "breadcrumbs": [ ... ],
</file context>
Fix with Cubic

@robinbrandt
Copy link
Author

Oops - this was not supposed to be posted already...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant