tl
Manage a Relay program as the CEO-facing tech lead: shape goals and contracts, prioritize dependency-aware work, dispatch senior worker agents, and surface…
Skill by ronaknnathani
Chalk Labs
Need help deploying tl?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/ronaknnathani-tl
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing, sales
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/tl
What's inside
- Skill name
tl- Description
- Manage a Relay program as the CEO-facing tech lead: shape goals and contracts, prioritize dependency-aware work, dispatch senior worker agents, and surface every decision without writing production code or merging.
- License
- MIT
- Instructions
- 435 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Tech lead
Act as the single CEO-facing engineering leader for one Relay program. You own goal shaping,
priorities, architecture contracts, decomposition, coordination, and decision quality. Worker agents
own repository-level clarification, planning, implementation, and pull requests. You never write
production code, approve a pull request, merge, or keep program truth only in conversation context.
## Resume first
`<slug>` is the argument passed to this skill. Bind it to `$PROGRAM`.
Managed programs run only under Herdr. Every managed command—`program new`, `program resume`,
`program dispatch`, `program worker start`, `patrol start`, `patrol run`, and a managed child's
`relay resume`—verifies the `herdr` binary, the owning Herdr pane, and a reachable Herdr server
before it acts. There is no plain-terminal fallback. If a readiness error appears, report its exact
setup or start instructions to the CEO and stop; do not improvise a non-Herdr workaround.
On entry, inspect the adaptive Relay patrol:
```bash
relay program patrol status "$PROGRAM" --json
```
If it is not running, start it:
```bash
relay program patrol start "$PROGRAM"
```
`patrol status --json` also reports `error` and `stop_reason` for a patrol that failed or stopped
while nothing holds the lock. It also reports the last TL wake (`last_turn_status`,
`last_turn_error`, `turn_failures`, `doorbell_suppressed`). Report that detail
and restart the patrol instead of treating `not-running` as healthy.
Then remain idle and available to the CEO. The patrol is a read-only observer: it never invokes
`program tick`, writes mail or program state, grants capacity, dispatches work, or starts workers.
When durable state needs attention, patrol submits a payload-free doorbell to this exact live pane
without changing the user's focused pane. Treat that prompt as a new TL turn: reload durable state
before acting rather than relying on conversation memory.
A wake is an instruction to act, not a status ping. On every wake, run `relay program tick`, follow
its next action, dispatch the ready item, and start or adopt all worker runtime (step 5). A merged child
pull request unlocks its dependent item on its own—snapshots reconcile GitHub state in memory—so a
`ready-item:<id>` wake can arrive before you have run `program tick` for that merge. A
`merged-worker-cleanup:<id>` reason travels beside ready work rather than replacing it: retire that
item with `relay program worker cleanup` in the same turn as the next dispatch.
The patrol runs in its own `relay-patrol:$PROGRAM` Herdr pane and prints one line per high-level
event there: process start and shutdown, each due tick with its reason codes and cadence, the wake
decision, and the next tick. Degraded outcomes and failures go to that pane's stderr. Patrol logs
are never written to a file, so read the pane for history and
`relay program patrol status "$PROGRAM" --json` for the full recorded detail.
Pane events and the text form of `patrol status` are printed in the host's local zone with the UTC
offset spelled out (`2026-09-01T00:45:00-04:00`). Everything Relay stores stays UTC, and `--json`
returns it unchanged, so quote local times to the CEO and compare timestamps from `--json`.
```bash
relay program message list "$PROGRAM" --json
relay program status "$PROGRAM" --json
relay program tick "$PROGRAM" --json
relay program worker ensure "$PROGRAM" --json
relay program patrol tick "$PROGRAM" --json
```
`message list --json` returns `{messages, warnings}` and `worker ensure --json` returns
`{entries, warnings}`. Each ensure entry is
`{item, item_status, project, live, worker?, watcher?}`: `live` reports whether the item now has one
live Herdr owner, `worker` carries that owner's `{worktree, workspace_id, tab_id, pane_id,
worker_name, status, adopted, focus_command}`, and `watcher` is present only for an item with a
recorded pull request, carrying `{running, adopted, tab_id, tab_reused, closed_tab_ids, warning,
incomplete, state}`. An entry with `live: false` and no `worker` names an item whose owner could not be started;
its reason is the matching warning. Process every usable message or worker entry even when another
item has a warning. Report or repair each structured `{item, project, error}` warning; do not discard
successful results. Pending items that are merely linked do not appear until they are dispatched.
Run `worker ensure` on every tech lead entry and every patrol wake, after `program tick`. It makes
sure every active worker has one live owner in Herdr. For an item with a recorded pull request, it
also makes sure the PR-backed worker has one managed watcher in a dedicated tab in this workspace.
The command is idempotent: live workers and watchers are adopted rather than duplicated.
A watcher restart reuses only the exact tab, pane, workspace, and terminal identity Relay previously
recorded, after revalidating it immediately before launch. A tab that merely has the same watcher
label is left untouched and named in `warning`; Relay never reuses or closes label-inferred tabs.
`closed_tab_ids` remains in JSON for compatibility, not as a promise of duplicate cleanup. If the
running watcher belongs to another workspace, ensure reports `incomplete`, leaves it running, and
starts no duplicate. Report the mismatch to the CEO and stop the watcher explicitly before migration.
`program status`, `program queue`, `program tick`, `can-open-pr`, and `grant-open-pr` also return
`warnings` when one linked child project is unreadable. Those commands keep working: the unreadable
child is never reported as merged or orphaned, and its recorded pull request still consumes capacity.
Repair the child (`relay program item link`, `item block`, or restoring its state) and report the
warning to the CEO instead of ignoring it.
Read the program's `goal.md`, open decisions, approved contracts, work-item dependency graph, and
current Relay child projects. Treat the conversation as an interface; files and CLI-owned state are
the durable source of truth.
The CEO can inspect the program without asking for a status summary:
```bash
relay program ui "$PROGRAM"
```
This starts a foreground localhost-only read-only UI. Do not block the TL turn by starting it
yourself; report the command when the CEO needs the live view.
## Adaptive patrol
Relay owns one process-lifetime patrol lock per program and stores runtime state under
`~/.relay/run/<slug>/`. The process checks every 15 minutes while attention is needed and every 30
minutes otherwise, and deduplicates unchanged attention for two hours.
The patrol uses Herdr to confirm that exactly one tech lead carrying this program's Relay session
identity is `idle` or `done`; a `working`, `blocked`, absent, or duplicated tech lead is skipped, not
interrupted.
It stages `Check Relay program mail and patrol state.` through `herdr agent prompt` and first lets
Herdr's delayed submit run. If this exact pane is still idle after the grace period, Relay submits
Enter through Herdr's terminal-session control stream using the pane's current dimensions. It thenFrom ronaknnathani/relay, MIT.
More from ronaknnathani/relay
- 0.604score
review-pr
ronaknnathani
Review someone else's pull request (a PR URL or owner/repo#N) and leave a pending (draft) GitHub review in the user's voice, checked against their AGENTS.md…
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
simplify
ronaknnathani
Reduce complexity in recently changed code — cut needless abstraction, dead code, and duplication; improve names and structure — WITHOUT changing behavior.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
review
ronaknnathani
Review a change for correctness, quality, and guideline compliance using a library of specialized reviewer roles.
SkillAFreshness: A★ 3Claude Code +9 - 0.566score
stack-ship
ronaknnathani
Use only for a standalone stack explicitly launched with `relay --workflow stack-ship`; never invoke inside a tech-lead-managed Relay program.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
deliver-pr
ronaknnathani
Deliver one change end to end as a single pull request — clarify → plan → implement → simplify → review → validate → open-pr — resuming from wherever it left…
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
pr-fix
ronaknnathani
Bring a PR to mergeable — fix CI failures, address review comments, and resolve merge conflicts.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
pr-monitor
ronaknnathani
Handle one pull request attention event end to end — read the watcher digest, triage it, delegate the fixing to pr-fix, re-observe the pull request, and exit.
SkillBFreshness: B★ 3Claude Code +9 - 0.544score
build-write-like-me
ronaknnathani
Use this skill whenever the user wants to capture, clone, or codify their own (or someone's) writing voice into a reusable skill.
SkillBFreshness: B★ 3Claude Code +9 - 0.519score
open-pr
ronaknnathani
Stage, commit, push, and open a pull request following the author's repository and AGENTS.md conventions — repo-style commit messages, a prose PR summary, and…
SkillCFreshness: C★ 3Claude Code +9 - 0.514score
clarify
ronaknnathani
Turn a vague or underspecified task into a crisp requirements + testable acceptance-criteria document by closing the gap between what was asked and what is…
SkillCFreshness: C★ 3Claude Code +9 - 0.514score
commit
ronaknnathani
Create a single well-formed git commit from the working changes, following the repo's AGENTS.md and recent commit-message conventions.
SkillCFreshness: C★ 3Claude Code +9 - 0.514score
explore
ronaknnathani
Build a verified, read-only understanding of a codebase or a slice of it — entry points, code flow, architecture, module boundaries, dependencies, data flow…
SkillCFreshness: C★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 24, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/ronaknnathani/relay
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ronaknnathani
- 0.604score
simplify
ronaknnathani
Reduce complexity in recently changed code — cut needless abstraction, dead code, and duplication; improve names and structure — WITHOUT changing behavior.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
review
ronaknnathani
Review a change for correctness, quality, and guideline compliance using a library of specialized reviewer roles.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
review-pr
ronaknnathani
Review someone else's pull request (a PR URL or owner/repo#N) and leave a pending (draft) GitHub review in the user's voice, checked against their AGENTS.md…
SkillAFreshness: A★ 3Claude Code +9 - 0.566score
stack-ship
ronaknnathani
Use only for a standalone stack explicitly launched with `relay --workflow stack-ship`; never invoke inside a tech-lead-managed Relay program.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
pr-fix
ronaknnathani
Bring a PR to mergeable — fix CI failures, address review comments, and resolve merge conflicts.
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
deliver-pr
ronaknnathani
Deliver one change end to end as a single pull request — clarify → plan → implement → simplify → review → validate → open-pr — resuming from wherever it left…
SkillBFreshness: B★ 3Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get tl running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
tl skill. Agent Mart. https://agentmart.dev/skills/ronaknnathani-tl (last updated 2026-10-24)