Skip to main content
skill GitHub Copilot official · GitHub

agent-skill-stack — GitHub Copilot skill: selection and setup

Finds a small compatible set of AI Agent Skills for a multi-step goal. Use it to audit installed Skills or work out what a project still needs.

Install into GitHub Copilot · Skills CLI (Vercel) All methods and platforms ↓
npx skills add github/awesome-copilot --skill agent-skill-stack
Open on GitHub

What agent-skill-stack does

The skill breaks down the intended result into steps, then searches local indexes, registries, GitHub, and OpenCLI for candidates. It compares fit, adoption, safety, and overlap, and groups the results into Skills to use, optional additions, alternatives, and candidates to avoid.

The scripts/skill_index.py script builds a local Skill index. A project profile at .codex/skill-stack.json sets the preferred Skills and routing rules. Candidate checks account for dependencies, account access, and external actions. This is not the right workflow for finding one known or common Skill; use find-skills for that.

Install it when choosing Skills for a multi-step workflow or auditing an existing setup. Skip it for a one-off search for a specific Skill.

What it helps with

  • choose Skills for a multi-step workflow
  • audit installed Skills for conflicts
  • find missing supporting Skills
  • assemble a project-specific Skill Stack
  • screen candidates for fit and installation safety

Example prompts for the agent

  • Find Skills for a workflow from requirements review to a finished result, and mark which ones are required.
  • Audit the Skills installed in this project for overlap and conflicts.
  • Build a Skill Stack for this project and check candidate installation safety first.

How to install agent-skill-stack

1Skills CLI (Vercel)

npx skills add github/awesome-copilot --skill agent-skill-stack

2GitHub CLI

gh skill install github/awesome-copilot agent-skill-stack

3Manually: put the files in place

.github/skills/agent-skill-stack/SKILL.md

From the same set554

The whole set →
git-commit official github This skill reviews Git changes, stages related files, and creates Conventional Commits. Use it when you want an agent to make one commit or split work into separate commits. GitHub Copilot 47,165installs excalidraw-diagram-generator official github Turn a plain-language description into an Excalidraw diagram. Useful for mapping processes, system structure, and relationships between entities. GitHub Copilot 31,639installs multi-stage-dockerfile official github This skill guides GitHub Copilot in writing multi-stage Dockerfiles for different languages and frameworks. Use it when the final runtime image should contain fewer build dependencies. GitHub Copilot 29,688installs documentation-writer official github Skill that turns the agent into a technical writer following the Diátaxis framework: tutorials, how-to guides, reference, and explanation. Proposes structure before writing. GitHub Copilot 27,757installs prd official github Turns a feature idea into a structured PRD with user stories, technical requirements, and risks. Use it when planning a software feature or an AI-powered one. GitHub Copilot 24,035installs refactor official github This skill reshapes existing code without changing its external behavior. Use it for gradual cleanup of large functions, duplication, weak types, and code smells. GitHub Copilot 22,321installs java-springboot official github Gives GitHub Copilot Spring Boot development practices, from project layout to tests and security. Use it when writing or reviewing Java application code. GitHub Copilot 21,272installs create-readme official github This skill reviews a project and creates a structured README.md. Use it when the repository needs clear documentation based on its actual files and code. GitHub Copilot 19,081installs

Similar

rfp-responder claude-code-skills Parses RFP requirements, maps proof points via the Shipley method, and estimates win rates to inform bid, partner-bid, or no-bid decisions. Claude Code 478installs feature-flags-architect claude-code-skills Runs feature flags through a full lifecycle: add, ramp, retire. Useful when flags pile up and nobody knows which ones still matter. Claude Code 469installs general-counsel-advisor Alireza Rezvani This skill scans startup contracts, evaluates investor term sheets, and maps regulatory risks before you talk to outside counsel. Claude Code 461installs handoff Alireza Rezvani Turns the current conversation into a handoff document for another agent. Use it when work moves to a fresh session and existing artifacts should stay referenced. Claude Code 427installs c-level-agents Alireza Rezvani Adds executive-role agents and commands for reviewing decisions or running a multi-role discussion. Use it when a project question needs a management perspective. Claude Code 424installs find-skills vercel-labs Discovers and installs agent skills from skills.sh directly inside your coding assistant. Handy when you need domain-specific workflows for a project. Claude Code CX Codex Cursor +1 4,000,000installs grill-me Matt Pocock grill-me interviews you about a plan or design to expose gaps and sharpen decisions. Use it before implementation starts. Claude Code 1,424,476installs grill-with-docs Matt Pocock This skill interviews you about a plan or design and creates ADRs and a glossary along the way. Use it when decisions need sharper definition. Claude Code 1,219,756installs

