@@ -553,6 +553,9 @@ fn refresh_managed_skill_exports_after_auto_enable(profile_root: &Path) -> Value
553553 let Some ( home) = crate :: agents:: home_dir ( ) else {
554554 return json ! ( { "status" : "skipped" , "reason" : "home_unavailable" } ) ;
555555 } ;
556+ if !should_refresh_managed_skill_exports ( profile_root, & home) {
557+ return json ! ( { "status" : "skipped" , "reason" : "non_default_profile_root" } ) ;
558+ }
556559 let start = std:: env:: current_dir ( ) . unwrap_or_else ( |_| home. clone ( ) ) ;
557560 let project_root = crate :: automation:: skill_materialization:: resolve_project_root ( & start) ;
558561 let reports =
@@ -579,6 +582,10 @@ fn refresh_managed_skill_exports_after_auto_enable(profile_root: &Path) -> Value
579582 } )
580583}
581584
585+ fn should_refresh_managed_skill_exports ( profile_root : & Path , home : & Path ) -> bool {
586+ profile_root == home. join ( ".tracedecay" )
587+ }
588+
582589fn accepted_skill_approval_status (
583590 action : SkillProposalAction ,
584591 auto_enable_skills : bool ,
@@ -860,6 +867,19 @@ mod tests {
860867 use super :: * ;
861868 use tempfile:: tempdir;
862869
870+ #[ test]
871+ fn managed_skill_exports_only_refresh_for_the_user_profile ( ) {
872+ let home = Path :: new ( "/home/test-user" ) ;
873+ assert ! ( should_refresh_managed_skill_exports(
874+ Path :: new( "/home/test-user/.tracedecay" ) ,
875+ home,
876+ ) ) ;
877+ assert ! ( !should_refresh_managed_skill_exports(
878+ Path :: new( "/tmp/tracedecay-test-profile" ) ,
879+ home,
880+ ) ) ;
881+ }
882+
863883 fn assert_err_eq < T > ( result : std:: result:: Result < T , String > , expected : & str ) {
864884 match result {
865885 Ok ( _) => panic ! ( "expected error: {expected}" ) ,
0 commit comments