2026-04-09 17:49:15 -04:00
# Create Your First Skill
AgentOps is built out of skills. A good first contribution is not "make a huge framework." It is "teach the system one reusable intent."
This guide shows the smallest current path to adding a new skill without tripping the repo gates.
## Before You Start
Pick a skill idea that is:
- Narrow: one clear job, not an entire workflow
- Reusable: something you would invoke more than once
- Observable: it should produce an artifact, decision, or validation step someone can check
Good first-skill ideas:
- A focused validator for one common failure mode
- A domain-specific research or triage helper
- A contribution helper for one external tool or service
- A narrow knowledge-management skill that transforms one artifact type into another
Avoid first-skill ideas that:
- duplicate an existing skill in `docs/SKILLS.md`
- require a big new runtime abstraction
- mix discovery, implementation, and release into one entrypoint
## The Minimum Shape
Create a directory:
``` bash
mkdir -p skills/your-skill-name
```
Then create `skills/your-skill-name/SKILL.md` using the current frontmatter contract:
``` md
---
name: your-skill-name
description: 'What this skill does. Triggers: "trigger phrase", "other phrase".'
skill_api_version: 1
context:
window: fork
intent:
mode: task
sections:
exclude: [HISTORY]
intel_scope: topic
metadata:
tier: execution
---
# your-skill-name
## Purpose
What this skill is for and what problem it solves.
## When to Use
- Trigger condition one
- Trigger condition two
## Inputs
- What the user should provide
- Any repo or runtime assumptions
## Instructions
1. The first concrete step.
2. The main execution flow.
3. The validation or closeout step.
## Output
- What artifact, decision, or side effect this skill should produce
## Examples
```text
Example prompt or invocation
```
```
Use [templates/skill.template.md](templates/skill.template.md) as a starting point if you want a copyable scaffold.
## Pick The Right Tier
Most first contributions should use one of these:
- `execution`: a focused task skill
- `session`: onboarding, status, or recovery help
- `knowledge`: transforms or traces knowledge artifacts
- `product`: product, docs, or release oriented
- `contribute`: contribution-specific workflow support
feat(docs,skills): rebuild Pages site with MkDocs Material + harden RPI orchestrator delegation contract
## Docs site — boshu2.github.io/agentops
- Replace Jekyll minima with MkDocs Material (slate dark palette default)
- Landing hero scoped to .landing-hero (no gradient bleed on inner pages)
- Section landings (getting-started, architecture, reference, contracts, levels) with narrative ledes
- Generate skill catalog + per-skill pages from skills/*/SKILL.md at build
- Generate CLI reference from cli/docs/ at build (fails build on missing source)
- Fix every internal link via one-shot migration (scripts/migrations/2026-04-19-fix-docs-links.py)
- Wire mkdocs build --strict into pre-push gate (Check 25a)
- Replace .github/workflows/pages.yml with .github/workflows/docs.yml (actions/deploy-pages)
- README + docs/CONTRIBUTING updated with docs-build toolchain on-ramp
- tests/docs/validate-links.sh patched to understand mkdocs-generated paths
## RPI orchestrator strict-delegation contract
- Strict sub-skill delegation is now the default for /rpi, /discovery, /validation. No --full flag — always on.
- Canonical contract in skills/shared/references/strict-delegation-contract.md (plus Codex mirror)
- Forged learning with detection phrases + corrective actions (ao-inject-ready)
- Rename --no-lifecycle -> --no-scaffold in /discovery (Claude + Codex) with deprecation alias through v2.40.0
- Harden inline-work hotspots with orchestrator-owned markers in /crank STEPS 3a.3, 6.5, 8.7 + Inline Work Policy footer
- Flag consistency: --auto and --interactive scopes documented; --complexity syntax formalized
- CHANGELOG [Unreleased] documents + scaffolds; runtime hook enforcement explicitly deferred
## fix(hooks): go-test-precommit skips when no Go files staged
- Previously ran go vet + go build unconditionally, blocking non-Go commits when Go toolchain was missing or at a different version
- Now checks staged diff and exits cleanly if no *.go or go.{mod,sum,work} files are staged
- Applied to both hooks/ (source) and cli/embedded/hooks/ (synced)
Provenance: full RPI lifecycle with strict delegation at every phase boundary (Phase 1 Skill(discovery) -> Phase 2 Skill(crank) -> Phase 3 Skill(validation) -> Skill(vibe), Skill(post-mortem), Skill(retro)).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 10:37:58 -04:00
See [SKILL-API.md](SKILL-API.md) for the full frontmatter contract and [../skills/SKILL-TIERS.md](https://github.com/boshu2/agentops/blob/main/skills/SKILL-TIERS.md) for the full taxonomy.
2026-04-09 17:49:15 -04:00
## Keep The Entry Point Lean
Your `SKILL.md` should be the operator surface, not the whole encyclopedia.
If the skill needs more detail, add:
- `references/*.md` for deeper guidance
- `scripts/*.sh` for helper logic or validation
- `schemas/*.json` only when downstream tooling consumes a structured contract
If you add files under `references/`, make sure `SKILL.md` links to them. CI fails when reference files exist but are not linked.
## Common CI Footguns
These are the most common ways first skill PRs fail:
- Missing or stale frontmatter
- New references not linked from `SKILL.md`
- Adding a skill directory without syncing counts
- Leaving `TODO` or `FIXME` text in `SKILL.md`
- Adding symlinks anywhere in the repo
This repo is strict because skills are shipped artifacts, not informal notes.
## Validate Before You Open A PR
Run the current local checks:
```bash
# Required for any skill change
bash skills/heal-skill/scripts/heal.sh --strict
# Required when docs or skill counts change
bash tests/docs/validate-doc-release.sh
# If you added or removed a skill directory
2026-07-14 22:01:50 -04:00
python3 scripts/generate-skill-mesh.py
2026-04-09 17:49:15 -04:00
# Recommended fast gate before push
scripts/pre-push-gate.sh --fast
```
If your change affects Codex behavior or the checked-in Codex bundle, also run:
``` bash
bash scripts/audit-codex-parity.sh --skill your-skill-name
bash scripts/validate-codex-generated-artifacts.sh --scope worktree
```
## Where To Look For Good Examples
Start from a simple, high-signal skill rather than the biggest orchestration layer.
Useful examples:
feat(skills)!: skill-corpus prune phase 2 — fold 39 sources into 21 targets + cut reverse-engineer-rpi (105→65) (ag-s43tg #single-writer-final-pass)
21 trigger-graft augments (aug/* branches) merged; 40 skill dirs removed across
skills/, skills-codex/, images/*; dispositions ledger flipped to terminal
historical rows (42, rows never deleted); all factory surfaces regenerated
(registry, domain map, context map, codex twins+hashes, overrides catalog,
SKILL-TIERS, count diagrams); embedded using-agentops retired (BC5 carve-out);
validators/canaries repointed to fold targets (bd-era + Lane-A pre-existing
reds fixed honestly: mkdocs strict, beads canary, council verdict schema,
finding-registry rows, prompt catalog); vibe reference library + ship-loop
anti-patterns + brainstorm ideation refs rescued into fold targets.
Also clears the account-rotation factory-parity debt (3384f5638).
Closes-scenario: ag-s43tg#single-writer-final-pass
Bounded-context: BC4-Factory
Evidence: docs/plans/ag-s43tg-trigger-manifest.md (pinned-phrase contract)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 09:49:02 -04:00
- [skills/research/SKILL.md ](skills/research.md )
2026-07-13 05:55:45 -04:00
- [skills/postmortem/SKILL.md ](skills/postmortem.md )
feat(skills)!: skill-corpus prune phase 2 — fold 39 sources into 21 targets + cut reverse-engineer-rpi (105→65) (ag-s43tg #single-writer-final-pass)
21 trigger-graft augments (aug/* branches) merged; 40 skill dirs removed across
skills/, skills-codex/, images/*; dispositions ledger flipped to terminal
historical rows (42, rows never deleted); all factory surfaces regenerated
(registry, domain map, context map, codex twins+hashes, overrides catalog,
SKILL-TIERS, count diagrams); embedded using-agentops retired (BC5 carve-out);
validators/canaries repointed to fold targets (bd-era + Lane-A pre-existing
reds fixed honestly: mkdocs strict, beads canary, council verdict schema,
finding-registry rows, prompt catalog); vibe reference library + ship-loop
anti-patterns + brainstorm ideation refs rescued into fold targets.
Also clears the account-rotation factory-parity debt (3384f5638).
Closes-scenario: ag-s43tg#single-writer-final-pass
Bounded-context: BC4-Factory
Evidence: docs/plans/ag-s43tg-trigger-manifest.md (pinned-phrase contract)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 09:49:02 -04:00
- [skills/doc/SKILL.md ](skills/doc.md )
- [skills/implement/SKILL.md ](skills/implement.md )
2026-04-09 17:49:15 -04:00
## Opening The PR
Explain four things clearly:
- the user intent the skill handles
- why an existing skill was not enough
- what artifact or outcome it produces
- what checks you ran locally
Useful supporting docs:
- [CONTRIBUTING.md ](CONTRIBUTING.md )
- [SKILL-API.md ](SKILL-API.md )
- [testing-skills.md ](testing-skills.md )
- [docs/SKILLS.md ](SKILLS.md )