Moodle External API Development
davila7/claude-code-templates
Create custom external web service APIs for Moodle LMS. An agent skill from davila7/claude-code-templates.
Multi-AI implementation using available external providers (Double Diamond Develop phase).
$ npx skills add nyldn/claude-octopus --skill flow-develop -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nyldn/claude-octopus flow-develop --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/nyldn/claude-octopus.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/flow-develop .claude/skills/flow-develop && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "flow-develop" agent skill from https://github.com/nyldn/claude-octopus/tree/main/skills/flow-develop into .claude/skills/flow-develop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flow-develop", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/nyldn/claude-octopus/tree/main/skills/flow-developType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add nyldn/claude-octopus --skill flow-develop -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nyldn/claude-octopus flow-develop --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nyldn/claude-octopus.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/flow-develop .agents/skills/flow-develop && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "flow-develop" agent skill from https://github.com/nyldn/claude-octopus/tree/main/skills/flow-develop into .agents/skills/flow-develop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flow-develop", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nyldn/claude-octopus --skill flow-develop -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nyldn/claude-octopus flow-develop --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nyldn/claude-octopus.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/flow-develop .cursor/skills/flow-develop && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "flow-develop" agent skill from https://github.com/nyldn/claude-octopus/tree/main/skills/flow-develop into .cursor/skills/flow-develop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flow-develop", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/nyldn/claude-octopus.git --path skills/flow-develop--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add nyldn/claude-octopus --skill flow-develop -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nyldn/claude-octopus flow-develop --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nyldn/claude-octopus.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/flow-develop .gemini/skills/flow-develop && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "flow-develop" agent skill from https://github.com/nyldn/claude-octopus/tree/main/skills/flow-develop into .gemini/skills/flow-develop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flow-develop", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install nyldn/claude-octopus flow-developInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add nyldn/claude-octopus --skill flow-develop -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nyldn/claude-octopus.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/flow-develop .github/skills/flow-develop && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "flow-develop" agent skill from https://github.com/nyldn/claude-octopus/tree/main/skills/flow-develop into .github/skills/flow-develop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flow-develop", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nyldn/claude-octopus --skill flow-develop -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nyldn/claude-octopus flow-develop --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nyldn/claude-octopus.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/flow-develop .opencode/skills/flow-develop && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "flow-develop" agent skill from https://github.com/nyldn/claude-octopus/tree/main/skills/flow-develop into .opencode/skills/flow-develop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flow-develop", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
flow-developMulti-AI implementation using available external providers (Double Diamond Develop phase).
Flow Develop is an agent skill from nyldn/claude-octopus. Multi-AI implementation using available external providers (Double Diamond Develop phase). DO NOT use for simple code edits, reading/reviewing code, built-in commands, or trivial single-file changes.
Its SKILL.md is about 7.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).
The repository describes itself as: Run multiple AI models against the same research, design, or coding task. Surface disagreements before you ship. The licence is MIT.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 18b66ca. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitbashpython3jqFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
OPENAI_API_KEYAGY_AUTH_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Flow Develop loads about 7.7k tokens when it runs. Until then it costs about 53 tokens; SKILL.md has 2,382 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from nyldn/claude-octopus at commit 18b66ca, republished under its MIT licence (© nyldn). 2,382 words, ~7,705 tokens.
.claude/skills/flow-develop/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Host: Codex CLI — This skill was designed for Claude Code and adapted for Codex. Cross-reference commands use installed skill names in Codex rather than
/octo:*slash commands. Use the active Codex shell and subagent tools. Do not claim a provider, model, or host subagent is available until the current session exposes it. For host tool equivalents, seeskills/blocks/codex-host-adapter.md.
{{PREAMBLE}}
Load skills/blocks/engineering-method-selection.md from the installed plugin
and apply only the methods relevant to this task. Preserve this entry point's
execution contract and output format. Read referenced skills as instructions;
do not invoke the current command recursively or add provider calls from a seat.
Before implementation, select the existing feature and run its boundary adapter:
OCTO_ROOT="${CLAUDE_PLUGIN_ROOT:-${HOME}/.claude-octopus/plugin}"
bash "$OCTO_ROOT/scripts/helpers/feature-workflow.sh" boundary develop "${OCTOPUS_FEATURE:-}"Read the bound project policy, relative source and digest. Ask the returned marker batch once through the available native host question tool. Keep skipped or noninteractive decisions open. Report the open count and defer only tasks whose current contract depends on a named unanswered decision. The runtime repeats these checks before actual task dispatch.
Two or more spec/plan/tasks artifacts trigger deterministic analysis automatically. A clean pass uses no extra model seat. Unresolved findings can trigger at most one independent bounded seat, shared across host and runtime for that artifact revision. Unavailable or failed semantic review warns and proceeds. Analysis reports exact source quotations and never rewrites artifacts.
Use stable task IDs and metadata when present. The parent resolves paths, dependencies and current Git state at every wave. A hint cannot grant concurrency or permit overwriting user changes. Legacy inputs retain their existing planner and execution path.
Before starting development:
.octo/STATE.md to verify Define phase complete# Verify Define phase is complete
if [[ -f ".octo/STATE.md" ]]; then
define_status=$("${HOME}/.claude-octopus/plugin/scripts/octo-state.sh" get_phase_status 2)
if [[ "$define_status" != "complete" ]]; then
echo "⚠️ Warning: Define phase not marked complete. Consider running definition first."
fi
fi
# Update state for Development phase
"${HOME}/.claude-octopus/plugin/scripts/octo-state.sh" update_state \
--phase 3 \
--position "Development" \
--status "in_progress"This skill uses ENFORCED execution mode. You MUST follow this exact sequence.
Analyze the user's prompt and project to determine context:
Knowledge Context Indicators:
Dev Context Indicators:
Also check: Does project have package.json, Cargo.toml, etc.? (suggests Dev Context)
Capture context_type = "Dev" or "Knowledge"
When context_type is Dev, determine the subtype to inject domain-appropriate quality guidance into the prompt sent to providers. Append the matching supplement text after the user's prompt.
| Subtype | Trigger keywords | Quality supplement |
|---|---|---|
frontend-ui | "page", "widget", "component", "UI", "HTML", "CSS", "form", "dashboard", "layout" | See frontend-ui enrichment below. |
cli-tool | "CLI", "command-line", "terminal", "script", "flag", "argument" | Help text via --help flag. Meaningful exit codes (0 success, 1 user error, 2 system error). Stdin/stdout/stderr used correctly. Argument validation with clear error messages. |
api-service | "API", "endpoint", "REST", "GraphQL", "gRPC", "server", "route" | Input validation at boundaries. Consistent error response format. Auth/authz on every endpoint. Rate limiting consideration. OpenAPI/schema documentation. |
infra | "deploy", "terraform", "docker", "CI", "pipeline", "Kubernetes", "helm" | Idempotent operations. Secrets never hardcoded. Rollback path documented. Health checks included. |
data | "ETL", "pipeline", "migration", "schema", "database", "SQL" | Idempotent migrations. Backup/rollback strategy. Data validation at ingestion. |
general | Default if no subtype matches | No supplement — use base implementer persona only. |
When frontend-ui subtype is detected, do TWO things:
A. Inject quality supplement into the prompt: Self-contained files preferred. Accessibility: ARIA labels, keyboard nav, 44px touch targets (WCAG 2.5.5). Safe DOM: createElement over innerHTML. Progressive enhancement: feature-detect APIs (navigator.share, localStorage) with fallbacks. Persist user prefs via localStorage.
B. Pull design intelligence from BM25 (if available):
Before calling orchestrate.sh, check if the design intelligence engine exists and query it for relevant design context:
SEARCH_PY="${HOME}/.claude-octopus/plugin/vendors/ui-ux-pro-max-skill/src/ui-ux-pro-max/scripts/search.py"
if [[ -f "$SEARCH_PY" ]]; then
# Detect relevant domains from the prompt
design_context=""
# Style query — what visual style fits this task?
style_hit=$(python3 "$SEARCH_PY" "<user's task description>" --domain style --top 1 2>/dev/null || true)
[[ -n "$style_hit" ]] && design_context+="Design style suggestion: $style_hit\n"
# UX query — relevant UX patterns
ux_hit=$(python3 "$SEARCH_PY" "<user's task description>" --domain ux --top 1 2>/dev/null || true)
[[ -n "$ux_hit" ]] && design_context+="UX pattern: $ux_hit\n"
# Append to prompt if hits found
if [[ -n "$design_context" ]]; then
# Append design intelligence to the orchestrate.sh prompt
prompt="${prompt}\n\nDesign intelligence (from BM25 search):\n${design_context}"
fi
fiThis gives providers concrete design guidance (style direction, UX patterns) without requiring the user to run /octo:design-ui-ux separately. If the search engine isn't installed, implementation proceeds with the quality supplement only.
How to apply: When calling orchestrate.sh in Step 4, append the quality supplement (and design intelligence if available) to the prompt:
orchestrate.sh develop "<user prompt>\n\nQuality requirements for this deliverable:\n<supplement text>\n<design intelligence if found>"DO NOT PROCEED TO STEP 2 until context determined. Context type (Dev vs Knowledge) and dev subtype determine which quality supplements and design intelligence to inject — wrong context wastes provider credits on irrelevant analysis.
MANDATORY: You MUST use the native shell command tool to run this provider check BEFORE displaying the banner. Do NOT skip it. Do NOT assume availability.
bash "${HOME}/.claude-octopus/plugin/scripts/helpers/check-providers.sh"Use the ACTUAL results below. PROHIBITED: Showing only "🔵 Claude: Available ✓" without listing all providers.
If OCTO_ALLOWED_PROVIDERS is set, treat it as the source of truth for which providers may participate. Providers filtered out by that allowlist are intentionally reported as unavailable; do not invoke or recommend them in the workflow.
Display this banner BEFORE orchestrate.sh execution:
For Dev Context:
🐙 **CLAUDE OCTOPUS ACTIVATED** - Multi-provider implementation mode
🛠️ [Dev] Develop Phase: [Brief description of what you're building]
Provider Availability:
🔴 Codex CLI: ${codex_status} - Code generation and patterns
🟡 Antigravity CLI: ${agy_status} - Alternative approaches
🧭 Antigravity CLI: ${agy_status} - Additional external-model challenge
🔵 Claude: Available ✓ - Integration and quality gates
💰 Estimated Cost: 0.02-0.10 USD
⏱️ Estimated Time: 3-7 minutesFor Knowledge Context:
🐙 **CLAUDE OCTOPUS ACTIVATED** - Multi-provider implementation mode
🛠️ [Knowledge] Develop Phase: [Brief description of deliverable]
Provider Availability:
🔴 Codex CLI: ${codex_status} - Structure and framework application
🟡 Antigravity CLI: ${agy_status} - Content and narrative development
🧭 Antigravity CLI: ${agy_status} - Additional external-model challenge
🔵 Claude: Available ✓ - Integration and quality review
💰 Estimated Cost: 0.02-0.10 USD
⏱️ Estimated Time: 3-7 minutesDO NOT PROCEED TO STEP 3 until banner displayed. The banner shows users which providers will run and what costs they'll incur — starting API calls without this visibility violates cost transparency.
Before executing the workflow, read any prior context:
# Initialize state if needed
"${HOME}/.claude-octopus/plugin/scripts/state-manager.sh" init_state
# Set current workflow
"${HOME}/.claude-octopus/plugin/scripts/state-manager.sh" set_current_workflow "flow-develop" "develop"
# Get prior decisions (critical for implementation)
prior_decisions=$("${HOME}/.claude-octopus/plugin/scripts/state-manager.sh" get_decisions "all")
# Get context from discover and define phases
discover_context=$("${HOME}/.claude-octopus/plugin/scripts/state-manager.sh" get_context "discover")
define_context=$("${HOME}/.claude-octopus/plugin/scripts/state-manager.sh" get_context "define")
# Display what you found (if any)
if [[ "$discover_context" != "null" ]]; then
echo "📋 Discovery phase findings:"
echo " $discover_context"
fi
if [[ "$define_context" != "null" ]]; then
echo "📋 Definition phase scope:"
echo " $define_context"
fi
if [[ "$prior_decisions" != "[]" && "$prior_decisions" != "null" ]]; then
echo "📋 Implementing with decisions:"
echo "$prior_decisions" | jq -r '.[] | " - \(.decision) (\(.phase)): \(.rationale)"'
fiThis provides critical context for implementation:
search, timeline, get_observations) are available — use them to check for related past implementation patternsDO NOT PROCEED TO STEP 4 until state read.
You MUST execute this command via the native shell command tool:
${HOME}/.claude-octopus/plugin/scripts/orchestrate.sh develop "<user's implementation request>"CRITICAL: You are PROHIBITED from:
You MUST use the native shell command tool to invoke orchestrate.sh.
If running in Claude Code v2.1.16+, users will see real-time progress indicators in the task spinner:
Phase 1 - External Provider Execution (Parallel):
Phase 2 - Synthesis (Sequential):
These spinner verb updates happen automatically - orchestrate.sh calls update_task_progress() before each agent execution. Users see exactly which provider is working and what it's doing.
If NOT running in Claude Code v2.1.16+: Progress indicators are silently skipped, no errors shown.
After orchestrate.sh completes, verify it succeeded:
# Find the latest synthesis file (created within last 10 minutes)
SYNTHESIS_FILE=$(find ~/.claude-octopus/results -name "tangle-synthesis-*.md" -mmin -10 2>/dev/null | head -n1)
if [[ -z "$SYNTHESIS_FILE" ]]; then
echo "❌ VALIDATION FAILED: No synthesis file found"
echo "orchestrate.sh did not execute properly"
exit 1
fi
echo "✅ VALIDATION PASSED: $SYNTHESIS_FILE"
cat "$SYNTHESIS_FILE"If validation fails:
~/.claude-octopus/logs/After synthesis is verified, record implementation details in state:
# Extract key implementation decisions from synthesis
implementation_approach=$(head -50 "$SYNTHESIS_FILE" | grep -A 3 "## Implementation\|## Approach" | tail -3 | tr '\n' ' ')
# Record implementation decisions
decision_made=$(echo "$implementation_approach" | grep -o "implemented\|using [A-Za-z0-9 ]*\|chose to\|pattern:" | head -1)
if [[ -n "$decision_made" ]]; then
"${HOME}/.claude-octopus/plugin/scripts/state-manager.sh" write_decision \
"develop" \
"$decision_made" \
"Multi-AI implementation consensus"
fi
# Update develop phase context
"${HOME}/.claude-octopus/plugin/scripts/state-manager.sh" update_context \
"develop" \
"$implementation_approach"
# Update metrics
"${HOME}/.claude-octopus/plugin/scripts/state-manager.sh" update_metrics "phases_completed" "1"DO NOT PROCEED TO STEP 7 until state updated.
Read the synthesis file and present:
After user confirms: Implement the solution using Write/Edit tools
Include attribution:
*Multi-AI Implementation powered by Claude Octopus*
*Providers: available external providers + 🔵 Claude*
*Full implementation plan: $SYNTHESIS_FILE*BEFORE executing ANY workflow actions, you MUST:
Analyze the user's prompt and project to determine context:
Knowledge Context Indicators (in prompt):
Dev Context Indicators (in prompt):
Also check: Does the project have package.json, Cargo.toml, etc.? (suggests Dev Context)
Step 1b: Detect Dev Subtype — see EXECUTION CONTRACT Step 1b above for subtype table and quality supplements. Append the matching supplement to the prompt before calling orchestrate.sh.
For Dev Context:
🐙 **CLAUDE OCTOPUS ACTIVATED** - Multi-provider implementation mode
🛠️ [Dev] Develop Phase: [Brief description of what you're building]
📋 Session: ${CLAUDE_SESSION_ID}
Providers:
🔴 Codex CLI - Code generation and patterns
🟡 Antigravity CLI - Alternative approaches
🔵 Claude - Integration and quality gatesFor Knowledge Context:
🐙 **CLAUDE OCTOPUS ACTIVATED** - Multi-provider implementation mode
🛠️ [Knowledge] Develop Phase: [Brief description of deliverable]
📋 Session: ${CLAUDE_SESSION_ID}
Providers:
🔴 Codex CLI - Structure and framework application
🟡 Antigravity CLI - Content and narrative development
🔵 Claude - Integration and quality review{{VISUAL_INDICATORS}}
Part of Double Diamond: DEVELOP (divergent thinking)
DEVELOP (tangle)
\ /
\ * /
\ * * /
\ /
\ /
Diverge with
solutionsThe develop phase generates multiple implementation approaches using external CLI providers:
This is the divergent phase for solutions - we explore different implementation paths before converging on the best approach.
Use develop when you need:
Don't use develop for:
Before execution, you'll see:
🐙 **CLAUDE OCTOPUS ACTIVATED** - Multi-provider implementation
🛠️ Develop Phase: Building and developing solutions
Providers:
🔴 Codex CLI - Code generation and patterns
🟡 Antigravity CLI - Alternative approaches
🔵 Claude - Integration and refinement${HOME}/.claude-octopus/plugin/scripts/orchestrate.sh develop "<user's implementation request>"The orchestrate.sh script will:
The tangle phase includes automatic quality validation:
When orchestrate.sh output contains AGENT_TEAMS_RESUME:${agent_id}:${task_id}:${role}:${phase}:
SendMessage({to: "${agent_id}", message: "<iteration prompt>"}) — this auto-resumes a stopped agent automatically (CC v2.1.77+)~/.claude-octopus/agent-teams/${task_id}.jsonbridge_store_agent_id(task_id, agent_id) in the bridge ledgerNote: The Agent(resume: ...) parameter was removed in CC v2.1.77. Always use SendMessage for agent continuation.
Results are saved to:
~/.claude-octopus/results/${SESSION_ID}/tangle-synthesis-<timestamp>.mdAfter reviewing all perspectives, implement the final solution using Write/Edit tools.
When this skill is invoked, follow the EXECUTION CONTRACT above exactly. The contract includes:
Each step is mandatory and blocking - you cannot proceed to the next step until the current one completes successfully.
Create tasks to track execution progress:
// At start of skill execution
TaskCreate({
subject: "Execute develop workflow with multi-AI providers",
description: "Run orchestrate.sh develop for implementation",
activeForm: "Running multi-AI develop workflow"
})
// Mark in_progress when calling orchestrate.sh
TaskUpdate({taskId: "...", status: "in_progress"})
// Mark completed ONLY after implementation finished
TaskUpdate({taskId: "...", status: "completed"})If any step fails:
/octo:setup and STOPNever fall back to direct implementation if orchestrate.sh execution fails. Report the failure and let the user decide how to proceed.
After successful execution, present implementation plan with:
# Implementation Plan: <task>
## Recommended Approach
[Your strategic recommendation based on all perspectives]
## Implementation Steps
1. [Step-by-step implementation plan]
2. ...
## Code Overview
### Codex Approach
[Key implementation details from Codex]
### Antigravity Approach
[Alternative considerations from Antigravity]
### Final Implementation
[Your integrated solution]
## Quality Gates
- [ ] Security validation: PASSED/FAILED
- [ ] Best practices: PASSED/FAILED
- [ ] Code quality: PASSED/FAILED
Would you like me to proceed with implementation?User: Build a user authentication system with JWT
Claude:
🐙 **CLAUDE OCTOPUS ACTIVATED** - Multi-provider implementation mode
🛠️ Develop Phase: Building authentication system
[Executes: ${HOME}/.claude-octopus/plugin/scripts/orchestrate.sh develop "Build a user authentication system with JWT"]
[After completion, reads synthesis and presents:]
# Implementation Plan: User Authentication System
## Recommended Approach
Based on multi-provider analysis, I recommend a layered approach:
1. Auth middleware for JWT validation
2. Login/register endpoints
3. Token refresh mechanism
4. Secure password hashing (bcrypt)
## Implementation Steps
1. Create `src/auth/middleware.ts` - JWT validation middleware
2. Create `src/auth/controller.ts` - Login/register endpoints
3. Create `src/auth/service.ts` - Business logic
4. Create `src/auth/utils.ts` - Token generation/validation
5. Update `src/routes.ts` - Register auth routes
## Code Overview
### Codex Approach
- Modern TypeScript with strict types
- Express middleware pattern
- Redis for token blacklisting
- Comprehensive error handling
### Antigravity Approach
- Passport.js integration suggestion
- Rate limiting on auth endpoints
- Multi-factor auth consideration
- Session management alternatives
### Final Implementation
- Hybrid: Modern TypeScript + Express patterns
- JWT with refresh tokens
- bcrypt password hashing
- Rate limiting included
- Optional MFA hooks for future
## Quality Gates
- ✅ Security validation: PASSED (bcrypt, secure tokens)
- ✅ Best practices: PASSED (TypeScript, error handling)
- ⚠️ Code quality: WARNING (consider adding request validation)
Would you like me to proceed with implementation?
[User: Yes, proceed]
[Claude creates files and implements the solution]User: Create an API endpoint for fetching user notifications
Claude:
🐙 **CLAUDE OCTOPUS ACTIVATED** - Multi-provider implementation mode
🛠️ Develop Phase: Creating API endpoint
[Executes tangle workflow]
[Presents implementation plan with multi-provider perspectives]
[Implements the endpoint after user confirmation]The tangle phase automatically runs quality checks via .claude/hooks/quality-gate.sh:
# Triggered after tangle execution (PostToolUse hook)
./hooks/quality-gate.sh{{QUALITY_GATES}}
Tangle is the third phase of the Double Diamond:
PROBE (Discover) → GRASP (Define) → TANGLE (Develop) → INK (Deliver)After tangle completes, you may continue to:
Or use standalone for implementation tasks.
Before writing code, ensure:
After implementation completes and before presenting results to the user, you MUST launch two verification agents in parallel. Do NOT skip this step or ask the user whether to run it — it is automatic.
Agent 1 — Code Review (Sonnet):
Agent(
model: "sonnet",
subagent_type: "feature-dev:code-reviewer",
background execution: true,
description: "Code review: post-develop",
prompt: "Review the code changes from this development session. Focus on:
1. Bugs, logic errors, security vulnerabilities
2. Hidden dependencies or coupling issues
3. Whether error handling covers failure modes
4. Adherence to project conventions (check CLAUDE.md)
Check git diff for the changed files. Report only high-confidence issues."
)Agent 2 — E2E Verification (Sonnet):
Agent(
model: "sonnet",
background execution: true,
description: "E2E test: post-develop",
prompt: "Run end-to-end verification of the development changes:
1. Run the project's test suite (detect from package.json scripts, Makefile, or pyproject.toml)
2. Verify no regressions in existing tests
3. Check that new files are properly integrated (imported, registered, sourced)
4. Verify the implementation matches the original task requirements
Report: tests passed/failed, any integration issues found."
)After both agents complete:
WHY: The user should never have to manually request a code review after development work. Fresh-eyes review from a different model (Sonnet vs Opus) catches issues the implementer is blind to. Running tests automatically catches regressions before the user discovers them.
After writing code, ensure:
External API Usage:
Tangle workflows typically cost 0.02-0.10 USD per task depending on complexity and code length.
After development completes:
skill-verification-gate; stop if they fail.git tag octo-checkpoint-post-develop-$(date +%Y%m%d-%H%M%S).octo/STATE.md with completion and add a history entry with files modified.# Enter this block only after fresh targeted tests pass.
checkpoint_tag="octo-checkpoint-post-develop-$(date +%Y%m%d-%H%M%S)"
git tag "$checkpoint_tag" -m "Post-develop checkpoint from embrace workflow"
echo "📌 Created checkpoint: $checkpoint_tag"
# Update state only after verification and checkpoint creation succeed.
"${HOME}/.claude-octopus/plugin/scripts/octo-state.sh" update_state \
--status "complete" \
--history "Develop phase completed"
# Record files modified in this phase
modified_files=$(git diff --name-only HEAD~1 2>/dev/null || echo "See git log")
"${HOME}/.claude-octopus/plugin/scripts/octo-state.sh" update_state \
--history "Files modified: $modified_files"The Develop phase is complete ONLY when the implementation exists, the post-develop
checkpoint tag is created, and targeted tests pass fresh (see skill-verification-gate).
Then invoke flow-deliver for validation. Do NOT declare the work done from here —
completion claims belong to the Deliver phase after review.
Ready to build! This skill is used after explicit invocation when users request implementation or building features.
© nyldn, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/flow-develop of nyldn/claude-octopus.
Open the folder on GitHubat commit 18b66ca
We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in nyldn/claude-octopus, which our catalogue first saw on October 7, 2026.
Flow Develop next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Flow Develop this skillnyldn/claude-octopus | 4.2k | 1 repos | ~7.7k | Automated safety check: Pass | MIT | |
| Moodle External API Developmentdavila7/claude-code-templates | 32k | 7 repos | ~4.6k | Automated safety check: Pass | MIT | |
| DDNS Provider DevelopmentNewFuture/DDNS | 4.7k | — | ~558 | Automated safety check: Pass | MIT | |
| MCP Developmentcoollabsio/coolify | 63k | 1 repos | ~949 | Automated safety check: Pass | MIT | |
| Game Developmentsickn33/agentic-awesome-skills | 47k | 1 repos | ~1.3k | Automated safety check: Pass | MIT | |
| Twenty App Entity Developmenttwentyhq/twenty | 58k | — | ~1.8k | Automated safety check: Pass | Custom licence |
davila7/claude-code-templates
Create custom external web service APIs for Moodle LMS. An agent skill from davila7/claude-code-templates.
NewFuture/DDNS
Adds or changes a DNS provider in the DDNS project while keeping its code, schemas, tests and Chinese and English docs consistent.
coollabsio/coolify
A skill your agent uses for Laravel MCP development. An agent skill from coollabsio/coolify.
sickn33/agentic-awesome-skills
Game development orchestrator. An agent skill from sickn33/agentic-awesome-skills.
twentyhq/twenty
Guides changes to an existing Twenty app: adding or editing objects, layouts, logic functions and front components, with a plan stated before multi-entity edits.
ccusage/ccusage
Guides ccusage monorepo development. An agent skill from ccusage/ccusage.
nyldn/claude-octopus
Quick execution for ad-hoc tasks without full workflow overhead — use for small, self-contained requests
nyldn/claude-octopus
Thorough research across multiple sources — use for complex topics needing broad synthesis
nyldn/claude-octopus
OWASP compliance, vulnerability scanning, and adversarial red team testing — use for security reviews
nyldn/claude-octopus
Audit codebases for quality, consistency, and broken patterns — use for pre-release or tech debt review
nyldn/claude-octopus
Extract patterns and anatomy from URLs — use to reverse-engineer content strategies from live pages
nyldn/claude-octopus
Auto-detect work context (Dev vs Knowledge) — use to tailor workflows based on current task type
Multi-AI implementation using available external providers (Double Diamond Develop phase). Flow Develop is an agent skill from nyldn/claude-octopus. Multi-AI implementation using available external providers (Double Diamond Develop phase).
Flow Develop fits situations like: simple code edits; reading/reviewing code; built-in commands; trivial single-file changes.
Run `npx skills add nyldn/claude-octopus --skill flow-develop -a claude-code`. Or copy the skill folder (skills/flow-develop in nyldn/claude-octopus) into .claude/skills/flow-develop in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nyldn/claude-octopus --skill flow-develop -a codex`. Or copy the skill folder (skills/flow-develop in nyldn/claude-octopus) into .agents/skills/flow-develop in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nyldn/claude-octopus --skill flow-develop -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/flow-develop, .gemini/skills/flow-develop, .github/skills/flow-develop and .opencode/skills/flow-develop in your project.
Going by SKILL.md and its folder, Flow Develop needs the command-line tools its instructions call (git, bash, python3 and jq) and credentials named OPENAI_API_KEY and AGY_AUTH_TOKEN. Our summary lists: Python 3; Docker.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Flow Develop is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 7.7k tokens (SKILL.md is roughly 31k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Flow Develop: Moodle External API Development (davila7/claude-code-templates, 32k stars), DDNS Provider Development (NewFuture/DDNS, 4.7k stars), MCP Development (coollabsio/coolify, 63k stars) and Game Development (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nyldn (a GitHub user) maintains it in nyldn/claude-octopus, which has 4,173 GitHub stars. The repository holds 62 skills in this directory. The repository was last updated on October 7, 2026.
Source: nyldn/claude-octopus on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.