@@ -43,6 +43,9 @@ public class SessionConfig {
4343 private Map <String , Object > mcpServers ;
4444 private List <CustomAgentConfig > customAgents ;
4545 private InfiniteSessionConfig infiniteSessions ;
46+ private List <String > skillDirectories ;
47+ private List <String > disabledSkills ;
48+ private String configDir ;
4649
4750 /**
4851 * Gets the custom session ID.
@@ -338,4 +341,77 @@ public SessionConfig setInfiniteSessions(InfiniteSessionConfig infiniteSessions)
338341 this .infiniteSessions = infiniteSessions ;
339342 return this ;
340343 }
344+
345+ /**
346+ * Gets the skill directories.
347+ *
348+ * @return the list of skill directory paths
349+ */
350+ public List <String > getSkillDirectories () {
351+ return skillDirectories ;
352+ }
353+
354+ /**
355+ * Sets the skill directories for loading custom skills.
356+ * <p>
357+ * Skills are loaded from SKILL.md files in subdirectories of the specified
358+ * directories. Each skill subdirectory should contain a SKILL.md file with YAML
359+ * frontmatter defining the skill metadata.
360+ *
361+ * @param skillDirectories
362+ * the list of skill directory paths
363+ * @return this config instance for method chaining
364+ */
365+ public SessionConfig setSkillDirectories (List <String > skillDirectories ) {
366+ this .skillDirectories = skillDirectories ;
367+ return this ;
368+ }
369+
370+ /**
371+ * Gets the disabled skill names.
372+ *
373+ * @return the list of disabled skill names
374+ */
375+ public List <String > getDisabledSkills () {
376+ return disabledSkills ;
377+ }
378+
379+ /**
380+ * Sets the list of skill names to disable.
381+ * <p>
382+ * Skills in this list will not be applied to the session, even if they are
383+ * found in the skill directories.
384+ *
385+ * @param disabledSkills
386+ * the list of skill names to disable
387+ * @return this config instance for method chaining
388+ */
389+ public SessionConfig setDisabledSkills (List <String > disabledSkills ) {
390+ this .disabledSkills = disabledSkills ;
391+ return this ;
392+ }
393+
394+ /**
395+ * Gets the custom configuration directory.
396+ *
397+ * @return the config directory path
398+ */
399+ public String getConfigDir () {
400+ return configDir ;
401+ }
402+
403+ /**
404+ * Sets a custom configuration directory for the session.
405+ * <p>
406+ * This allows using a specific directory for session configuration instead of
407+ * the default location.
408+ *
409+ * @param configDir
410+ * the configuration directory path
411+ * @return this config instance for method chaining
412+ */
413+ public SessionConfig setConfigDir (String configDir ) {
414+ this .configDir = configDir ;
415+ return this ;
416+ }
341417}
0 commit comments