Claude Project Setup
mohitagw15856/pm-claude-skills
Set up a repo or project so an AI coding agent works well in it — the CLAUDE.md, the context, the guardrails, and the conventions the agent needs to be useful instead of lost.
Guidelines and non-negotiable engineering invariants for modifying opencode-swarm.
$ npx skills add ZaxbyHub/opencode-swarm --skill engineering-conventions -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ZaxbyHub/opencode-swarm engineering-conventions --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/ZaxbyHub/opencode-swarm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/engineering-conventions .claude/skills/engineering-conventions && 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 "engineering-conventions" agent skill from https://github.com/ZaxbyHub/opencode-swarm/tree/main/.claude/skills/engineering-conventions into .claude/skills/engineering-conventions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engineering-conventions", 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/ZaxbyHub/opencode-swarm/tree/main/.claude/skills/engineering-conventionsType 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 ZaxbyHub/opencode-swarm --skill engineering-conventions -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ZaxbyHub/opencode-swarm engineering-conventions --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZaxbyHub/opencode-swarm.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/engineering-conventions .agents/skills/engineering-conventions && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "engineering-conventions" agent skill from https://github.com/ZaxbyHub/opencode-swarm/tree/main/.claude/skills/engineering-conventions into .agents/skills/engineering-conventions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engineering-conventions", 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 ZaxbyHub/opencode-swarm --skill engineering-conventions -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ZaxbyHub/opencode-swarm engineering-conventions --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZaxbyHub/opencode-swarm.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/engineering-conventions .cursor/skills/engineering-conventions && 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 "engineering-conventions" agent skill from https://github.com/ZaxbyHub/opencode-swarm/tree/main/.claude/skills/engineering-conventions into .cursor/skills/engineering-conventions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engineering-conventions", 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/ZaxbyHub/opencode-swarm.git --path .claude/skills/engineering-conventions--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 ZaxbyHub/opencode-swarm --skill engineering-conventions -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ZaxbyHub/opencode-swarm engineering-conventions --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZaxbyHub/opencode-swarm.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/engineering-conventions .gemini/skills/engineering-conventions && 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 "engineering-conventions" agent skill from https://github.com/ZaxbyHub/opencode-swarm/tree/main/.claude/skills/engineering-conventions into .gemini/skills/engineering-conventions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engineering-conventions", 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 ZaxbyHub/opencode-swarm engineering-conventionsInstalls 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 ZaxbyHub/opencode-swarm --skill engineering-conventions -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ZaxbyHub/opencode-swarm.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/engineering-conventions .github/skills/engineering-conventions && 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 "engineering-conventions" agent skill from https://github.com/ZaxbyHub/opencode-swarm/tree/main/.claude/skills/engineering-conventions into .github/skills/engineering-conventions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engineering-conventions", 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 ZaxbyHub/opencode-swarm --skill engineering-conventions -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ZaxbyHub/opencode-swarm engineering-conventions --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZaxbyHub/opencode-swarm.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/engineering-conventions .opencode/skills/engineering-conventions && 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 "engineering-conventions" agent skill from https://github.com/ZaxbyHub/opencode-swarm/tree/main/.claude/skills/engineering-conventions into .opencode/skills/engineering-conventions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engineering-conventions", 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.
engineering-conventionsGuidelines and non-negotiable engineering invariants for modifying opencode-swarm.
Engineering Conventions is an agent skill from ZaxbyHub/opencode-swarm. Guidelines and non-negotiable engineering invariants for modifying opencode-swarm. Load before architecture, plugin initialization, subprocess, tool registration, plan durability, .swarm storage, runtime portability, session/global state, guardrails/retry, chat/system message hooks, or release/cache changes. Authoritative source: AGENTS.md at the repo root and docs/engineering-invariants.md.
Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering State management, Agent instruction files and LLM guardrails. The repository describes itself as: Architect-centric agentic swarm plugin for OpenCode. Hub-and-spoke orchestration with SME consultation, code generation, and QA review. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b63a4bd. 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:
bunnodegitFrom 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 no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Engineering Conventions loads about 4.7k tokens when it runs. Until then it costs about 105 tokens; SKILL.md has 2,278 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 ZaxbyHub/opencode-swarm at commit b63a4bd, republished under its MIT licence (© ZaxbyHub). 2,278 words, ~4,735 tokens.
.claude/skills/engineering-conventions/SKILL.md (or your agent's skills folder).Authoritative source: AGENTS.md at the repo root and docs/engineering-invariants.md. This skill is a pointer + summary so Claude Code loads the right invariants before touching dangerous areas. Read AGENTS.md first. When this skill conflicts with AGENTS.md, AGENTS.md wins.
Before changing shared/exported or runtime-contract code, use repo_map impact_cone to identify likely consumers, then verify them in direct source. Graph evidence is advisory only. If freshness is stale or inconclusive, confidence is low, source is missing, the language is unsupported/dynamic, the graph is absent, or the action fails, rely on direct source, searches, and executable evidence.
Load this skill before beginning implementation work that touches any of:
src/index.ts (plugin entry / initializeOpenCodeSwarm)src/hooks/* (any hook that may run during init or QA review)src/tools/* (tool registration, working-directory anchoring, test_runner)src/utils/bun-compat.ts (subprocess shim — every spawn in the repo eventually flows through here)src/utils/timeout.ts (the withTimeout primitive used by every bounded init step)src/utils/gitignore-warning.ts (Git hygiene; runs on plugin init path)package.json, build configuration, dist/, plugin export shapesrc/plan/*, .swarm/plan-*)src/state.ts, src/hooks/guardrails.ts)mock.module, or temp directoriesIf you are not sure whether you are touching one of these, you are touching one of these.
The full list of 12 invariants is in AGENTS.md. The four that have caused the most recent production regressions:
withTimeout(...) and degrade non-fatally on timeout. Issue #704 (v7.0.3), the v7.3.3 git-hygiene regression, and PR #1920's merge-queue smoke failure all came from violating this. The OpenCode plugin host silently drops a plugin whose entry never resolves; users see "no agents in TUI / GUI" with no error. Bounded ≠ free: withTimeout only stops an unbounded hang — awaited work's real latency still counts toward the ~400 ms repro-704 init deadline. If init work does non-trivial I/O and nothing downstream needs it before server() resolves, register it in the wrapper-owned post-resolution task queue (the repoGraphHook precedent; PR #1356's bundled-skill sync is the exemplar), don't await it or use queueMicrotask inside the initializer; await only fast (<~50 ms) work a later init step depends on. Linux/macOS repro-704 green does not prove Windows — the smoke matrix enforces the 400 ms T1 deadline on the Windows runner, where cold-FS latency is several× higher.bunSpawn(['<bin>', ...]) call must pass cwd, stdin: 'ignore' (unless intentionally interactive), timeout: <ms>, bounded stdio, and call proc.kill() in a finally. An outer withTimeout is not enough — it lets the awaiter proceed but does not abort the child.bun: imports in dist/index.js. Default export is { id, server }. All Bun.* calls go through src/utils/bun-compat.ts. v6.86.8 / v6.86.9 are the cautionary tales.mock.module(...) leaks across files in Bun's shared test-runner process. Use a file-scoped _internals dependency-injection seam (see src/utils/gitignore-warning.ts:_internals and src/hooks/diff-scope.ts:_internals) instead. Restore in afterEach. The writing-tests skill covers this in detail; load it before modifying tests.For test changes, also load .claude/skills/writing-tests/SKILL.md. It covers bun:test API, mock isolation rules, CI per-file isolation, and cross-platform anti-patterns.
test_runner for repo validationThe OpenCode test_runner tool is for targeted agent validation with explicit files: [...] or small targeted scopes. It is not the way to validate the full repo from inside a Claude Code session that orchestrates OpenCode. In this repo:
MAX_SAFE_TEST_FILES = 50 (src/tools/test-runner.ts). Resolutions exceeding this return outcome: 'scope_exceeded' with a SKIP. Do not lean on this — broad scopes can stall or kill OpenCode before that guard fires.contributing.md / TESTING.md directly (per-file isolation loops + tier orchestration).scope: 'all' is gated behind the SWARM_ALLOW_FULL_SUITE=1 env var (intended for opt-in CI mirrors only); there is no allow_full_suite arg. Default to files: [...] instead.Agent prompts in src/agents/*.ts are large TypeScript template literals. They frequently contain characters that have special meaning inside template literals and cause silent parse errors if unescaped:
| Character | Inside template literal | Correct escape |
|---|---|---|
Backtick ` | Terminates the literal | \` (single backslash — renders as ` in output) |
${ | Starts an interpolation | \${ (single backslash) |
Literal backslash \ | Consumed by escape processing | \\ (double backslash renders as \ in output) |
The most common failure pattern: A coder adds an inline code example containing backticks to an agent prompt string. The unescaped backtick silently terminates the template literal, producing a SyntaxError: Unexpected identifier or Unexpected token at the character after the backtick — which appears unrelated to the actual cause.
// WRONG — unescaped backtick terminates the template literal
const PROMPT = `
Use `bun:test` for all tests. // ← bare backtick before "bun" closes the literal
`;
// CORRECT — single backslash before each backtick; renders as Use `bun:test` in output
const PROMPT = `
Use \`bun:test\` for all tests.
`;
// OVER-ESCAPED (also wrong) — triple backslash produces literal \` in the rendered prompt
const PROMPT = `
Use \\\`bun:test\\\` for all tests. // renders as: Use \`bun:test\` (backslashes visible)
`;Detection: If bun run build or bun --smol test reports a parse error at a line number that seems far from any recent change, search the surrounding lines for an unescaped backtick inside a template literal.
Prevention: After adding any inline code example to an agent prompt, run bun run build immediately — the TypeScript compiler catches unescaped backticks as a syntax error before any tests run.
Every PR that touches a relevant area must include an ## Invariant audit section in its description. The format is in AGENTS.md ("Invariant audit required in PRs"). The commit-pr skill enforces this gate before push/PR — load it before committing.
If you cannot prove a touched invariant from source and test output, do not push.
.swarm/evidence/{taskId}.json)Agents NEVER write these files directly. The delegation-gate hook
writes them automatically after each reviewer/test_engineer Task
delegation returns. The schema is defined in src/gate-evidence.ts:
export interface GateEvidence {
sessionId: string; // actual session ID from the Task delegation
timestamp: string; // ISO 8601
agent: string; // 'reviewer' | 'test_engineer' | 'sme' | etc.
}
export interface TaskEvidence {
taskId: string;
required_gates: string[];
gates: Record<string, GateEvidence>;
turbo?: boolean;
}How to verify the flow is working:
delegation-gate
toolAfter hook should automatically write/update
.swarm/evidence/{taskId}.json.update_task_status(completed), the tool reads the
evidence file and verifies the required_gates are all present.update_task_status fails with "required QA gates not yet satisfied"
or "Evidence file is corrupt or unreadable," inspect the evidence
file with cat .swarm/evidence/{taskId}.json to diagnose.Do NOT manually write or fabricate evidence files. This bypasses the gate enforcement and can cause downstream tool failures when the real session IDs are looked up.
When to suspect the flow is broken:
agent or sessionId valuesWorkaround for broken flow: If the hook consistently fails to write the evidence file, escalate to the user — do NOT silently fabricate evidence with placeholder session IDs. The gate check exists to enforce that a real review/test run happened.
See .claude/skills/writing-tests/SKILL.md
§ Cross-Platform Requirements → "macOS rename-visibility race" for the
ENONENT retry pattern that this gate flow triggers on macOS CI.
The most expensive invariant-1 violations come from transitive import chains that silently load heavy modules (WASM, tree-sitter) at plugin init time. A single import { X } from '../../lang' in a tool-time module can transitively load runtime.ts → web-tree-sitter (heavy WASM), spiking init latency well past the repro-704 T1 deadline (observed during issue #1471 development).
src/lang/index.ts re-exports from ./runtime, which statically imports web-tree-sitter. Importing anything from the barrel (from '../../lang') transitively loads WASM at module-eval time.
Wrong: import { LANGUAGE_REGISTRY } from '../../lang' — loads runtime → web-tree-sitter.
Right: import { LANGUAGE_REGISTRY } from '../../lang/profiles' — loads only profiles (string data, no WASM).
import type { Query } from 'web-tree-sitter' — safe (erased at compile time, no module load).import { Query } from 'web-tree-sitter' — unsafe on the init path (loads the WASM module).import() inside an async function (deferred to first call, not module load).--external build flagDynamic import('web-tree-sitter') only defers loading at runtime if --external web-tree-sitter is set in the bun build config. Without it, bun bundles web-tree-sitter inline and the dynamic import resolves from the bundle (no deferral). Check package.json build scripts for the flag.
For any import-chain change touching src/lang/, runtime, or web-tree-sitter:
src/index.ts to verify no heavy module loads at init.bun run build (stale dist gives false regressions).node scripts/repro-704.mjs — T1 must be under 400ms.bun --smol test tests/unit/lang/symbol-graph-init-purity.test.ts — init-path purity tests must pass.When a sandbox executor (src/sandbox/{linux,macos,win32}/*.ts) interpolates environment variables into a sandbox profile, a bwrap rule, or a PowerShell -EnvironmentVariables block, the following rules apply. They exist because a future shell-injection regression in any new sandbox path is a security vulnerability, not just a bug:
/^[A-Za-z_][A-Za-z0-9_]*$/ (a leading letter or underscore, then letters/digits/underscores) before being interpolated. Define or reuse a single isValidEnvKey(key: string): boolean helper colocated with the SandboxExecutor interface in src/sandbox/executor.ts (around line 24+); do not duplicate the regex inline at every call site. Keys that fail validation must be silently dropped (not raised) so that one bad caller cannot wedge the sandbox path — but the drop must be observable in pendingAdvisoryMessages or a structured log, never silent.' by replacing with '\'', then append a trailing single quote. On Windows PowerShell, prefer single-quoted literal contexts (e.g. '$env:NAME') and run values through a psStringEscape-style helper that escapes backtick, $, ", and ` (the special characters in double-quoted PowerShell strings). Single-quoted PowerShell strings are literal — only ' needs escaping, doubling it to ''. If a context requires double-quoted PS values, escape embedded " as `, backtick as , and `$` as `` (backtick is the PS escape character in double-quoted strings;$must be escaped to prevent variable expansion). On bwrap, always pass values as separate argv tokens after the--setenv flag (--setenv KEY VALUE, two tokens), never as a single concatenated KEY=VALUE` token that an intermediate shell would interpret.shell:-interpolate. The same invariant-3 rules (array-form spawn, stdin: 'ignore', cwd, timeout, proc.kill() in finally) apply to sandbox spawns as to any other subprocess — see subprocess-safety cross-link.sandbox/{linux,macos,win32}/*.ts has primary executors plus legacy fallbacks: Windows NativeWindowsSandboxExecutor with RestrictedEnvironmentExecutor / PowerShell wrapper, Linux BubblewrapSandboxExecutor with no-sandbox fallback. When you modify any of the following on the primary executor, update the fallback path in the same change to keep behavior parity and add a parity test:
getEnvOverrides signature or merge semantics.wrapCommand scoping rules (allowed roots, read-only mounts, temp-dir allocation).isAvailable() / capability probe logic.A divergence between primary and fallback that is not exercised by a parity test is a regression. The existing per-OS test files tests/unit/sandbox/{linux,macos,win32}.test.ts must continue to cover both the primary and fallback paths after every env-affecting change — extend these tests rather than relying on dedicated sandbox-envoverride test files that may or may not exist in your branch.
The sast_scan tool supports capture_baseline: true with a phase parameter
to snapshot pre-existing findings. Subsequent scans with the same phase value
perform differential checking — they only fail on new findings, not
pre-existing ones.
NEVER capture a baseline after code changes have been made in a phase. A baseline captured post-edit silently encodes the very bugs the scan is meant to catch as "pre-existing," suppressing them indefinitely. This turns the SAST gate into theater.
Baseline capture also requires at least one supported, existing file to be
successfully scanned. Omitted, empty, or entirely unscannable changed_files
returns capture_baseline requires changed_files to produce a non-empty baseline
instead of reporting a successful no-op capture.
Every baseline fingerprint carries a position-independent reflow identity
(file + rule + flagged-line content). A pre-existing finding whose neighbor
lines were edited, or that moved to a new line, is reported as a
moved_findings entry on the next diff scan — it never gates. Only findings
matching neither the baseline fingerprints nor its reflow identities are NEW.
Re-capturing into an existing baseline with findings that were not in it is
BLOCKED unless the capture passes baseline_refresh_rationale — for
already-indexed AND first-time-indexed files alike, because the tool cannot
distinguish a pre-delegation capture from a failure-response recapture; every
absorbed finding then records a who/when/rationale entry in the baseline
triage log. This is the audited path for genuinely pre-existing findings
(routine per-task captures of first-time files, or findings discovered late
after a file rename) — it is NOT a way to make a failed gate go green:
recapturing with a rationale after a gate failure means accepting findings
that may be coder-introduced. First writes (baseline creation) are snapshots,
not absorptions, and stay free.
declare_scope outputs, git diff --name-only, or the phase's task specs.sast_scan(directory, changed_files=[...], capture_baseline=true, phase=1)sast_scan(directory, changed_files=[...], phase=1)During PR #1704 review, SAST flagged RegExp.prototype.exec() as
"command injection via child_process.exec()" — a false positive that blocked
the gate. With a baseline captured before the phase, this pre-existing false
positive would have been suppressed, and only genuinely new findings would
surface.
© ZaxbyHub, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/engineering-conventions of ZaxbyHub/opencode-swarm.
Open the folder on GitHubat commit b63a4bd
Engineering Conventions 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 |
|---|---|---|---|---|---|---|
| Engineering Conventions this skillZaxbyHub/opencode-swarm | 494 | — | ~4.7k | Automated safety check: Pass | MIT | |
| Claude Project Setupmohitagw15856/pm-claude-skills | 1.4k | — | ~1.2k | Automated safety check: Pass | MIT | |
| Auto HarnessPacificStudio/openase | 268 | — | ~1.2k | Automated safety check: Pass | Apache-2.0 | |
| Megingiard Code Reviewstormpanda/megingiard | 155 | — | ~2.9k | Automated safety check: Pass | Custom licence | |
| Openclaw Workspacewin4r/openclaw-workspace | 288 | — | ~2.4k | Automated safety check: Pass | None | |
| Clawmemyoloshii/ClawMem | 210 | — | ~7.5k | Automated safety check: Pass | MIT |
mohitagw15856/pm-claude-skills
Set up a repo or project so an AI coding agent works well in it — the CLAUDE.md, the context, the guardrails, and the conventions the agent needs to be useful instead of lost.
PacificStudio/openase
Diagnose and strengthen a repository's harness layer: AGENTS.md rules, knowledge layout, architecture boundaries, lint and type gates, API and generated-client contracts, test scaffolding…
stormpanda/megingiard
Conduct a thorough code review of the current Git branch or specific files in Megingiard.
win4r/openclaw-workspace
A skill your agent uses when maintaining or optimizing OpenClaw workspace files — AGENTS.md, TOOLS.md, SOUL.md, USER.md, IDENTITY.md, HEARTBEAT.md, BOOT.md, MEMORY.md, and related checklists and…
yoloshii/ClawMem
ClawMem operational reference for agents at query time — the 3-rule escalation gate, MCP tool routing, the 4 query-optimization levers, pipeline behavior (query vs intentsearch), composite scoring…
cdxgen/cdxgen
Generates AI-BOM, MCP inventory, AI skill inventory, and AI authorship provenance documents with cdxgen, cataloging models, inference services, Hugging Face purls, MCP servers and their…
ZaxbyHub/opencode-swarm
Runs an evidence-gated, quote-grounded audit of a codebase for security, QA, accessibility, performance and more, and writes a verified report without changing source files.
ZaxbyHub/opencode-swarm
Drives a bug report from validation and root-cause tracing through a critic-reviewed plan, an approved minimal fix and a PR-ready closure, never merging without recorded human approval.
ZaxbyHub/opencode-swarm
Codex adapter for opencode-swarm that governs commits, pushes, draft PRs, PR body updates and CI closeout, deferring to the repo's canonical commit-pr protocol.
ZaxbyHub/opencode-swarm
Keeps plans, decisions, evidence and reviewer verdicts in small files so long multi-phase tasks survive context compaction and session resumes.
ZaxbyHub/opencode-swarm
Ingests existing pull request feedback such as review comments and CI failures, verifies each claim, fixes confirmed issues and reports closure status for every item.
ZaxbyHub/opencode-swarm
Monitor a pull request after creation and act autonomously on pushed PR activity.
Categories
Guidelines and non-negotiable engineering invariants for modifying opencode-swarm. Engineering Conventions is an agent skill from ZaxbyHub/opencode-swarm. Guidelines and non-negotiable engineering invariants for modifying opencode-swarm.
Engineering Conventions fits situations like: tasks that involve State management; tasks that involve Agent instruction files; tasks that involve LLM guardrails.
Run `npx skills add ZaxbyHub/opencode-swarm --skill engineering-conventions -a claude-code`. Or copy the skill folder (.claude/skills/engineering-conventions in ZaxbyHub/opencode-swarm) into .claude/skills/engineering-conventions in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ZaxbyHub/opencode-swarm --skill engineering-conventions -a codex`. Or copy the skill folder (.claude/skills/engineering-conventions in ZaxbyHub/opencode-swarm) into .agents/skills/engineering-conventions 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 ZaxbyHub/opencode-swarm --skill engineering-conventions -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/engineering-conventions, .gemini/skills/engineering-conventions, .github/skills/engineering-conventions and .opencode/skills/engineering-conventions in your project.
Going by SKILL.md and its folder, Engineering Conventions needs the command-line tools its instructions call (bun, node and git).
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.
Engineering Conventions is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.7k tokens (SKILL.md is roughly 19k 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 Engineering Conventions: Claude Project Setup (mohitagw15856/pm-claude-skills, 1.4k stars), Auto Harness (PacificStudio/openase, 268 stars), Megingiard Code Review (stormpanda/megingiard, 155 stars) and Openclaw Workspace (win4r/openclaw-workspace, 288 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ZaxbyHub (a GitHub organization) maintains it in ZaxbyHub/opencode-swarm, which has 494 GitHub stars. The repository holds 91 skills in this directory. The repository was last updated on October 10, 2026.
Source: ZaxbyHub/opencode-swarm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.