Questions about agent-skill-stack

How do I install agent-skill-stack in GitHub Copilot?

Run npx skills add github/awesome-copilot --skill agent-skill-stack or gh skill install github/awesome-copilot agent-skill-stack.

What does agent-skill-stack do?

It searches for and compares Skills for a multi-step goal, then recommends a small compatible set. It can also audit installed Skills for overlap and conflicts.

When should I not use agent-skill-stack?

Skip it when you are looking for one known or common Skill. The general find-skills workflow is intended for that search.

Source text

SKILL.md · MIT
---
name: agent-skill-stack
description: 'Find, evaluate, and assemble the smallest compatible set of AI Agent Skills for an end-to-end natural-language goal. Use when a user wants Skills for a multi-step workflow, asks which Skills fit a project, needs an installed-Skill audit or conflict check, has low Skill recall, wants indirect helpers such as humanizers or compliance checks, or wants a project-specific Skill Stack with controlled installation. Search local Skills, registries, GitHub, and OpenCLI; compare adoption, verified fit, safety, and overlap. Do not use for locating one known or common Skill; use the generic find-skills workflow.'
---

# Build an Agent Skill Stack

Build the smallest useful stack for the user's actual outcome. Never force a domain example or a fixed lifecycle onto a different request.

## 1. Choose the user-facing depth

Default to **plain-language mode**. Assume the user does not need to understand paths, revisions, hashes, manifests, static analysis, or runtime details.

In plain-language mode, show:

- what the user is trying to accomplish;
- the steps in everyday language;
- which capabilities are already available;
- which Skills are recommended, optional, overlapping, or unsuitable;
- how widely each candidate is used;
- whether it passed an installation safety check and a safe trial;
- what account access or external actions it may require.

Keep source paths, revisions, file fingerprints, raw scores, audit evidence, and dependency details in the internal record. Show them only when the user asks for technical details or when a specific technical fact is necessary for informed consent.

## 2. Derive the workflow dynamically

Read [references/workflow-model.md](references/workflow-model.md). Begin with the final result the user wants, not the domain words in the request.

Ask only questions whose answers materially change the result, access boundary, cost, or stack. Derive the workflow backward from success, then validate it forward from the available starting point.

Do not reuse a previous numbered flow. Do not assume that every request needs research, content creation, publishing, analytics, storage, or automation. Add a step only when the user's outcome requires it.

Stop decomposing when a step has one understandable action, one main result, one access boundary, and one observable success condition. Keep the technical capability cards internal; show the user a short plain-language flow.

## 3. Search the local index first

Read [references/local-index-and-profiles.md](references/local-index-and-profiles.md).

If a current local Skill index exists, search it before the filesystem or internet. If it is missing or stale, rebuild it from the relevant Skill roots:

```bash
python3 scripts/skill_index.py build \
  --root ~/.codex/skills \
  --root ~/.codex/plugins/cache \
  --root .codex/skills \
  --root ~/.agents/skills \
  --root ~/.hermes/skills \
  --output ~/.codex/skill-index.json
```

The index stores names, summaries, aliases, scope, capability terms, update time, and internal file fingerprints. It never executes a Skill and stores no usage history.

If the current project has `.codex/skill-stack.json`, treat its active Skills and routing rules as the first-choice stack. Search outside the profile only for an uncovered capability or when the user asks for alternatives. Treat same-name entries from different local roots as a review item; do not silently merge them.

## 4. Map capabilities, including indirect helpers

For every necessary step, record internally:

- required input, action, and output;
- constraints, frequency, and scale;
- local/read-external/write-external boundary;
- account, permission, and approval needs;
- success condition and fallback;
- predecessor and successor steps.

Then consider cross-cutting needs only where relevant: quality/style, accuracy, compliance, privacy, localization, data quality, orchestration, and observability.

Match Skills by `input -> operation -> output`, not by title similarity. This allows a Humanizer to match a natural-writing requirement even when the user's domain never appears in its name.

Do not force one Skill per step. A Skill may cover several steps; a step may need a tool, MCP, connector, or general agent capability rather than another Skill.

## 5. Search with four lenses

Read [references/discovery-ranking.md](references/discovery-ranking.md). Search each uncovered capability through:

1. **Direct need**: the user's domain and action.
2. **Underlying operation**: the actual transformation or data task.
3. **Supporting outcome**: quality, safety, style, compliance, evaluation, and monitoring.
4. **Connection method**: CLI, MCP, API, connector, browser automation, storage, and handoff.

Expand Chinese/English aliases, verbs, nouns, outputs, and adjacent terminology. Search titles, descriptions, headings, and full `SKILL.md` content when possible.

