DC

darellchua2/civiltekk-skills

Developer tools
7 stars Quality 77 Trend 35Apache-2.0

A personal software-development skills collection — the agents, skills, and pipeline tooling I use daily — shared so you can take or adopt .

Overview

A personal software-development skills collection — the agents, skills, and pipeline tooling I use daily — shared so you can take or adopt . - , natively targeting - : Claude Code, Kimi Code, Kilo Code, and the cross-tool ~/.agents/ standard (Agent Skills open format) - A : ticket → PLAN → gated execution → review → merged PR, driven by a handful of slash commands See MIGRATION.md for breaking changes (stale agent cleanup, zip backup format, new --rollback / --no-zip-backup flags) and rollback instructions. These three commands carry most of my day-to-day flow. — a single-skill npx add install gives you the skills (invoked by natural language), not the command bindings. The first two compose: /create-ticket makes the ticket, /run-worktree-pipeline #NNN takes it to a merged PR.

README

CivilTekk OpenCode & Claude Skills

A personal software-development skills collection — the agents, skills, and pipeline tooling I use daily — shared so you can take a single skill or adopt the whole stack.

  • 84 ready-to-load skills + 34 specialist subagents, natively targeting OpenCode v2
  • Same skills install to other harnesses: Claude Code, Kimi Code, Kilo Code, and the cross-tool ~/.agents/ standard (Agent Skills open format)
  • A robust application-development pipeline: ticket → PLAN → gated execution → review → merged PR, driven by a handful of slash commands

v2.0.0 upgrade? See MIGRATION.md for breaking changes (stale agent cleanup, zip backup format, new --rollback / --no-zip-backup flags) and rollback instructions.

Daily-driver commands

These three commands carry most of my day-to-day flow. Slash commands ship with a full deploy — a single-skill npx add install gives you the skills (invoked by natural language), not the command bindings.

Command What it does
/create-ticket Structured GitHub issue or JIRA ticket — platform detection, intake validation, labels. Ticket only: no branch, no PLAN, no execution.
/run-worktree-pipeline Tracker-ticket-to-merged-PR pipeline via git worktrees — sync, PLAN authoring, adaptive review, gated execution, code review, PR merge; fully inline by default (subagents only on explicit request). Usage: /run-worktree-pipeline [--dry-run] [base-branch]
/run-plan Fully-automated per-phase PLAN execution with a tiered verification gate (scoped lint + typecheck + affected tests per phase; full gate on anchors and at exit), per-step traceability → commit → push; inline by default (subagent workers on explicit request).

The first two compose: /create-ticket makes the ticket, /run-worktree-pipeline #NNN takes it to a merged PR.

One execution flavor — inline by default: /run-plan and /run-worktree-pipeline execute fully in-session — zero subagents end to end (plan review — architecture via the architecture-review-skill decision tree —, execution via plan-execution-inline-skill, code review via code-review-inline-skill, and the PR route via the civiltekk-pr-workflow-skill create route all run in-session; the only deployed agent definitions still loaded as checklists are the Step 7 uiux reviewer and the requirements relay). Subagent orchestration (plan-execution-skill --gate workers) is an explicit opt-in on OpenCode — request it and, if its deps are missing, the run proceeds inline with a note. Plan-mode sessions get read-only /worktree-pipeline-preview — the same pipeline walked in preview mode (no worktree, no commits, no pushes, no PRs, no file writes); real execution stays pinned to Build via the command above.

Installation

Five ways in, pick by appetite. All commands below work from any clone of this repo.

You want… Route
One skill/agent, no clone npx github:… add — the shadcn model (§1)
The whole stack, guided civiltekk-setup — the TUI wizard: mode → provider → MCP packs → skill profile → review → install (§2)
The whole stack, scripted/CI civiltekk-setup --quick --yes (§2)
A curated set per project civiltekk-init --project . --preset (§3)
Already inside an OpenCode session install-assistant-skill (catalog + MCP routes) · opencode-repo-setup-skill (per-project setup)

1. Take one skill (or agent) — the shadcn model

No clone needed; npx copies the skill directory into your config. See issue #304.

npx github:darellchua2/civiltekk-opencode-claude-skills add code-principles-skill   # one skill
npx github:darellchua2/civiltekk-opencode-claude-skills add tdd-subagent             # agent + its required skills
npx github:darellchua2/civiltekk-opencode-claude-skills                              # bare = interactive TUI catalog
npx github:darellchua2/civiltekk-opencode-claude-skills remove code-principles-skill

Versioning & rollback — add installs from the latest release tag by default, never an untagged moving tree. Every installed skill dir carries a .skill-source.json provenance stamp (source, ref, version, installedAt, files), and list installed shows what you have vs. the latest release:

