원클릭으로
opensquad-dev
opensquad development checklist — verifies templates sync, package integrity, and distribution correctness.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
opensquad development checklist — verifies templates sync, package integrity, and distribution correctness.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Opensquad — Multi-agent orchestration framework. Create and run AI squads for your business.
Opensquad — Multi-agent orchestration framework. Create and run AI squads for your business.
Send emails through Resend's official MCP server. Supports single send, batch send, HTML and plain text bodies, attachments, CC/BCC, scheduling, and contact management.
Opensquad — Multi-agent orchestration framework. Create and run AI squads for your business.
Visual template selection for image design agents. Generates template variations, renders them as images for user review, and saves the approved visual identity.
Generates images via Openrouter API using AI image models. Supports two modes: test (cheap model for iteration) and production (high-quality model for final output). Handles prompt construction, API calls, base64 decoding, and file saving. Supports reference images (logos, mascots) for brand-consistent generation.
| name | opensquad-dev |
| description | opensquad development checklist — verifies templates sync, package integrity, and distribution correctness. |
You are running the opensquad-dev verification skill inside the opensquad repository. Your job is to detect and report distribution issues before they reach users.
Understand this before checking anything:
templates/ → Copied by src/init.js:copyCommonTemplates() during npx opensquad init
and by src/update.js during npx opensquad update. Everything in templates/ except
ide-templates/ is copied recursively to the user's project. This is the PRIMARY
distribution mechanism — if a file isn't in templates, users don't get it on init.
templates/ide-templates/ → IDE-specific files. Copied selectively based on user's
IDE selection during init. Each subfolder (claude-code/, opencode/, codex/,
antigravity/) maps to one IDE choice.
agents/ (project root) → Predefined agent catalog, distributed via npm
(package.json files[]). Auto-installed during npx opensquad init and new agents
added during npx opensquad update. Protected from overwrites in
src/update.js:PROTECTED_PATHS. Users can also install manually via
npx opensquad agents install.
skills/ (project root) → Bundled skills catalog, distributed via npm
(package.json files[]). Non-MCP skills are auto-installed during init.
MCP skills (type: mcp/hybrid or with env vars) are offered interactively
during init. Users can also install manually via npx opensquad skills install.
_opensquad/core/* → Framework core files. MUST have a mirror copy in
templates/_opensquad/core/*. Any change to a core file that isn't synced to templates
means npx opensquad init delivers STALE content to new users.
skills/* → Bundled skills catalog. Two distribution sub-types:
opensquad-skill-creator):
also have a mirror in templates/skills/* so the full directory structure is copied during init.
Check B verifies this sync.SKILL.md, no subdirs, e.g. opensquad-agent-creator):
distributed via installSkill() — no template copy needed. Check B does NOT apply to these.package.json files[] → Controls what enters the npm package.
Currently: bin/, src/, agents/, skills/, templates/.
src/update.js:PROTECTED_PATHS → Directories NEVER overwritten during update:
_opensquad/_memory, _opensquad/_investigations, agents, squads.
opensquad supports multiple IDEs. When a user runs npx opensquad init, they choose which IDE(s) to install for. Files are copied from two places:
templates/, excluding ide-templates/) — copied to every project regardless of IDEtemplates/ide-templates/{ide}/) — copied only for the selected IDE(s)| Type | Definition | Location |
|---|---|---|
| SHARED | Applies to all IDEs equally | _opensquad/core/, templates/ (excluding ide-templates/) |
| IDE-SPECIFIC | Applies to one IDE only | templates/ide-templates/{ide}/ |
| IDE | Template Folder | Example Files |
|---|---|---|
| Claude Code | templates/ide-templates/claude-code/ | SKILL.md, CLAUDE.md, .mcp.json |
| Antigravity | templates/ide-templates/antigravity/ | .agent/rules/opensquad.md, .agent/workflows/opensquad.md |
| OpenCode | templates/ide-templates/opencode/ | AGENTS.md, .opencode/commands/opensquad.md |
| Codex | templates/ide-templates/codex/ | AGENTS.md |
When a change is requested for a specific IDE, modify ONLY files inside
templates/ide-templates/{ide}/. NEVER add conditional logic ("if antigravity, do X") to shared files.
Violation example:
_opensquad/core/runner.pipeline.md adding if antigravity: run sequentiallytemplates/ide-templates/antigravity/.agent/rules/opensquad.md with the sequential execution instructionsLegitimate shared file edit:
_opensquad/core/architect.agent.yaml because the change benefits ALL IDEs equally.Run these commands to identify changed files:
# Uncommitted changes (staged + unstaged)
git diff --name-only HEAD
# If no uncommitted changes, check recent commits
git log --oneline -5
git diff --name-only HEAD~5..HEAD
Collect all changed file paths into a list.
For each changed file, apply the matching verification rules below. Only run checks that are relevant to the actual changes detected.
_opensquad/core/** changed)For EACH changed file matching _opensquad/core/**:
Compute the expected template path: templates/{same relative path}
Example: _opensquad/core/runner.pipeline.md → templates/_opensquad/core/runner.pipeline.md
Run diff:
diff "_opensquad/core/{file}" "templates/_opensquad/core/{file}"
If diff shows differences:
cp _opensquad/core/{file} templates/_opensquad/core/{file}If template file doesn't exist:
_opensquad/core/{file}"mkdir -p templates/_opensquad/core/{dir} && cp _opensquad/core/{file} templates/_opensquad/core/{file}skills/** changed)Only applies to multi-file skills — skills that have subdirectories (scripts/, assets/, agents/, etc.)
alongside their SKILL.md. These require a template mirror so the full directory is copied during init.
Single-file skills (only SKILL.md, no subdirs) are distributed via installSkill() and do NOT need
a templates/skills/ counterpart. Do not flag them as missing.
For each changed multi-file skill:
skills/{skill}/SKILL.mdtemplates/skills/{skill}/SKILL.mdagents/** changed)package.json, parse the files array"agents/" is present in the array"agents/" not in package.json files[]src/init.js changed)src/init.jscopyCommonTemplates function exists and references TEMPLATES_DIRgetTemplateEntries recursively scans the templates directorysrc/update.js changed)src/update.jsPROTECTED_PATHS array_opensquad/_memory (user preferences and company context)_opensquad/_investigations (Sherlock investigation data)agents (user-installed/customized agents)squads (user-created squads)package.json changed)package.json, parse files arraybin/, src/, agents/, skills/, templates/files[]: FAILls -d */ at project rootpackage.json files[]? (if it should be distributed)PROTECTED_PATHS? (if it's user-owned content)templates/? (if it should be copied during init)src/init.js changed)src/init.js./agents.js: listAvailable (aliased as listAvailableAgents) and installAgentinstallAllAgents function exists and is called in init()installNonMcpSkills function exists and is called in init()installNonMcpSkills filters out: opensquad-skill-creator, type mcp, type hybrid, skills with envsrc/update.js changed)src/update.js./agents.js: listAvailable, listInstalled, installAgent./skills.js: listAvailable, listInstalled, installSkill, getSkillMeta_opensquad/core/** or templates/** changed, excluding templates/ide-templates/**)Scan shared files for IDE-specific conditional logic that should live in templates/ide-templates/{ide}/ instead.
Files to scan:
_opensquad/core/templates/ EXCEPT those under templates/ide-templates/What to look for: Content that says "do X for IDE Y" or "if using IDE Y, behave differently."
Contamination keywords (IDE names used as conditional subjects):
antigravity or .antigravitycursorrules or .cursor/windsurf or windsurfrulesopencode or open-codecodexExclusions: Mentions inside this opensquad-dev SKILL.md itself (documentation), and any comment explicitly labeled as a cross-reference.
Pass: No IDE-specific conditional logic found in shared files.
Fail: Report the file path, relevant line, and the correct location where the change should go instead (i.e., which templates/ide-templates/{ide}/ file).
Present a clear summary:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔧 opensquad Dev Checklist
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Files changed: {N}
Checks run: {N}
✅ Check A: Core file sync — {N}/{N} files in sync
❌ Check B: Skills sync — {file} out of sync
Fix: cp skills/{x}/SKILL.md templates/skills/{x}/SKILL.md
✅ Check F: Package manifest — all directories present
✅ Check J: IDE contamination — no IDE-specific logic in shared files
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Result: {N} issues found
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
If ALL checks pass, report clean:
✅ All {N} checks passed — distribution is consistent.
If any check fails, list the fix commands at the end so the user can approve them in batch.