Use multiple sources because no registry is complete:

- the local Skill index and installed inventory;
- GitHub connector or GitHub file/repository search;
- `npx skills find <query>` and skills.sh;
- agentskill.sh or another registry when available;
- OpenCLI for broad web discovery and platform-specific research.

Run browser-backed OpenCLI searches sequentially. Do not log in, add credentials, or enable a connector without user approval.

## 6. Verify and rank candidates

Treat every search hit as a candidate, not a recommendation. Identify the canonical repository and exact Skill path. Read the full Skill and every executable file that installation would make reachable.

Reject or quarantine a candidate when:

- its source or claimed capability cannot be verified;
- its structure cannot be installed;
- mandatory dependencies are incompatible or unavailable;
- critical credential access, data upload, prompt injection, destructive action, or obfuscation remains unexplained;
- its only possible test would publish, send, purchase, delete, or change a real account;
- license or platform terms make the intended use materially uncertain.

Rank candidates that pass these gates with the rubric in [references/discovery-ranking.md](references/discovery-ranking.md). Real-world adoption and community evidence account for 25% of the score. Preserve unknown values as unknown.

Prefer the smallest stack that meets all required success conditions. Classify candidates as:

- **Required**: needed to complete the outcome.
- **Helpful**: improves quality, safety, or efficiency.
- **Alternative**: mutually exclusive substitute.
- **Not recommended**: blocked, redundant, incompatible, or too uncertain.

## 7. Analyze conflicts and scope

Read [references/security-installation.md](references/security-installation.md). Check identity, activation, instruction, resource, dependency, data-format, permission, and compliance conflicts.

Resolve overlap by selecting one primary Skill, defining a narrow handoff to helpers, keeping alternatives mutually exclusive, or not installing the redundant candidate.

Prefer project-local Skills and a project Skill Stack Profile for task-specific capabilities. Use global installation only for capabilities that should be available broadly.

## 8. Present recommendations in plain language

Default output:

1. **What you want to achieve**: one short restatement.
2. **How the work breaks down**: a short numbered flow derived for this request.
3. **What you already have**: existing useful Skills and uncovered gaps.
4. **Recommended combination**: Required, Helpful, Alternative, and Not recommended.
5. **Why these were chosen**: fit, adoption, safety check, safe trial, and conflicts in everyday language.
6. **What needs your decision**: account access, paid services, external publishing, or installation selection.

Use labels such as `已具备`, `推荐`, `可选`, `不建议`, `安全检查通过`, `安全试跑通过`, and `最近确认可用`. Do not show a hash or local path in the default response.

Offer `查看技术详情` when useful. The technical view may include canonical source, revision, file fingerprint, exact destination, raw evidence, dependencies, permissions, and rollback details.

When the user wants a reusable artifact, create a shareable recommendation card from structured JSON:

```bash
python3 scripts/render_stack_card.py \
  --input /path/to/stack-card.json \
  --output /path/to/stack-card.svg
```

Keep the card understandable without technical paths or raw hashes. Include the goal, selected Skills, each role and status, safety boundary, and verification date.

## 9. Install only after consent

Recommendation does not authorize installation. Follow [references/security-installation.md](references/security-installation.md) after the user chooses.

Default to staged installation. Allow a one-click batch only when every selected Skill passed the hard gates, has an exact pinned identity, has no unresolved conflict, will not overwrite an existing destination, and the user explicitly approves the batch.

For already downloaded and checked Skill directories, preview first:

```bash
python3 scripts/stage_install.py \
  --source /path/to/skill-a \
  --dest ~/.codex/skills \
  --manifest ./skill-stack-lock.json
```

Repeat with `--apply` only after approval. Never silently add credentials, accept new permissions, overwrite an installed Skill, or publish/send/delete external data.

After the user selects the stack, offer to create a project profile in dry-run mode:

```bash
python3 scripts/project_profile.py \
  --project /path/to/project \
  --name project-stack \
  --skill skill-a \
  --skill skill-b
```

Use `--apply` only after the user confirms the profile.

## 10. Run a recall check

After installation or profile changes, run a **recall check**, not a performance benchmark:

1. a direct request that names the task;
2. a natural paraphrase that uses different words;
3. a supporting request that should bring in a helper such as writing quality, fact checking, or compliance.

Confirm that the correct primary and supporting Skills are selected and unrelated Skills stay out. Report a simple result such as `3/3 种说法都能正确识别`; keep raw prompts and routing details in the technical view.

Do not collect or store user prompt history, hit/miss logs, or routing feedback.

© github · MIT · github/awesome-copilot

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor