From maximus-loop
Use when the user asks to "set up maximus", "configure maximus", "initialize maximus", "create maximus config", "scaffold maximus", "bootstrap maximus", or "maximus init".
How this skill is triggered — by the user, by Claude, or both
Slash command
/maximus-loop:maximus-initThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Announce:** "I'll validate your current setup, analyze the project, and configure Maximus Loop."
Announce: "I'll validate your current setup, analyze the project, and configure Maximus Loop."
Call TaskCreate with:
Detect & validate existing setupRun maximus validate --json and determine current stateDetecting existing setupCall TaskUpdate with status in_progress for the task from Step 1.
Run this command. This is your FIRST action — do not read files, explore, or run anything else before this.
maximus validate --json
Parse the JSON output. Check the directory check status:
If the directory check has status: "fail" — no .maximus/ exists. Report to the user:
No Maximus setup found. I'll analyze the project and create a tailored configuration.
Proceed to Phase 2.
If valid: true or directory exists but other checks fail — see Alternate Paths at the bottom.
Call TaskUpdate with status completed.
Call TaskCreate with:
Analyze project structureRead package.json, git log, and count files to determine 3 config valuesAnalyzing project structureCall TaskUpdate with status in_progress.
Read package.json (or Cargo.toml, go.mod, pyproject.toml). Extract the name field.
STOP. Do you have the project name? Move to Step 4.
Run:
git log --oneline -10
Look for consistent prefixes (e.g., "feat:", "fix:", "maximus:"). If none found, default to "maximus:".
STOP. Do you have the commit prefix? Move to Step 5.
Run:
find . -type f -not -path './node_modules/*' -not -path './.git/*' -not -path './dist/*' -not -path './build/*' -not -path './.next/*' -not -path './vendor/*' | wc -l
6009001200STOP. Do you have the timeout value? Move to Step 6.
Project Analysis:
Name: [project-name]
Timeout: [N]s (based on ~[X] files)
Commit prefix: "[detected-prefix]"
Phase 2 is complete. Do NOT explore frameworks, dependencies, integrations, or architecture.
Call TaskUpdate with status completed.
Call TaskCreate with:
Configure Maximus settingsRun maximus init, then edit 3 config values from Phase 2Configuring Maximus settingsCall TaskUpdate with status in_progress.
Run this command to create .maximus/ with correct defaults. Never use mkdir. Never add flags — maximus init --help will execute init.
maximus init
This generates config.yml, plan.json, progress.md, and updates .gitignore.
Read .maximus/config.yml to see the defaults.
Use the Edit tool to change project_name to the value from Phase 2, Step 3.
Use the Edit tool to change the timeout value under the agent: section to the value from Phase 2, Step 5 (600, 900, or 1200).
Use the Edit tool to change commit_prefix under the git: section to the value from Phase 2, Step 4.
These are the ONLY 3 values you modify. Do NOT change any other fields. Do NOT add fields. Do NOT use Write on config.yml.
Overwrite .maximus/plan.json with:
{
"version": "1.0.0",
"tasks": []
}
BLOCKING — You MUST use AskUserQuestion here.
Present the 3 modified values and ask:
If changes requested, apply them and re-confirm. Do NOT proceed to Phase 4 until the user approves.
Call TaskUpdate with status completed after user confirms.
Call TaskCreate with:
Validate & handoffRun final validation and present next stepsValidating final configurationCall TaskUpdate with status in_progress.
maximus validate --json
If valid: true:
Maximus Loop is configured for [project-name]
Configuration saved to:
.maximus/config.yml — Engine settings
.maximus/plan.json — Empty task list (ready for planning)
.maximus/progress.md — Iteration tracker
Next Steps:
1. Commit setup:
git add .maximus/ .gitignore
git commit -m "[prefix] Initialize Maximus Loop"
2. Create your first task plan:
Run /maximus-plan to design tasks for your feature
If invalid: Show failures. Attempt to fix (max 2 retries). Re-validate after each fix. If still invalid after 2 attempts, ask the user for help.
Call TaskUpdate with status completed.
These paths are only used when Phase 1 detects an existing .maximus/ directory.
Directory exists but validation checks failed. Show the failures:
Existing Maximus setup found with errors:
[list each check where status is "fail" with its message]
Do NOT run maximus init (it refuses to re-initialize). Proceed to Phase 2 to gather values, then in Phase 3 apply targeted fixes to the failed checks instead of running maximus init.
All checks pass (valid: true). Show the config_summary from the JSON:
Valid Maximus setup found:
Project: [config_summary.project_name]
Model: [config_summary.default_model] (escalation: [enabled/disabled])
Timeout: [config_summary.timeout]s
Iterations: [config_summary.max_iterations]
Auto-commit: [yes/no] (prefix: "[config_summary.commit_prefix]")
Auto-push: [yes/no]
Use AskUserQuestion: "Would you like to change anything?"
Options: "No, this is good" / "Yes, I want to change settings"
If no changes → Skip to Phase 4 (skip Phases 2 and 3)
If changes → Note what to change, proceed to Phase 2
npx claudepluginhub itsdevcoffee/devcoffee-agent-skills --plugin maximus-loopInteractive wizard that generates or updates the Automation Config block in CLAUDE.md, with template support for popular stacks and version-aware migration.
Initializes project configuration by auto-detecting framework, replacing CLAUDE.md placeholders, and installing rules, hooks, and scripts.
Auto-detects project stack from manifests like package.json, pyproject.toml, Cargo.toml; validates test/lint/build commands; detects platform and Docker; saves .godmode/config.yaml.