# Agent Skills

Agent skills that teach Claude Code and Codex how I work.

Agent skills for Claude Code and Codex: product taste, scaffolding, PR and issue writing, service instrumentation, prose for readers and for agents, and context and transcript debugging. Free and open source.

**Status:** live
**Category:** skills
**Price:** Free & open source
**Platforms:** Claude Code, Codex
**Tags:** Claude Code, Codex, Agent Skills, Developer Tools

![Agent Skills](https://lxbpjvrr41.ufs.sh/f/6KZjuRTQYJxHtpufqgH6ciESV8PasdW2jmf5AGgXRIexqOor)

---

## Install

```bash
npx skills add Mark-Life/agent-skills -g
```

The skills I run every day: the parts of my judgment I got tired of retyping into every session. Each is plain markdown, loaded only when the work matches.

The command above uses the [`skills` CLI](https://github.com/vercel-labs/skills) and installs globally, prompting for which skills and which agents. Add `--skill <name>` for just one, or `--all` to take everything without prompts.

## Coding Workflows

Taste and process for the build loop: what to make, how to start it, how to make it answerable once it is running, how to write it up.

- [`product`](https://github.com/Mark-Life/agent-skills/blob/main/skills/coding-workflows/product/SKILL.md) — scope the ambition to what agents made possible, and name the primitive others compose on.
- [`new-project`](https://github.com/Mark-Life/agent-skills/blob/main/skills/coding-workflows/new-project/SKILL.md) — scaffolds a repo from my Next.js monorepo template and runs the bootstrap.
- [`observability`](https://github.com/Mark-Life/agent-skills/blob/main/skills/coding-workflows/observability/SKILL.md) — one wide event per request or job, high-cardinality fields, span and metric design, OTel export, tail sampling.
- [`pr-issue`](https://github.com/Mark-Life/agent-skills/blob/main/skills/coding-workflows/pr-issue/SKILL.md) — titles in Vim's `area: summary` style, then labelled sections in template order.
- [`media-cdn`](https://github.com/Mark-Life/agent-skills/blob/main/skills/coding-workflows/media-cdn/SKILL.md) — a private object store where a screenshot, GIF or video flips to a public CDN URL, and back.

`product` is the one that runs before any code exists: it decides what is worth building. It makes the agent name the primitive others will compose on and leave the rest to the caller, so an API, an SDK or a spec comes out with a surface someone can build on instead of a pile of features.

`observability` owns the instrumentation decisions for TypeScript services. A request, job or run emits one canonical record carrying every dimension you would want to group by later, instead of log lines scattered through the code, so a production question gets answered by a query rather than by a guess.

A PR body carries `Problem:`, `Solution:`, `Security Impact:`, `Testing:`; an issue carries `Problem:`, `Reproduction:`, `Expected vs actual:`, `Proposed solution:`. Nothing else: no changelog, no checklist, no command output that was not really produced. `media-cdn` is what makes that write-up visual when words are not enough: upload private by default, publish when the image has to be embedded, unpublish when it should not be on the open internet.

## Communication

One skill per direction of writing. [`agent-to-human`](https://github.com/Mark-Life/agent-skills/blob/main/skills/communication/agent-to-human/SKILL.md) governs what the agent says to you: it reasons at any length in private, then answers first, cuts to the decision, and shows only receipts. It is the highest-leverage skill here, because it stops the model narrating what it did and makes it say the thing you needed. [`human-to-agent`](https://github.com/Mark-Life/agent-skills/blob/main/skills/communication/human-to-agent/SKILL.md) governs what you say to the agent: prompt the positive, cut no-ops, give checkable completion criteria. Load it whenever you are writing something an agent will later execute as instruction — a skill, a `CLAUDE.md` or `AGENTS.md`, a set of agent rules, a prompt. [`writing-for-readers`](https://github.com/Mark-Life/agent-skills/blob/main/skills/communication/writing-for-readers/SKILL.md) governs what either of you publishes: an article, a blog post, a course lesson, a landing or docs page. It names nine tells that make prose read as machine-written — the aphorism pair, the thesis opener, negate-then-correct — and carries the rejected and approved version of each from one real rewrite.

The line to draw is between `agent-to-human` and `writing-for-readers`, and it is who came to whom. The first is output handed back to a person who asked for it, so it can assume the question and answer it. The second is prose a reader found on their own, half-skimming on a phone, still deciding whether to keep going.

## Inspect & Debug Agents

These answer one question at two scales: what is actually in the agent's context, and what is it costing you.

- [`session-report`](/directory/session-report) — HTML report of a session's context window: token budget, thinking cost, dumb-zone cutoff, full history.
- [`memory-view`](/directory/memory-view) — secret-redacted HTML explorer for Claude Code's per-project auto-memory. Read-only, no curation.
- [`context-doctor`](/directory/context-doctor) — audits the context auto-loaded into every session and ranks the cuts: prune, gate behind a trigger, or route elsewhere.
- [`harness-doctor`](/directory/harness-doctor) — mines the last N days of transcripts across every project into five fact tables and returns a ranked fix list, each fix carrying the number behind it.

That auto-loaded context is tool and MCP definitions, connectors, plugins, skills, subagents, memory and rules files. You pay for it on every turn, before you have typed anything, so `context-doctor` cross-checks it against what you actually invoke.

`context-doctor` is the single-session view; `harness-doctor` is the fleet view. It reads the last 30 days of bash calls, errors, tokens, human corrections and subagent fan-out across every project on the machine, because the waste is invisible from inside any one session — a command that costs 9 seconds is nothing until you see it ran 1,400 times.

`session-report` and `memory-view` are the one-shot path: nothing to install, one command, one report answering one question. [Peektrace](/products/peektrace) is the same data as a live pane — browse every session, and edit the memory instead of only reading it.

MIT licensed.

## Links

- Product page: https://andrey-markin.com/products/agent-skills
- All products: https://andrey-markin.com/products.md
- Browse on skills.sh: https://www.skills.sh/mark-life/agent-skills
- GitHub: https://github.com/Mark-Life/agent-skills
- Contact: https://andrey-markin.com/#contact
