Install
$ agentstack add skill-practicalswan-agent-skills-custom-agent-usage ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Custom Agent Usage
- Leverage native parallel subagent dispatch and 200k+ context windows where available.
Activation Conditions
Use symptom -> action triggers: when one matches, apply this skill and verify with the protocol below.
Activate this skill when:
- Discovering available custom agents from the local Claude or VS Code Insiders agent directories
- Understanding
.agent.mdfile structure and frontmatter - Checking if an agent can be invoked as a subagent
- Learning which
agentNameto use for delegation - Understanding agent tools and capabilities
Custom Agent Discovery
Custom agents for this environment are discovered from these directories:
- Claude agents:
C:\Users\LOQ\.claude\agents - VS Code Insiders prompts:
C:\Users\LOQ\AppData\Roaming\Code - Insiders\User\prompts
Notes:
- Filter to
*.agent.mdwhen discovering subagents. - The VS Code Insiders prompts directory can also contain
.prompt.mdand.instructions.mdfiles that are not subagents.
To discover agents:
- Search for
*.agent.mdfiles in the configured Claude and VS Code Insiders directories. - Read frontmatter of each agent file to understand capabilities.
- Ignore
.prompt.mdand.instructions.mdfiles when the goal is subagent delegation.
Agent Frontmatter
Key frontmatter fields in .agent.md:
| Field | Purpose | Required? | |--------|-----------|-----------| | name | Display name used in agentName parameter | Recommended | | description | What the agent specializes in | Recommended | | tools | Tools available to the agent | Optional | | disable-model-invocation | If false, agent can be invoked as subagent | Required |
Invocability Check
CRITICAL: Only agents with disable-model-invocation: false in frontmatter can be invoked as subagents.
Check frontmatter:
---
name: "Code Explainer"
description: For analyzing and documenting existing code
disable-model-invocation: false # Must be false for subagent delegation
tools: [Read, Search]
---
Using Custom Agents
Step 1: Discover Available Agents
Search the real agent directories and keep only *.agent.md files:
Get-ChildItem `
'C:\Users\LOQ\.claude\agents', `
'C:\Users\LOQ\AppData\Roaming\Code - Insiders\User\prompts' `
-Filter *.agent.md `
-File
Or use the helper script:
node .\scripts\agent-finder.js
Step 2: Check Invocability
Verify disable-model-invocation: false is set.
Step 3: Get Agent Name
Use the name field from frontmatter exactly as is.
- If frontmatter has
namefield value, use that value in quotes. - If name is not specified, use the filename without the
.agent.mdextension.
Step 4: Delegate Task
runSubagent({
agentName: "Playwright Tester Mode", // Must match 'name' from frontmatter exactly
description: "Test checkout flow",
prompt: "Perform exploratory testing on the checkout flow: product selection -> cart -> payment confirmation. Generate comprehensive Playwright tests covering success scenarios, validation errors, edge cases (empty cart, payment failures), and accessibility."
})
Anti-Patterns
- Delegating or evaluating without a scoped success condition: The output becomes hard to review and easy to overbuild.
- Skipping the evidence step: A workflow that cannot be re-checked quickly is not ready for handoff.
- Bundling unrelated subtasks together: It creates noisy prompts, weaker ownership, and avoidable integration risk.
Verification Protocol
Before claiming "skill applied successfully":
- Pass/fail: The Custom Agent Usage workflow names the agent boundary, delegated scope, and expected return artifact.
- Pass/fail: Context passed to helpers is minimal, task-local, and free of hidden expected answers.
- Pass/fail: Results are integrated only after evidence, diffs, or citations are checked by the controller.
- Pressure-test scenario: Run the workflow on two similar tasks that must not share assumptions or leaked context.
- Success metric: Zero context leakage; every delegated output is independently reviewable.
Workflow Example
// Step 1: Main agent analyzes task and identifies need for testing
// "I need comprehensive testing for the checkout flow"
// Step 2: Discover custom testing agent
// Found: C:\Users\LOQ\.claude\agents\playwright-tester.agent.md
// disable-model-invocation: false and name: "Playwright Tester Mode"
// Step 3: Delegate to custom agent
runSubagent({
agentName: "Playwright Tester Mode",
description: "Test checkout flow",
prompt: "Perform exploratory testing on the checkout flow: product selection -> cart -> payment confirmation. Generate comprehensive Playwright tests covering success scenarios, validation errors, edge cases (empty cart, payment failures), and accessibility."
})
// Step 4: Review test output and integrate into test suite
Examples & Scripts
- [Agent Discovery Workflow](./examples/agent-discovery-workflow.md) - Examples of finding and using custom agents
- [Agent Finder Script](./scripts/agent-finder.js) - Node.js script to discover and inspect custom agents
Cross-Client Portability
This skill is written to stay usable across GitHub Copilot, Claude Code, Codex, and Gemini CLI.
- GitHub Copilot: keep the folder in a Copilot-visible skill or plugin path, or wrap the workflow as project instructions if the host does not support portable skill folders directly.
- Claude Code: keep the folder in a local skills directory or a compatible plugin or marketplace source.
- Codex: install or sync the folder into
$CODEX_HOME/skills/and restart Codex after major changes. - Gemini CLI: this repository generates a project command named
/skills:custom-agent-usagefrom this skill. Rebuild commands withpython scripts/export-gemini-skill.py custom-agent-usageand then run/commands reloadinside Gemini CLI.
MCP Availability And Fallback
Preferred MCP Server: None required
- Fallback prompt: "Use the Custom Agent Usage skill without MCP. Rely on the local
SKILL.md, bundled references or scripts, and manual verification. Show the exact commands, evidence, and final checks you used before concluding." - If the current host does not expose a matching server, use the bundled references, scripts, native toolchain, and manual workflow already described in this skill.
- Treat direct local verification, rendered output, logs, tests, or screenshots as the fallback evidence path before completion.
Related Skills
- [agent-task-mapping](../agent-task-mapping/SKILL.md): Use it when the workflow also needs task-to-agent routing decisions.
- [subagent-delegation](../subagent-delegation/SKILL.md): Use it when the workflow also needs safe, scoped delegation to helper agents.
- [subagent-driven-development](../subagent-driven-development/SKILL.md): Use it when the workflow also needs plan-driven implementation with reviewer loops.
- [agentic-eval](../agentic-eval/SKILL.md): Use it when the workflow also needs rubric-driven evaluation loops.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: PracticalSwan
- Source: PracticalSwan/agent-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.