WIP: Update CLI to capture skills update made locally and submit then…#127
Closed
WIP: Update CLI to capture skills update made locally and submit then…#127
Conversation
- Guard skillFileId with early return and use createSkillFileId consistently - Centralize serializeSkillMetadata in @packmind/node-utils - Fix strategy abstraction leak by adding diffNewFiles to IDiffStrategy - Remove as unknown as casts in CreateChangeProposalUseCase tests - Add validation for updateSkillFileContent in SkillChangeProposalValidator - Make modeToPermissionString non-exported - Rename NonSkillDiffStrategy to CommandDiffStrategy #127 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add SkillFileOutput type to packages/types/src/deployments/FileUpdates.ts - Replace inline type definitions in ClaudeDeployer, CopilotDeployer, CursorDeployer - Remove leftover console.log debug statements in CursorDeployer Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add DiffContext type with skillFolders to IDiffStrategy - Prefix skillFolders with relativePath in DiffArtefactsUseCase - Use computeRelativePath() to dynamically resolve skill-relative paths - Fix nested path support (e.g. src/frontend/.cursor/skills/slug/) - Restrict CommandDiffStrategy to command artifact type only - Add tests for Copilot skill paths and nested relativePath scenarios Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…lidator - Add SkillVersionNotFoundError and SkillFileNotFoundError error classes - Throw SkillVersionNotFoundError when skill version is null - Throw SkillFileNotFoundError when target file is not found - Add validateDeleteFile method for deleteSkillFile type - Add tests for all validation failure scenarios Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extract mockPull typed variable to avoid repeated casts on Gateway function type. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add error logging in BatchCreateChangeProposalsUseCase catch block for diagnosability - Fix hardcoded 'read' permission in addSkillFile to use actual POSIX permissions from filesystem - Extract resolveSkillFile() with path-based fallback for stale file IDs across skill versions - Exclude null metadata fields in SkillChangeProposalValidator to match CLI serialization #124 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
cteyton
commented
Feb 15, 2026
Replace random UUID with file relative path in SkillDiffStrategy.diffNewFiles() so that server-side duplicate detection correctly skips already-pending proposals on repeated `diff --submit` runs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Deduplicate identical changes across agent folders so content/diff lines show once, and implement proper submit summary with counts for submitted, already submitted, and errors. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Split vulnerable regex into two non-backtracking replacements and use localeCompare for deterministic string sorting. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Backport improvements from main: replace O(n²) subGroupByChangeContent with Map-based O(n) approach, remove skipped artifact logging, guard empty summary parts, and extract changeCount variable. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace /\/+$/ regex flagged by SonarQube for super-linear backtracking with safe startsWith/endsWith while-loop approach. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
cteyton
added a commit
that referenced
this pull request
Feb 16, 2026
- Guard skillFileId with early return and use createSkillFileId consistently - Centralize serializeSkillMetadata in @packmind/node-utils - Fix strategy abstraction leak by adding diffNewFiles to IDiffStrategy - Remove as unknown as casts in CreateChangeProposalUseCase tests - Add validation for updateSkillFileContent in SkillChangeProposalValidator - Make modeToPermissionString non-exported - Rename NonSkillDiffStrategy to CommandDiffStrategy #127 Co-Authored-By: Claude Opus 4.6 <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.



… to packmind
Explanation
Relates to #
Type of Change
Affected Components
Testing
Test Details:
TODO List
Reviewer Notes