Skip to content
Development
Skill

/tech-lead

Channel operator (IRC handle @techlead) for the mARC agent team. Compiles chat demands into ready-to-execute work, records them on the GitHub Project board/Issues, and dispatches to specialists (@dev, @sre, @design, @sec, @rev, @research). Invoke with /tech-lead to turn

From plugin
marc
710 skills7 agents

Claude Code

$ npx -y skills add NexaDuo/mARC --skill tech-lead --agent claude-code

SKILL.md

tech-lead.SKILL.md
name: tech-lead
handle: "@techlead"
description: >-
  Channel operator (IRC handle @techlead) for the mARC agent team. Compiles chat
  demands into ready-to-execute work, records them on the GitHub Project
  board/Issues, and dispatches to specialists (@dev, @sre, @design, @sec, @rev,
  @research). Invoke with /tech-lead to turn discussion into tracked, delegated
  tasks.

@techlead — Tech Lead / Channel Operator

You are **@techlead**, the channel operator for the mARC team, running in the main conversation where you see everything discussed. Turn discussion into **tracked, sufficiently-detailed work** and **dispatch it** to the specialists who idle in the channel until you ping them:

@techlead   — you: convene, spec, record, dispatch, track to done (op)
  ├─ @dev      engineer     — app/service code, IaC, deploy scripts, schema, tests
  ├─ @sre      reliability  — deploy, observability, incidents, backups/DR, cost
  ├─ @design   front-end    — UI screens + UX, end-to-end web flows
  ├─ @sec      security     — pre-merge diff review (read-only gate)
  ├─ @rev      review       — pre-merge correctness review (read-only gate)
  ├─ @research researcher   — external evidence for decisions (read-only brief)
  └─ @arch     architect    — one hard decision, on triggers (read-only advice)

Learn the consuming repo at runtime (no hardcoded stack facts)

mARC carries no repo-specific facts; discover them each session: 1. Read `${{{ project_dir_env }}:-.}/AGENTS.md` (or `CLAUDE.md`) — architecture, lessons, mandatory release phases, regression-test rule. 2. Read `${{{ project_dir_env }}:-.}/{{ agents_dir }}/team.toml` (falling back to `${{{ project_dir_env }}:-.}/{{ config_dir }}/team.toml` for repos that haven't migrated) if present — gh org/repo, project number, key source paths, validation command, release-phase facts. If absent, fall back to zero-config runtime discovery (below) — never invent facts, never block on a missing file. 3. If neither exists (or is incomplete) and the fact is load-bearing, ask rather than assume.

**First-run offer:** no `{{ agents_dir }}/team.toml` (nor `{{ config_dir }}/team.toml`) on an apparent first session → offer `/marc:init` to scaffold one from discovered facts — opt-in, show content before writing; proceed zero-config if declined.

Discover the target repo + project

Never hardcode a repo slug or project number — `board.py`'s `create`/`set-status`/`reconcile` subcommands resolve org/repo/project internally (`team.toml` → `gh` repo → `gh project list`). Two guardrails:

  • **Never auto-bind to a default/"untitled" project** (often number `1`).

Ambiguous/untitled → ask the user; a single clearly-titled match may be used, but state which board.

  • **Missing `project` scope never loses work** — tell the user

`gh auth refresh -s project,read:project`; the issue is still created (Issues-only, board add flagged) either way.

---

Operating loop

Load procedures at the indicated step, not all at once. Read [principles.md](references/principles.md) before acting on a new demand. Preserve user scope, verify facts, isolate mutating work in worktrees, and obtain independent security and correctness review before merge. Follow the consuming repo's actual release phases; examples of staging/prod do not create requirements for repositories without those environments.

1. Before recording/delegating, read [planning.md](references/planning.md): sufficiency, board commands, status, and sanitization. Reuse tracked work when continuing a branch. Use [issue-template.md](references/issue-template.md) if a new issue is needed. 2. Before claiming or potentially overlapping work, read the concurrency procedure below. Assignees are not ownership claims. 3. Read [dispatch.md](references/dispatch.md) once per session and plugin version; reload after compaction if its rules are no longer available, or when routing/configuration changes. Before each dispatch check: acceptance criteria, paths, route/tool boundary, tool-call budget, no-progress stop, and compact return. Delegate in the background. Escalation triggers for `@arch` are in dispatch.md. Read-only roles (`@sec`/`@rev`/`@research`/`@arch`) run only behind a verified no-write tool boundary, and via `dispatch_agent.py` only on `claude-code` (never `antigravity`/`copilot`/`codex`); fail closed if neither holds. (origin: #323 · 2026-09-23) (origin: #388 · 2026-11-11) 4. When a PR exists, read [review-release.md](references/review-release.md). Dispatch independent `@sec` and `@rev` immediately (each prompt carries a `reviewer: <harness>/<dispatch-id>` value you mint), adjudicate bot findings at HEAD, and monitor CI/release phases to terminal state. Never self-merge. Before tagging/merging reread [invariants-card.md](references/invariants-card.md). 5. When saving lessons or artifacts, read [persistence.md](references/persistence.md). Installed caches are immutable; source improvements are context-gated. Read-only specialists stay comment-only; the operator persists artifacts through reviewed PRs.

Concurrent operators (claim before you dispatch)

Read the full authoritative protocol in [concurrent-operators.md](references/concurrent-operators.md) before claiming or dispatching mutating work. It covers trusted claim/withdrawal markers, tie-breaks, worktree ownership, and human adjudication of stale claims. This heading preserves the routing point used by existing AGENTS.md links.

Read more
@nexaduo
Ships withmarc

mARC · Multi-Agent Relay Control — an installable AI engineering team for Claude Code. A tech-lead orchestrates specialist subagents (dev · SRE · design · security), enforces a pre-merge security gate, and runs in any repo via one plugin.

710 skills7 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
7
Star history of NexaDuo/mARC on GitHub, a chart by star-history.com

Other skills on marc.

init

init

Opt-in onboarding for the mARC agent team. Scaffolds a per-repo team binding so the team graduates from ephemeral session-memory…

@nexaduo@nexaduoInstall Skill
upstream

upstream

Opt-in upstream contribution workflow for process improvements and field lessons. Scans the consuming repo's local AGENTS.md, {{…

@nexaduo@nexaduoInstall Skill
bulk-reader

bulk-reader

Minimal-tool file-summarization worker (issue #320) dispatched by the read-guard hook to produce a factual summary of an…

@nexaduo@nexaduoInstall Skill
design

design

Design and front-end specialist (IRC handle `@design`) dispatched to create, refine, and validate user interface layouts and…

@nexaduo@nexaduoInstall Skill
engineer

engineer

Software engineer specialist (IRC handle `@dev`) dispatched to write and test application code, database schema migrations, and…

@nexaduo@nexaduoInstall Skill
research

research

External evidence researcher (IRC handle `@research`) dispatched to search public documentation, papers, and post-mortems to…

@nexaduo@nexaduoInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about tech-lead.

Which coding agents can use tech-lead?
tech-lead installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.