-
Notifications
You must be signed in to change notification settings - Fork 2
feat(skills): introduce context extract skill #71
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
base: main
Are you sure you want to change the base?
Conversation
Introduce infrastructure for bundling Claude Code skills and hooks
vidimitrov
left a comment
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.
Overall looks great 💪 I am starting to test it locally now, and will add some final feedback once ready
| Disregard changes that match ANY of: | ||
| - Root-level `*.md` files (README, CHANGELOG, etc.) | ||
| - Lock files | ||
| - Files under `.buildforce/` |
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 might be a little hard filter until we introduce the new plan/build approach
|
|
||
| Derive a semantic module name from each directory: | ||
| - `src/auth/*` → "authentication" | ||
| - `src/templates/commands/*` → "slash-commands" |
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.
Here might be good to explciitly highlight that these are examples. Agents could easily hallucinate on this instructions
|
|
||
| ## Step 3: Spawn Extractor Sub-Agents | ||
|
|
||
| Use the Task tool to spawn all three extractors in parallel. |
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.
Have you experienced use cases where it doesn't spawn the sub-agents at all? I am highly skeptical how the skill will spawn the correct sub-agents without explicit instruction. But what is more concerning is that we don't create the _extraction-progress.yaml for each sub-agent and they already expect to read it.
| If partial failure: | ||
| ``` | ||
| ⚠️ Context partially updated: {success_count} file(s), {error_count} extractor(s) failed | ||
| • Run /buildforce.extract to retry |
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.
Can we really do that (running a slash command from a skill)? Have you managed to run this failure mode?
| "hooks": [ | ||
| { | ||
| "type": "agent", | ||
| "prompt": "Call the buildforce-context-extract skill", |
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.
We should definitely add a lot more "CRITICAL", "IMPORTANT", etc. guardrails inside the skill, so it doesn't trigger unless really needed. Otherwise, users will be very annoyed 😅
| | deep | Full rationale | Expert | | ||
|
|
||
| Context: {$ARGUMENTS} | ||
| Call the buildforce-context-extract skill with these arguments: $ARGUMENTS |
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.
We don't need the slash command anymore, as the skill is user-invocable. Let's remove this one and rename the skill accordingly
|
|
||
| --- | ||
|
|
||
| ## Step 1: Cold Start Mode |
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.
Potentially we can break each mode into a separate file. Skills are already recommending that.
Introduce infrastructure for bundling Claude Code skills and hooks
during init and upgrade workflows:
How to test
Build something with claude code. At the end you should see the
buildforce-context-extractworking.