npx github:darellchua2/civiltekk-opencode-claude-skills add                  # latest vX.Y.Z release
npx github:darellchua2/civiltekk-opencode-claude-skills#v12.18.0 add         # pinned — rollback = older tag
npx github:darellchua2/civiltekk-opencode-claude-skills --ref dev add       # unreleased dev tree
npx github:darellchua2/civiltekk-opencode-claude-skills list installed              # installed vs latest + update marker

Upgrade = re-run add (idempotent overwrite); downgrade = same with an older #vX.Y.Z. Installs carry an exact ref even when the fetched release’s own installer predates stamping — the current installer post-stamps provenance after the tagged install. (--source . installs from a local checkout for maintainers; in any git checkout of this repo add always installs that working tree — the latest-tag routing applies to npx installs, which have no .git.)

Other harnesses — skills follow the Agent Skills open standard; --target controls the destination:

Target Destination Notes
opencode (default) ~/.config/opencode/{skills,agents}/ Full opencode compat (model injection, strict-allowlist detection)
auto all detected harness config roots Probes ~/.config/opencode, ~/.agents, ~/.claude, ~/.kimi-code, ~/.config/kilo, ~/.zcode, ~/.copilot — installs to every hit (add only; none found → error); --dry-run emits one aggregated JSON doc
claude ~/.claude/skills/ · agents ~/.claude/agents/ Skills verbatim (model: stripped); agents get additive tools:/disallowedTools: translation
agents ~/.agents/{skills,agents}/ Cross-tool shared dir — skills read by Kimi Code and pi, agents Kimi-only (pi has no agents concept); verbatim copies
kimi ~/.kimi-code/{skills,agents}/ (user) · .kimi-code/ (project) Kimi Code native dirs; additive frontmatter translation
kilo ~/.config/kilo/agent/ + ~/.kilo/skills/ (user) · .kilo/ (project) Kilo Code native dirs; additive permission:-map translation
zcode ~/.zcode/{skills,agents}/ (user only) ZCode dirs; additive tools:/disallowedTools: translation with ZCode deviations (subagent rules dropped — nesting ban; tools: omitted for skill-allow agents — exhaustive allowlists; steps:→maxTurns:). Project installs use the opencode target (Beta is user-level)
copilot agents ~/.copilot/agents/ (user) · .claude/agents/ (project) · skills .github/skills/ (project) Claude-format translation (same as claude); project dirs are the per-content-type documented VS Code workspace locations
both opencode + Claude Code paths Agents install to opencode only

--project installs into ./.opencode/ (agents, opencode.json, manifests — full-service config generation) with skills going to ./.agents/skills/ (Agent Skills standard dir natively discovered by OpenCode and pi) instead of user scope. --no-deps skips declared skill prerequisites.

The catalog is also consumable via the ecosystem CLI: npx skills add darellchua2/civiltekk-opencode-claude-skills (skills only — project default, -g for global; no dependency resolution or agent installs). This installer mirrors its ergonomics: -g, -y, -p, rm, list, and --target auto all work; two divergences are deliberate — user scope is the default (not project), and installs are per-target copies (not symlinks) because targets apply model/permission translations.

2. Full deploy — the whole stack

Copies config + agents + skills to ~/.config/opencode/ and installs four PATH commands (civiltekk-setup to re-run the deploy from anywhere, civiltekk-init for project-scoped installs; opencode-setup/opencode-init remain as compat symlinks for existing scripts).

civiltekk-setup                    # interactive — menu: 0 guided TUI wizard, or multi-pick: one base (1-3) + add-ons (5, 6), e.g. 2,6 or 3,5,6
civiltekk-setup --quick --yes      # non-interactive: config + skills, skip dependency checks
civiltekk-setup --from-plan plan.json   # execute a wizard-emitted install plan headlessly
# Windows: powershell -ExecutionPolicy Bypass -File .\deploy\setup.ps1 -Quick -Yes
# Windows cmd: deploy\setup.cmd -Quick -Yes   (forwards to setup.ps1)
# No clone? npx -p github:darellchua2/civiltekk-opencode-claude-skills civiltekk-setup --quick --yes

