Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 0 additions & 11 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,3 @@

When reviewing a pull request, load and apply:
https://github.com/AbsaOSS/agentic-toolkit/blob/master/skills/pr-review/SKILL.md

### Skill-specific checks — apply when any `SKILL.md` is modified

For every modified `SKILL.md`, also verify:
- `name` is kebab-case, matches the directory name, and is ≤ 64 chars
- `description` covers both "what it does" AND "when to trigger" with explicit trigger keywords
- `description` is ≤ 1024 chars and not padded with filler
- SKILL.md body is < 500 lines, or uses progressive disclosure via `references/`
- No hardcoded credentials, secrets, or absolute internal paths in skill body or scripts
- Any bundled script in `scripts/` is referenced from SKILL.md with clear usage guidance
- The new or modified skill's description does not conflict with or shadow existing skills
1 change: 1 addition & 0 deletions .github/workflows/check_pr_release_notes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,4 @@ jobs:
github-repository: ${{ github.repository }}
pr-number: ${{ github.event.number }}
skip-labels: "no RN"
title: "## [Rr]elease [Nn]otes"
1 change: 1 addition & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -227,5 +227,6 @@ Before opening a pull request, verify:
- [ ] No hardcoded credentials, secrets, or internal paths in skill body or scripts
- [ ] Any script in `scripts/` is referenced from `SKILL.md` with usage guidance
- [ ] New skill's description does not conflict with or shadow existing skills
- [ ] Skill added to the catalog table in `README.md`
- [ ] Evals exist (or a note explains why they are not applicable)
- [ ] `skills-ref validate ./skills/my-skill` passes (install: `pip install skills-ref`)
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,10 @@ For the full guide — what skills are, how they activate, project-scoped instal
Browse all available skills in the **[skills/](./skills/)** directory — each skill folder contains a `SKILL.md` with
its purpose, trigger phrases, and full instructions.

> The catalog table will be populated as skills are added. See `skills/` for the current set.
| Skill | Description |
|------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------|
| **[pr-review](./skills/pr-review/)** | Pull request code review — reviews diffs for risk, security issues, API contract changes, dependency bumps, CI/CD and infrastructure changes. Produces concise Blocker / Important / Nit comments. |
| **[token-saving](./skills/token-saving/)** | Always-active response discipline — enforces brevity, no filler openers or closers, structured output, and a What/Why/How footer on code responses. Suspends on explicit "full detail" requests. |

## Finding More Skills

