# Agent Skills for Real Engineering

[Browse on skills.sh](https://skills.sh/ecology9191/skills) · [Install from npm](https://www.npmjs.com/package/@ecology91/skills)

Composable agent skills for engineering and productivity workflows. The fork tracks compatible improvements from `mattpocock/skills`, keeps its own local-first tracker and workflow adaptations, and works across Claude Code, Codex, OpenCode, and other skill-compatible agents.

## Install

Pick one route. Both install the same promoted Engineering and Productivity skills.

### Recommended — skills.sh

Use [skills.sh](https://skills.sh/ecology9191/skills) with Claude Code, Codex, OpenCode, or another compatible agent:

```bash
npx skills@latest add ecology9191/skills
```

Pick the skills and coding agents you want. Include `setup-agent-skills` when you use the engineering workflow skills.

### Fork package installer

The public npm package installs the complete promoted set or an explicit subset into `~/.agents/skills`:

```bash
npx --package @ecology91/skills ecology91-skills
```

The interactive menu contains the promoted `engineering` and `productivity` buckets. Use `--all`, `--bucket`, or `--skill` for a non-interactive selection.

Run `/setup-agent-skills` once in each engineering repository, then restart the agent so it reloads its skill list.

## Invocation model

**User-invoked** skills run only when a human explicitly names them. **Model-invoked** skills can also be selected automatically when their descriptions match the work. The Claude Code and Codex metadata enforce the same split; see [the invocation contract](./.agents/invocation.md).

## Engineering

Daily code-work skills.

### User-invoked

- **[ask-matt](./skills/engineering/ask-matt/SKILL.md)** — Route a situation to the right skill or workflow in this repository.
- **[grill-with-docs](./skills/engineering/grill-with-docs/SKILL.md)** — Stress-test a plan while maintaining the project domain model, `CONTEXT.md`, and ADRs.
- **[implement](./skills/engineering/implement/SKILL.md)** — Implement a spec or ticket set with agreed TDD seams and a closing code review.
- **[improve-codebase-architecture](./skills/engineering/improve-codebase-architecture/SKILL.md)** — Find high-leverage deep-module opportunities and work through the selected candidate.
- **[opensrc](./skills/engineering/opensrc/SKILL.md)** — Inspect package or repository source code as the hard source of truth.
- **[setup-agent-skills](./skills/engineering/setup-agent-skills/SKILL.md)** — Configure the local-first tracker, triage vocabulary, and domain-doc layout shared by the engineering flows.
- **[to-spec](./skills/engineering/to-spec/SKILL.md)** — Synthesize the current conversation into a spec and publish it to the configured tracker.
- **[to-tickets](./skills/engineering/to-tickets/SKILL.md)** — Break a plan or spec into tracer-bullet tickets with explicit blocking edges.
- **[triage](./skills/engineering/triage/SKILL.md)** — Move issues and external merge requests through the repository's triage state machine.
- **[wayfinder](./skills/engineering/wayfinder/SKILL.md)** — Map a multi-session effort as linked decision tickets and resolve the route before implementation.

### Model-invoked

- **[code-review](./skills/engineering/code-review/SKILL.md)** — Review a diff in parallel against repository standards and its originating spec.
- **[code-structure](./skills/engineering/code-structure/SKILL.md)** — Separate domain orchestration from shared operational mechanics when workflows duplicate behavior.
- **[codebase-design](./skills/engineering/codebase-design/SKILL.md)** — Design deep modules with small interfaces, clean seams, and interface-level tests.
- **[diagnosing-bugs](./skills/engineering/diagnosing-bugs/SKILL.md)** — Run a gated reproduce, minimise, hypothesise, instrument, fix, and regression-test loop.
- **[domain-modeling](./skills/engineering/domain-modeling/SKILL.md)** — Build and sharpen the project's shared domain language and architectural decisions.
- **[prototype](./skills/engineering/prototype/SKILL.md)** — Build a focused, shareable prototype to answer a design question.
- **[research](./skills/engineering/research/SKILL.md)** — Investigate a question from primary sources and capture a cited Markdown report.
- **[resolving-merge-conflicts](./skills/engineering/resolving-merge-conflicts/SKILL.md)** — Resolve an active merge or rebase conflict hunk by hunk from both sides' intent.
- **[sandcastle-shadow-monitor](./skills/engineering/sandcastle-shadow-monitor/SKILL.md)** — Supervise a scoped Sandcastle run while separating issue failures from reusable workflow churn.
- **[setup-coding-quality-checks](./skills/engineering/setup-coding-quality-checks/SKILL.md)** — Install and document strict local quality checks for agent-assisted development.
- **[tdd](./skills/engineering/tdd/SKILL.md)** — Build features and fixes as small red-green-refactor vertical slices.
- **[to-qa](./skills/engineering/to-qa/SKILL.md)** — Create a local QA To Do session from completed work under an explicit source issue.
- **[wizard](./skills/engineering/wizard/SKILL.md)** — Generate an interactive shell guide for the steps only a human can perform.

## Productivity

Daily non-code workflow skills.

### User-invoked

- **[grill-me](./skills/productivity/grill-me/SKILL.md)** — Interview the user until every reachable branch of a plan or decision is resolved.
- **[handoff](./skills/productivity/handoff/SKILL.md)** — Produce a portable continuation document for another agent, directory, or harness.
- **[teach](./skills/productivity/teach/SKILL.md)** — Teach a concept across sessions using the current directory as a stateful learning workspace.
- **[to-questionnaire](./skills/productivity/to-questionnaire/SKILL.md)** — Turn a decision gap into a questionnaire for the person who can answer it.
- **[wait-what](./skills/productivity/wait-what/SKILL.md)** — Re-pitch the last message with missing context, plain language, and project vocabulary.

### Model-invoked

- **[find-skills](./skills/productivity/find-skills/SKILL.md)** — Discover and evaluate installable skills for a concrete task or missing capability.
- **[grilling](./skills/productivity/grilling/SKILL.md)** — Run the reusable frontier-based interview behind the grilling workflows.
- **[use-subagents-frequently](./skills/productivity/use-subagents-frequently/SKILL.md)** — Delegate bounded independent work when breadth or context pressure warrants it.
- **[writing-for-agents](./skills/productivity/writing-for-agents/SKILL.md)** — Write predictable skills, `AGENTS.md`, `CLAUDE.md`, and documents reached by agent pointers.

## Repository layout

Only `engineering/` and `productivity/` are promoted and shipped. `misc/` contains retained but unpromoted skills, `in-progress/` is public beta work, and `deprecated/` records retired skills. See each bucket's README for its complete contents.

For a local checkout, run `scripts/link-skills.sh` after adding, removing, or renaming a skill. It links every active skill into `~/.claude/skills` and `~/.agents/skills`, so future pulls update the installed copy in place.
