settings
npx machina-cli add skill justinjdev/fellowship/settings --openclawConfig — Fellowship Settings Manager
Steps
Step 1: Read Current Config
Read ~/.claude/fellowship.json. If it does not exist, report "No config file found — all defaults active."
If it exists, show the current settings as a table comparing each key to its default, highlighting only non-default values.
Step 2: Show Settings
Present the user's current config (or defaults if no file) in this format:
Fellowship Config (~/.claude/fellowship.json)
branch.pattern null (default)
branch.author null (default)
branch.ticketPattern [A-Z]+-\d+ (default)
worktree.enabled true (default)
worktree.directory null (default)
gates.autoApprove [] (default)
pr.draft false (default)
pr.template null (default)
palantir.enabled true (default)
palantir.minQuests 2 (default)
Mark non-default values with (custom) instead of (default).
Step 3: Ask What to Change
Ask the user what they'd like to change. Use AskUserQuestion with these options:
- Change settings — modify specific values
- Reset to defaults — delete the config file
- Done — exit without changes
If the user picks "Change settings", ask which settings to modify. Present each setting with its current value and valid options. Use the schema below for validation.
Step 4: Write Config
Write only non-default values to ~/.claude/fellowship.json. If all values match defaults, delete the file instead (no point keeping it). Validate each value against the Schema Reference below before writing.
Step 5: Confirm
Read back the file and show the updated settings table from Step 2.
Schema Reference
This is the canonical schema for ~/.claude/fellowship.json. Other skills reference this table.
| Key | Type | Default | Valid values |
|---|---|---|---|
branch.pattern | string | null | null | Template with {slug}, {ticket}, {author} placeholders. Default effective pattern: "fellowship/{slug}". |
branch.author | string | null | null | String with no spaces or git-invalid characters |
branch.ticketPattern | string | "[A-Z]+-\\d+" | Any valid regex |
worktree.enabled | boolean | true | true, false |
worktree.directory | string | null | null | Absolute path to a directory |
gates.autoApprove | string[] | [] | "Research", "Plan", "Implement", "Review", "Complete". Names refer to the completed phase — e.g., "Research" auto-approves the Research→Plan transition. |
pr.draft | boolean | false | true, false |
pr.template | string | null | null | Template with {task}, {summary}, {changes} placeholders |
palantir.enabled | boolean | true | true, false |
palantir.minQuests | number | 2 | Any positive integer |
Source
git clone https://github.com/justinjdev/fellowship/blob/main/skills/settings/SKILL.mdView on GitHub Overview
This skill lets you view and edit the Fellowship config at ~/.claude/fellowship.json. Run /settings to see current settings, compare against defaults, and modify values or reset to defaults; writes only non-default values after validation.
How This Skill Works
It reads the config file (or defaults if missing) and presents a table marking non-default values as custom. It then prompts you to Change settings, Reset to defaults, or Done. If you choose to change, it validates inputs against the schema and writes non-default values, deleting the file if everything matches defaults, then rereads to confirm.
When to Use It
- Review the current Fellowship config before a project.
- Adjust keys like branch.pattern, branch.ticketPattern, worktree, or palantir settings to fit your workflow.
- Reset all settings to defaults when you want a clean slate.
- Change specific values and validate them before writing.
- Prepare a consistent setup for a new environment or team by scripting changes.
Quick Start
- Step 1: Read the current config from ~/.claude/fellowship.json (or defaults if missing).
- Step 2: Review the settings table and decide what to change.
- Step 3: Choose 'Change settings', 'Reset to defaults', or 'Done' to proceed.
Best Practices
- Read the current config before making changes.
- Validate every new value against the Schema Reference.
- Write only non-default values to keep ~/.claude/fellowship.json lean.
- Use absolute paths for worktree.directory when set.
- Verify changes by reading the file again after writing.
Example Use Cases
- Set branch.pattern to 'fellowship/{slug}' to create descriptive branch names.
- Set branch.ticketPattern to \[A-Z]+\\d+ to match ticket IDs.
- Enable worktree and set directory to '/repos/fellowships'.
- Enable palantir.enabled and set palantir.minQuests to 3.
- Add 'Research' to gates.autoApprove to auto-approve the Research transition.