-
Notifications
You must be signed in to change notification settings - Fork 9
Create ct, recipe-dev and lit-component Claude skills
#1933
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
4 issues found across 23 files
Prompt for AI agents (all 4 issues)
Understand the root cause of the following 4 issues and fix them.
<file name=".claude/skills/lit-component/references/advanced-patterns.md">
<violation number="1" location=".claude/skills/lit-component/references/advanced-patterns.md:41">
Declare the `#unsubs` private field before using it in the `CTThemeProvider` example so the code compiles and matches the cleanup pattern described.</violation>
</file>
<file name=".claude/skills/ct/SKILL.md">
<violation number="1" location=".claude/skills/ct/SKILL.md:1">
This pull request removes the `.claude/commands/` directory but fails to update multiple files that still reference the old commands. Files like `.claude/agents/research-specialist.md`, `AGENTS.md`, and the root `README.md` contain hardcoded paths and instructions pointing to the deleted command files. This will lead to broken links and non-functional agent workflows.</violation>
</file>
<file name=".claude/skills/lit-component/references/component-patterns.md">
<violation number="1" location=".claude/skills/lit-component/references/component-patterns.md:38">
Hard-coding the computed class entries to true forces classes like `gap-undefined` when optional props are unset; gate each class with the corresponding property before using classMap.</violation>
<violation number="2" location=".claude/skills/lit-component/references/component-patterns.md:199">
Registering the element unconditionally with `customElements.define` will throw on module re-evaluation (e.g., during HMR or repeated tests); guard the registration before defining the element.</violation>
</file>
React with 👍 or 👎 to teach cubic. Mention @cubic-dev-ai to give feedback, ask questions, or re-run the review.
|
|
||
| #setupSubscriptions() { | ||
| // Clean up previous subscriptions | ||
| for (const off of this.#unsubs) off(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Declare the #unsubs private field before using it in the CTThemeProvider example so the code compiles and matches the cleanup pattern described.
Prompt for AI agents
Address the following comment on .claude/skills/lit-component/references/advanced-patterns.md at line 41:
<comment>Declare the `#unsubs` private field before using it in the `CTThemeProvider` example so the code compiles and matches the cleanup pattern described.</comment>
<file context>
@@ -0,0 +1,453 @@
+
+ #setupSubscriptions() {
+ // Clean up previous subscriptions
+ for (const off of this.#unsubs) off();
+ this.#unsubs = [];
+
</file context>
| @@ -0,0 +1,375 @@ | |||
| --- | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This pull request removes the .claude/commands/ directory but fails to update multiple files that still reference the old commands. Files like .claude/agents/research-specialist.md, AGENTS.md, and the root README.md contain hardcoded paths and instructions pointing to the deleted command files. This will lead to broken links and non-functional agent workflows.
Prompt for AI agents
Address the following comment on .claude/skills/ct/SKILL.md at line 1:
<comment>This pull request removes the `.claude/commands/` directory but fails to update multiple files that still reference the old commands. Files like `.claude/agents/research-specialist.md`, `AGENTS.md`, and the root `README.md` contain hardcoded paths and instructions pointing to the deleted command files. This will lead to broken links and non-functional agent workflows.</comment>
<file context>
@@ -0,0 +1,375 @@
+---
+name: ct
+description: Guide for using the ct (CommonTools) binary to interact with charms, recipes, and the Common Fabric. Use this skill when deploying recipes, managing charms, linking data between charms, or debugging recipe execution. Triggers include requests to "deploy this recipe", "call a handler", "link these charms", "get data from charm", or "test this recipe locally".
</file context>
| } | ||
| } | ||
|
|
||
| globalThis.customElements.define("ct-button", CTButton); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Registering the element unconditionally with customElements.define will throw on module re-evaluation (e.g., during HMR or repeated tests); guard the registration before defining the element.
Prompt for AI agents
Address the following comment on .claude/skills/lit-component/references/component-patterns.md at line 199:
<comment>Registering the element unconditionally with `customElements.define` will throw on module re-evaluation (e.g., during HMR or repeated tests); guard the registration before defining the element.</comment>
<file context>
@@ -0,0 +1,480 @@
+ }
+}
+
+globalThis.customElements.define("ct-button", CTButton);
+```
+
</file context>
| globalThis.customElements.define("ct-button", CTButton); | |
| globalThis.customElements.get("ct-button") ?? globalThis.customElements.define("ct-button", CTButton); |
| override render() { | ||
| const classes = { | ||
| stack: true, | ||
| [`gap-${this.gap}`]: true, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hard-coding the computed class entries to true forces classes like gap-undefined when optional props are unset; gate each class with the corresponding property before using classMap.
Prompt for AI agents
Address the following comment on .claude/skills/lit-component/references/component-patterns.md at line 38:
<comment>Hard-coding the computed class entries to true forces classes like `gap-undefined` when optional props are unset; gate each class with the corresponding property before using classMap.</comment>
<file context>
@@ -0,0 +1,480 @@
+ override render() {
+ const classes = {
+ stack: true,
+ [`gap-${this.gap}`]: true,
+ [`align-${this.align}`]: true,
+ [`justify-${this.justify}`]: true,
</file context>
| [`gap-${this.gap}`]: true, | |
| [`gap-${this.gap}`]: !!this.gap, |
ct,lit-componentandrecipe-devskillsSummary by cubic
Replaced the old command-based Claude prompts with three focused skills—ct, recipe-dev, and lit-component—to provide clearer, task-based guidance for CLI usage, recipe development, and UI components. This improves discoverability, consistency, and day-to-day developer workflows.
New Features
Migration