@@ -311,6 +311,7 @@ func TestInstallRun(t *testing.T) {
311311 wantErr string
312312 wantStdout string
313313 wantStderr string
314+ assert func (t * testing.T )
314315 }{
315316 {
316317 name : "non-interactive without repo errors" ,
@@ -1527,6 +1528,37 @@ func TestInstallRun(t *testing.T) {
15271528 wantStdout : "Installed hidden-skill" ,
15281529 wantStderr : "Skills in hidden directories" ,
15291530 },
1531+ {
1532+ name : "respect claude code config dir env var for user scope" ,
1533+ setup : func (t * testing.T ) {
1534+ t .Setenv ("CLAUDE_CONFIG_DIR" , t .TempDir ())
1535+ },
1536+ stubs : func (reg * httpmock.Registry ) {
1537+ stubResolveVersion (reg , "monalisa" , "skills-repo" , "v1.0.0" , "abc123" )
1538+ stubDiscoverTree (reg , "monalisa" , "skills-repo" , "abc123" ,
1539+ singleSkillTreeJSON ("git-commit" , "treeSHA" , "blobSHA" ))
1540+ stubInstallFiles (reg , "monalisa" , "skills-repo" , "treeSHA" , "blobSHA" , gitCommitContent )
1541+ },
1542+ opts : func (ios * iostreams.IOStreams , reg * httpmock.Registry ) * InstallOptions {
1543+ t .Helper ()
1544+ return & InstallOptions {
1545+ IO : ios ,
1546+ HttpClient : func () (* http.Client , error ) { return & http.Client {Transport : reg }, nil },
1547+ GitClient : & git.Client {RepoDir : t .TempDir ()},
1548+ SkillSource : "monalisa/skills-repo" ,
1549+ SkillName : "git-commit" ,
1550+ Agent : "claude-code" ,
1551+ Scope : "user" ,
1552+ ScopeChanged : true ,
1553+ Telemetry : & telemetry.NoOpService {},
1554+ }
1555+ },
1556+ assert : func (t * testing.T ) {
1557+ assert .FileExists (t , filepath .Join (os .Getenv ("CLAUDE_CONFIG_DIR" ), "skills" , "git-commit" , "SKILL.md" ))
1558+ assert .NoFileExists (t , filepath .Join (os .Getenv ("HOME" ), ".claude" , "skills" , "git-commit" , "SKILL.md" ))
1559+ },
1560+ wantStdout : "Installed git-commit" ,
1561+ },
15301562 }
15311563
15321564 for _ , tt := range tests {
@@ -1572,6 +1604,9 @@ func TestInstallRun(t *testing.T) {
15721604 if tt .verify != nil {
15731605 tt .verify (t )
15741606 }
1607+ if tt .assert != nil {
1608+ tt .assert (t )
1609+ }
15751610 })
15761611 }
15771612}
0 commit comments