Skip to content

fix(skills): refresh project folders in place - #11066

Open
cryppadotta wants to merge 2 commits into
masterfrom
fix/skills-project-folder-refresh
Open

fix(skills): refresh project folders in place#11066
cryppadotta wants to merge 2 commits into
masterfrom
fix/skills-project-folder-refresh

Conversation

@cryppadotta

@cryppadotta cryppadotta commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Thinking Path

  • Paperclip helps operators manage agent skills across a company.
  • The installed skills view groups project-backed skills into folders.
  • The view showed two folder creation controls and only offered a global project scan.
  • Operators need one clear folder action and a refresh action for the selected project.
  • This pull request keeps folder creation in the folder rail and adds a scoped project refresh.
  • The benefit is a calmer skills view and faster, more precise project skill updates.

Linked Issues or Issue Description

No public GitHub issue exists for this focused UI bug.

What happened?

The installed skills view repeated the folder creation action in the toolbar. A selected project folder also had no way to refresh only its own project skills.

Expected behavior

The folder rail must own folder creation. A selected project-backed folder must offer a refresh action that scans only that project and refreshes the skill and folder queries.

Steps to reproduce

  1. Open the installed skills view for a company with project-backed skill folders.
  2. Select a project folder.
  3. Observe the duplicate folder action and the absence of a project-scoped refresh action.

Paperclip version or commit

Reproduced before this two-commit fix on master.

Deployment mode

Local development with pnpm dev.

What Changed

  • Removed the duplicate toolbar folder creation button when the folder rail exists.
  • Preserved the toolbar folder action when no folder rail exists.
  • Added a refresh action beside the breadcrumb for a selected project-backed folder.
  • Passed the selected project ID to the project scan API.
  • Refreshed both the installed skill list and skill folder data after scans.
  • Added component tests for compact folder creation, the empty-folder fallback, and scoped project refresh.

Verification

  • pnpm exec vitest run ui/src/pages/CompanySkills.test.tsx — 20 tests passed.
  • pnpm check:token-gates — passed with all three gates clean.
  • pnpm -r typecheck — passed.
  • pnpm build — passed.
  • pnpm test:run — the server and UI stages passed 7,475 tests. The CLI stage then found one environment-sensitive AWS doctor assertion because this agent runtime injects static AWS credentials.
  • env -u AWS_ACCESS_KEY_ID -u AWS_SECRET_ACCESS_KEY pnpm exec vitest run cli/src/__tests__/secrets.test.ts --project paperclipai — all 8 tests passed.
  • GitHub CI — all latest-head checks passed.

Risks

  • Low risk. The scoped refresh depends on the existing project:<id> folder system key.
  • The global scan path is unchanged.
  • There are no schema, migration, API contract, dependency, workflow, or documentation changes.

For core feature work, check ROADMAP.md first and discuss it in #dev before opening the PR. Feature PRs that overlap with planned core work may need to be redirected — check the roadmap first. See CONTRIBUTING.md.

Model Used

OpenAI Codex, GPT-5 family. The runtime did not expose a more specific model ID or context-window size. The agent used high-reasoning mode, repository tools, GitHub tools, and code execution.

Checklist

  • I have included a thinking path that traces from project context to this change
  • I have specified the model used (with version and capability details)
  • I have checked ROADMAP.md and confirmed this PR does not duplicate planned core work
  • I have searched GitHub for duplicate or related PRs and linked them above
  • I have either (a) linked existing issues with Fixes: # / Closes # / Refs # OR (b) described the issue in-PR following the relevant issue template
  • I have not referenced internal/instance-local Paperclip issues or links (only public GitHub #NNN / github.com/paperclipai/paperclip URLs)
  • My branch name describes the change (e.g. docs/..., fix/...) and contains no internal Paperclip ticket id or instance-derived details
  • I have run tests locally and they pass
  • I have added or updated tests where applicable
  • I have updated relevant documentation to reflect my changes
  • I have considered and documented any risks above
  • All Paperclip CI gates are green
  • Greptile is 5/5 with no open P2s, recommendations, or follow-ups
  • I will address all Greptile and reviewer comments before requesting merge

@greptile-apps

greptile-apps Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR removes the redundant folder-creation action while preserving creation when no folder rail exists, and adds project-scoped skill refresh from the selected project folder.

  • Derives the selected project ID from the active folder’s system key and passes it to the existing scan API.
  • Invalidates both installed-skill and skill-folder queries after successful scans.
  • Adds component coverage for compact folder creation, the no-folder fallback, and scoped refresh behavior.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains; the previously reported no-folder state now retains the toolbar creation action, while populated folder states use the rail control.

Important Files Changed

Filename Overview
ui/src/pages/CompanySkills.tsx Preserves a reachable folder-creation control in both rail and no-rail states while adding scoped project refresh and coordinated query invalidation.
ui/src/pages/CompanySkills.test.tsx Adds focused coverage for the folder-action visibility states and selected-project refresh argument.

Reviews (2): Last reviewed commit: "fix(skills): preserve empty folder creat..." | Re-trigger Greptile

Comment thread ui/src/pages/CompanySkills.tsx
cryppadotta and others added 2 commits August 8, 2026 07:20
Remove the redundant toolbar folder action and add a scoped refresh control to project-backed skill folders.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
Keep the toolbar action available only while no folder rail exists, and cover the dismissed-nudge recovery path.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
@cryppadotta
cryppadotta force-pushed the fix/skills-project-folder-refresh branch from 1f7bdb5 to 1b6a9c3 Compare August 8, 2026 07:45
@cryppadotta

Copy link
Copy Markdown
Contributor Author

@greptile review

1 similar comment
@cryppadotta

Copy link
Copy Markdown
Contributor Author

@greptile review

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant