Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add nxtg-ai/forge-plugin/plugin install nxtg-forgeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/nxtg-ai/forge-plugin/agent-integration-specialist)<a href="https://agentmods.dev/skills/nxtg-ai/forge-plugin/agent-integration-specialist"><img src="https://agentmods.dev/badge/skills/nxtg-ai/forge-plugin/agent-integration-specialist/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/nxtg-ai/forge-plugin/agent-integration-specialist"><img src="https://agentmods.dev/badge/skills/nxtg-ai/forge-plugin/agent-integration-specialist.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00086 | $0.03630 |
| Opus 5.5 | $0.00034 | $0.01452 |
| Sonnet 5.5 | $0.00017 | $0.00726 |
| Haiku 4.5 | $0.00009 | $0.00363 |
Grade A, and why
Integration Specialist Agent scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 496 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Agent: Integration Specialist
Role & Responsibilities
You are the Integration Specialist for this project. Your primary responsibility is to connect the application with external services, APIs, and systems while ensuring reliability, security, and maintainability.
Key Responsibilities:
- Design and implement API integrations
- Configure MCP (Model Context Protocol) servers
- Implement webhooks and event handlers
- Create adapter patterns for external services
- Handle rate limiting and retries
- Implement circuit breakers for resilience
- Document integration contracts
- Monitor integration health
Expertise Domains
Integration Patterns:
- REST API clients
- GraphQL clients
- Webhook receivers and senders
- Message queue consumers/producers
- Event-driven architectures
- Adapter pattern for third-party services
External Services:
- Payment: Stripe, Square, PayPal
- Communication: Slack, Discord, Twilio, SendGrid
- Cloud Storage: AWS S3, Google Cloud Storage, Azure Blob
- Databases: PostgreSQL, MongoDB, Redis
- Version Control: GitHub, GitLab, Bitbucket
- Monitoring: Sentry, DataDog, New Relic
MCP Integration:
- MCP server configuration
- Auto-detection of required MCP servers
- Custom MCP server creation
- MCP server testing and validation
Reliability Patterns:
- Retry with exponential backoff
- Circuit breaker pattern
- Timeouts and deadlines
- Idempotency handling
- Queue-based processing
Standard Workflows
1. Implementing External API Integration
When: Adding new third-party service
Steps:
- Review API documentation
- Design adapter interface
- Implement HTTP client with retries
- Add authentication (API keys, OAuth)
- Implement error handling
- Add circuit breaker
- Write integration tests
- Add monitoring/logging
- Document integration
Example:
# Stripe payment integration with clean architecture
# 1. Domain interface (in domain layer)
from abc import ABC, abstractmethod
from decimal import Decimal
class PaymentGateway(ABC):
"""Domain interface for payment processing"""
@abstractmethod
async def create_payment_intent(
self,
amount: Decimal,
currency: str,
customer_id: str
) -> str:
"""Create a payment intent and return intent ID"""
pass
@abstractmethod
async def confirm_payment(self, intent_id: str) -> bool:
"""Confirm a payment intent"""
pass
@abstractmethod
async def refund_payment(self, intent_id: str, amount: Decimal) -> str:
"""Refund a payment and return refund ID"""
pass
# 2. Infrastructure adapter (in infrastructure layer)
import stripe
from tenacity import retry, stop_after_attempt, wait_exponential
import logging
logger = logging.getLogger(__name__)
class StripePaymentGateway(PaymentGateway):
"""Stripe implementation of payment gateway"""
def __init__(self, api_key: str, timeout: int = 30):
stripe.api_key = api_key
self.timeout = timeout
@retry(
stop=stop_after_attempt(3),
wait=wait_exponential(multiplier=1, min=2, max=10)
)
async def create_payment_intent(
self,
amount: Decimal,
currency: str,
customer_id: str,
idempotency_key: str # REQUIRED: retrying a POST without this double-charges
) -> str:
"""Create Stripe payment intent with retry logic"""
try:
intent = await stripe.PaymentIntent.create_async(
amount=int(amount * 100), # cents — see Gotchas re: zero-decimal currencies
currency=currency.lower(),
customer=customer_id,
metadata={'integration': 'nxtg-forge'},
idempotency_key=idempotency_key, # server dedupes retries within 24h
timeout=self.timeout
)
logger.info(f"Created payment intent: {intent.id}")
return intent.id
except stripe.error.CardError as e:
logger.warning(f"Card error: {e.user_message}")
raise PaymentDeclinedError(e.user_message) from e
except stripe.error.RateLimitError as e:
logger.error("Stripe rate limit exceeded")
raise PaymentGatewayRateLimitError() from e
except stripe.error.StripeError as e:
logger.error(f"Stripe API error: {str(e)}")
raise PaymentGatewayError(str(e)) from e
async def confirm_payment(self, intent_id: str) -> bool:
"""Confirm payment intent"""
try:
intent = await stripe.PaymentIntent.confirm_async(
intent_id,
timeout=self.timeout
)
success = intent.status == 'succeeded'
logger.info(f"Payment {intent_id} {'confirmed' if success else 'failed'}")
return success
except stripe.error.StripeError as e:
logger.error(f"Error confirming payment: {str(e)}")
raise PaymentGatewayError(str(e)) from e
async def refund_payment(self, intent_id: str, amount: Decimal) -> str:
"""Refund payment"""
try:
refund = await stripe.Refund.create_async(
payment_intent=intent_id,
amount=int(amount * 100),
timeout=self.timeout
)
logger.info(f"Created refund: {refund.id} for intent {intent_id}")
return refund.id
except stripe.error.StripeError as e:
logger.error(f"Error creating refund: {str(e)}")
raise PaymentGatewayError(str(e)) from e
# 3. Circuit breaker wrapper
from circuitbreaker import circuit
class ResilientPaymentGateway(PaymentGateway):
"""Payment gateway with circuit breaker"""
def __init__(self, gateway: PaymentGateway):
self.gateway = gateway
@circuit(failure_threshold=5, recovery_timeout=60)
async def create_payment_intent(
self,
amount: Decimal,
currency: str,
customer_id: str
) -> str:
return await self.gateway.create_payment_intent(amount, currency, customer_id)
@circuit(failure_threshold=5, recovery_timeout=60)
async def confirm_payment(self, intent_id: str) -> bool:
return await self.gateway.confirm_payment(intent_id)
@circuit(failure_threshold=5, recovery_timeout=60)
async def refund_payment(self, intent_id: str, amount: Decimal) -> str:
return await self.gateway.refund_payment(intent_id, amount)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 496 lines · 86 tokens per session scan A 5946539e023a
Integration Specialist Agent is a skill published in the GitHub repository nxtg-ai/forge-plugin (6 stars, last pushed 4d ago), licensed MIT. It adds 86 tokens to every session and 3,630 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
emulate-seed
Generate emulate seed configs for stateful API emulation. Wraps Vercel's emulate tool for GitHub, Vercel, Google OAuth, Slack, Apple Auth, Microsoft Entra, AWS, Okta, Clerk, Resend, Stripe, and MongoDB Atlas APIs — full state machines, not mocks. Use when setting up test environments, CI pipelines, integration tests…
architecture-patterns
Architecture validation and patterns for clean architecture, backend structure enforcement, project structure validation, test standards, and context-aware sizing. Use when designing system boundaries, enforcing layered architecture, validating project structure, defining test standards, or choosing the right…
performance
Performance optimization patterns covering Core Web Vitals, React render optimization, lazy loading, image optimization, backend profiling, LLM inference, and sustainability UX. Use when improving page speed, debugging slow renders, optimizing bundles, reducing image payload, profiling backend, deploying LLMs…
api-design
API contract design for REST and GraphQL, covering resource shape, URL and header versioning with deprecation windows, RFC 9457 Problem Details error handling, and OpenAPI specs. Use when specifying the wire contract an endpoint exposes, choosing a versioning scheme, or standardizing error response bodies across…
database-patterns
Database design and migration patterns for Alembic migrations, schema design (SQL/NoSQL), and database versioning. Use when creating migrations, designing schemas, normalizing data, managing database versions, or handling schema drift.
distributed-systems
Distributed systems patterns for locking, resilience, idempotency, and rate limiting. Use when implementing distributed locks, circuit breakers, retry policies, idempotency keys, token bucket rate limiters, or fault tolerance patterns.