The guided TUI wizard (menu option 0, or deploy/tui.mjs install-wizard) walks mode → provider → MCP packs → skill profile with an OpenCode-style review screen showing the exact actions before anything runs (including each pack’s runtime install command); it emits an install-plan.json that --from-plan executes — the wizard only collects decisions, setup.sh’s plan executor is the single execution owner. The classic multi-pick menu stays as the --no-tui fallback (#673): one base mode (1 quick / 2 skills-only / 3 full) plus any add-ons (5 PeonPing, 6 per-item picker) — 2,6 or 3,5,6; 4 (CLI update) runs standalone. The same combos are first-class flags: --skills-only --select, --quick --peonping. Pack installs need a working Python (python3/python/py — the Windows Store python3 alias stub is detected and skipped over); setup prints a runtime-context banner (OS, invocation route, node/python versions) before it acts.

Provider swap (Z.AI default): ./deploy/setup.sh --provider anthropic|openai|openrouter|zai — agent models are tier-based and provider-agnostic (details in the collapsed reference below). Full flag table: ./deploy/setup.sh --help, or the collapsed reference at the end.

Multi-agent detection (#573): the deploy also probes which coding agents are installed (opencode, pi, codex, claude, kimi, kilo) and prints a found/missing table. With pi or codex present and a Z.AI key captured, it seeds a zai provider into ~/.pi/agent/models.json (apiKey via $ZAI_API_KEY interpolation — key never stored) and ~/.codex/config.toml (env_key; opt-in via codex --profile zai), then restarts the opencode background service so {env:} MCP substitution picks up the key — the fix for “the bashrc export never reached the MCP servers”.

3. Per-project subset — presets

Not every project needs 34 agents + 84 skills. civiltekk-init installs a curated preset into ./.opencode/ (clean-slate isolation; additive over a global deploy — it warns):

civiltekk-init --list categories                              # introspect (JSON)
civiltekk-init --expand review                                # preview the resolved set
civiltekk-init --project . --preset review --yes              # install
npx github:darellchua2/civiltekk-opencode-claude-skills --project . --preset review --yes   # no prior deploy needed
Preset Use for
core Minimal baseline (explorer + civiltekk-git-commits, continuous-learning, codegraph)
review Code quality gates (code/architecture/language reviewers + 26 skills)
frontend Web frontend (Next.js/React/a11y + uiux-reviewer, responsive-audit)
backend Server / devops-lite (Python/DB/API/security + language-reviewer)
docs Document generation (documentation + coverage + office docs)
devops Git / infra / release (repo-ops + opentofu-explorer)
business BD / founder workflows (discovery → requirements → technical-design)
research Autonomous loops (autoresearch ml/code/research; ml needs GPU)
inline-workers Inline delegation family — plan-execution-inline-skill + the testing/linting/documentation/responsive-audit/code-review/requirements inline skills, the architecture-review-skill decision-tree reviewer, the requirements-inline-skill detection-gate delegate, and their knowledge-skill closure; companion to the inline-default /run-plan and /run-worktree-pipeline
cad CAD / robotics / hardware (cad-specialist + router skill + 5 capability siblings)

Directory structure

civiltekk-opencode-claude-skills/
├── skills/                      # 84 skill directories (source of truth)
├── agents/                      # 34 subagent .md files (source of truth)
├── plugins/                     # Local OpenCode plugins (vibeguard, ponytail, learnings, auto-continue, question-repair, location-keepalive, laya-guard)
│   └── vibeguard.config.json    # Secret-masking regex patterns
├── deploy/                      # User-space deployment (setup.sh = bins: civiltekk-setup (+opencode-setup compat); opencode.json = config source of truth)
├── installer/                   # npx installer (init.mjs = bin: opencode-skill; registry, tiers, presets)
├── tests/                       # bats test suite (guards counts, isolation, portability)
├── PLANS/                       # Execution plans per ticket (git-committed history)
├── LEARNINGS/                   # Knowledge-persistence skeleton (auto-provisioned in target projects)
├── CHANGELOG.md                 # Release history (semantic-release generated)
├── CONTRIBUTING.md              # Contribution guide (skill/agent authoring)
├── MIGRATION.md                 # v1.x → v2.0 migration guide
└── THIRD_PARTY_LICENSES.md      # Vendored-skill attributions (MIT/Apache-2.0)

skills/ and agents/ are the single source of truth — edit there, then redeploy. Never edit deployed ~/.config/opencode/ copies. Every skill directory is fully self-contained (the npx add copy model — enforced by tests/test_skill_isolation.bats).

Support & reporting issues

Both issue forms enforce a search-first attestation and structured fields — a complete report gets fixed faster:

Blank issues are disabled; pick a template. Include your environment (OS, Node, opencode version, install method) for bugs.

Want to contribute a skill or agent? See CONTRIBUTING.md.

Prerequisites

  • Node.js v20+ and npm (setup scripts can install Node for you; nvm recommended). The --select picker dashboard wants node ≥ 26.4 — below it the picker falls back to linear prompts; every other flow runs on 20+.
  • An API key for your provider (Z.AI default; Anthropic/OpenAI/OpenRouter via --provider)
  • GitHub CLI (gh) — recommended for ticket/PR flows (gh auth login)
  • ripgrep (rg) — recommended, faster search; falls back to grep

Deep reference

Everything below is detail you rarely need at first install — expanded on demand.

Full setup reference

License

Apache-2.0 — see LICENSE. Vendored skills carry their own attributions in THIRD_PARTY_LICENSES.md.

View the full README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add darellchua2/civiltekk-skills
New to MCP? Start with the mcpskill.org guide →