Expand All @@ -87,7 +90,7 @@ Before building a new skill, check whether one already exists:
| [skills.sh](https://skills.sh) | Open registry — install with `npx skills add <owner/repo>` |
| [anthropics/skills](https://github.com/anthropics/skills) | Anthropic reference skills including `skill-creator` |
| [absa-group/agent-skills](https://github.com/absa-group/agent-skills) | Broader ABSA-owned skill collection |
| [absa-group/cps-agentic-toolkit](https://github.com/absa-group/cps-agentic-toolkit) | CPS team's skill set built on top of this repo |
| [absa-group/cps-agentic-toolkit](https://github.com/absa-group/cps-agentic-toolkit) | CPS team's extended skill set (ABSA-internal) |

## Contributing

Expand Down Expand Up @@ -116,3 +119,4 @@ Claude, Cursor, Windsurf, and custom pipelines.
## Troubleshooting

Setup issues and common fixes are covered in **[docs/troubleshooting.md](./docs/troubleshooting.md)**.
All documentation guides are indexed at **[docs/](./docs/)**.
25 changes: 17 additions & 8 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,22 @@

Navigation hub for all guides in this repository. Browse by category below.

| Guide | Audience | Description |
|-----------------------------------------|----------|------------------------------------------------------------------------------------|
| [Getting Started](./getting-started.md) | Users | What skills are, how to install them, Copilot CLI usage |
| [Troubleshooting](./troubleshooting.md) | Users | Setup guides and fixes for install, activation, and proxy issues |
| [Contributing](../CONTRIBUTING.md) | Authors | Skill folder layout, frontmatter, description writing, body guidelines, PR process |
| [Skill Testing](./skill-testing.md) | Authors | Eval creation, fixtures, regression loops, trigger and description optimization |

> **Keep this index up to date.** When you add a new guide under `docs/`, add a row to the table above.
## Setup & Repository Guides

| Guide | Description |
|-----------------------------------------|-------------------------------------------------------------------------------------|
| [Getting Started](./getting-started.md) | What skills are, how to install them, Copilot CLI usage |
| [Contributing](../CONTRIBUTING.md) | Skill folder layout, frontmatter, description writing, body guidelines, PR process |
| [Skill Testing](./skill-testing.md) | Eval creation, fixtures, regression loops, trigger and description optimization |
| [Troubleshooting](./troubleshooting.md) | Setup fixes for install, activation, and proxy issues |

## Skill Guides

| Guide | Description |
|-------------------------------------|------------------------------------------------------------------------------------|
| [PR Review](./pr-review.md) | How the PR review skill works, what sections it applies, and how to trigger it |
| [Token Saving](./token-saving.md) | Keeping AI responses concise — how the token-saving skill works and when it applies |

> **Keep this index up to date.** When you add a new guide, add a row to the appropriate table above.

See also the [main README](../README.md) for the skill catalog, scope, and FAQ.
2 changes: 1 addition & 1 deletion docs/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ Project skills take precedence over global skills when both exist.
### Add project-specific skills

For skills that only apply to a specific repository, place them in `.github/skills/` within that repo. These are loaded
automatically when Copilot CLI is launched from that directory, layered on top of your personal and CPS base skills.
automatically when Copilot CLI is launched from that directory, layered on top of your personal and shared base skills.

```
your-project-repo/
Expand Down
101 changes: 101 additions & 0 deletions docs/pr-review.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
# PR Review Skill

The `pr-review` skill performs structured, risk-aware code review on pull requests and diffs. It activates automatically when you ask for PR feedback, share a diff, or ask for a sanity check on changes.

---

## What it does

The skill reads the list of files changed in a PR, selects the relevant review sections, and produces a concise review grouped by severity:

| Severity | Meaning |
|----------|---------|
| **Blocker** | Must be fixed before merge — correctness bug, security vulnerability, broken contract, credentials in code, data loss risk |
| **Important** | Should be fixed soon — increases risk, missing tests for changed logic, non-default that's hard to change later |
| **Nit** | Minor polish — style, naming, optional improvement, non-urgent edge case |

If a section has no findings, the skill writes `_None._` to show it was checked, not skipped.

---

## Sections

The skill always applies **Standard review** and selects additional sections based on the files the PR touches:

| Section | Triggers when PR touches |
|---|---|
| Standard | Always applied |
| API contracts | Endpoints, DTOs, config keys, env vars, exit codes, output strings |
| Dependency bumps | `pom.xml`, `requirements.txt`, `pyproject.toml`, `package.json`, `*.csproj`, `go.mod`, `build.sbt` |
| CI/CD | `.github/workflows/`, `Jenkinsfile`, `Justfile`, `Makefile` (pipeline), deployment jobs |
| Infrastructure | `*.tf`, `*.tfvars`, CloudFormation, Helm, Dockerfiles, `docker-compose.yml`, `iac/`, `infra/` |
| DB migrations | `alembic/`, `flyway/`, `liquibase/`, `migrations/`, `*.sql`, `db/` |
| Elevated risk | Overlay — applied on top when PR touches auth, security controls, secrets management, or is a wide refactor (≥ 10 call sites) |

A file may match multiple sections — all matching sections are applied.

---

## How to trigger it

Ask for a review naturally — the skill fires on intent, not exact wording:

```
review my PR
any issues with these changes?
LGTM?
does this look right?
check this diff for risks
can you review this before I merge?
```

You can also share a GitHub PR link directly:

```
https://github.com/org/repo/pull/123 — does this look safe to merge?
```

> **Does NOT trigger** for generative tasks on a diff: "generate release notes from this diff", "summarise this diff". Those are documentation tasks.

---

## Helpers

The skill ships two scripts to speed up data gathering:

| Script | Purpose |
|--------|---------|
| `scripts/fetch_pr.sh <PR_NUMBER>` | Fetches the diff and file list via `gh` |
| `scripts/classify_sections.py /tmp/pr_files.txt` | Prints which sections to apply given a file list |

These require the [GitHub CLI](https://cli.github.com/) (`gh`) to be authenticated.

---

## Overriding or scoping the review

You can narrow or redirect the review with natural language:

```
focus only on security issues
skip the nits — just blockers and importants
review only the migration files
```

---

## Installation

The skill is installed along with the rest of the toolkit:

```bash
npx skills add https://github.com/AbsaOSS/agentic-toolkit -g
```

To install only this skill:

```bash
npx skills add https://github.com/AbsaOSS/agentic-toolkit -g --skill pr-review
```

See [Getting Started](./getting-started.md) for the full install guide.
71 changes: 71 additions & 0 deletions docs/token-saving.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Token-Saving Skill

The `token-saving` skill enforces concise, low-noise AI responses. It is **always active** — it applies to every reply without needing to be triggered by a specific phrase.

---

## What it changes

Without the skill, AI assistants commonly pad responses with filler openers, closing platitudes, and repeated context. This skill removes that noise.

| Behaviour | Without skill | With skill |
|-----------|--------------|------------|
| Response opener | "Great question! Certainly, I'd be happy to help..." | Directly answers |
| Closing | "Let me know if you have any questions!" | Stops when done |
| Repeated context | Restates what you just said | Skips it |
| Factual answers | Unlimited prose | ≤ 5 lines |
| Action lists | Unlimited bullets | Capped at 4 |
| Full file dumps | Common | Only when you ask |

---

## Code output footer

Every response that writes or changes code ends with exactly this footer — no more, no less:

```
**What changed:** <one line>
**Why:** <one line>
**How to verify:** <command or test instruction>
```

This applies to: new functions, patches, inline diffs, config snippets, or any code block representing a change.

It does **not** apply to: Q&A, reviews, planning, comparisons, or conceptual explanations.

---

## Overriding the skill

The brevity rules suspend for a single response when you explicitly ask for depth:

> "Give me a full explanation."
> "Deep dive into this."
> "Don't hold back."
> "Complete explanation."

The next response is fully unrestricted. Rules resume after that.

---

## Precedence

If another active skill specifies its own output format (e.g. a review skill with a Blocker / Important / Nit structure), that format takes precedence over this skill's rules.

---

## Installation

The skill is installed along with the rest of the toolkit:

```bash
npx skills add https://github.com/AbsaOSS/agentic-toolkit -g
```

To install only this skill:

```bash
npx skills add https://github.com/AbsaOSS/agentic-toolkit -g --skill token-saving
```

See [Getting Started](./getting-started.md) for the full install guide.
Loading