npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@lukebaze/paperclip-plugin-internsmarket

v0.2.1

Published

8 specialized AI agents for Paperclip - marketers, product managers, crypto traders, and more. Self-contained skills with no external API required.

Downloads

157

Readme

Paperclip Plugin: InternsMarket

🤖 13 specialized AI agents for your Paperclip company - from psychologists to crypto traders

npm version npm downloads npm bundle size License: MIT TypeScript Tests Changesets


🎯 What is InternsMarket?

InternsMarket brings 13 specialized AI agents to your Paperclip company. Each agent comes with 3-5 expert-level skills ready to deploy immediately.

┌─────────────────────────────────────────────────────────────┐
│  InternsMarket: 13 Agents · 45+ Skills · 100% Ready        │
├─────────────────────────────────────────────────────────────┤
│  🧠 Non-Tech (3)     Megan Clarke, David Park, Sarah       │
│  💰 Finance (2)      James Whitfield, Derek Calloway       │
│  🌐 Web2 (4)         Olivia Chen, Marcus Rivera,           │
│                      Elena Kowalski, Naomi Brooks          │
│  ⛓️ Web3 (4)         Brandon Koh, Zara Kim,                │
│                      Ethan Blackwell, Lucas Fernandez      │
└─────────────────────────────────────────────────────────────┘

🚀 Quick Start

Installation

npm install @yourusername/paperclip-plugin-internsmarket
# or
pnpm add @yourusername/paperclip-plugin-internsmarket
# or
yarn add @yourusername/paperclip-plugin-internsmarket

Basic Usage

import { defineConfig } from 'paperclip';
import { internsMarketPlugin } from '@yourusername/paperclip-plugin-internsmarket';

export default defineConfig({
  plugins: [
    internsMarketPlugin({
      apiKey: process.env.INTERNMARKET_API_KEY,
    }),
  ],
});

Hire Your First Agent

import { paperclip } from 'paperclip';

// Hire Megan Clarke as company therapist
const company = await paperclip.companies.create({
  name: 'My Startup',
  agents: [
    {
      adapter: 'internsmarket',
      agentId: 'megan-clarke',
      role: 'therapist',
      budget: 100, // $100/month
    },
  ],
});

// Megan will now handle therapy sessions on heartbeat

📦 Available Agents

🧠 Non-Tech Group

| Agent | Role | Skills | Best For | |-------|------|--------|----------| | Megan Clarke | Clinical Psychologist | CBT Journal, Stoic Resolver, Habit Architect | Mental health support | | David Park | COO | Decision Briefs, Launch Strategy, Pricing | Operations decisions | | Sarah Mitchell | Content Writer | News Summary, Writing Assistant, Content Marketing | Content production |

💰 Finance Group

| Agent | Role | Skills | Best For | |-------|------|--------|----------| | James Whitfield | Finance Planner | Travel Planning, Invoice Generator, Finance Tracker | Personal finance | | Derek Calloway | Market Analyst | Market Pulse, Stock Analysis, Macro Dashboard | Market intelligence |

🌐 Web2 Group

| Agent | Role | Skills | Best For | |-------|------|--------|----------| | Olivia Chen | Marketing Manager | Campaign Planner, Marketing Psychology, Email Marketing | Performance marketing | | Marcus Rivera | Product Manager | Review Gap Analyzer, Competitor Analysis, Pricing | E-commerce PM | | Elena Kowalski | SEO Specialist | SEO Analysis, Web Search, Content Marketing | SEO/Growth | | Naomi Brooks | Trend Analyst | Trend Radar, Viral Decoder, Writing Assistant | Trend analysis |

⛓️ Web3 Group

| Agent | Role | Skills | Best For | |-------|------|--------|----------| | Brandon Koh | Crypto Trader | DexScreener, Whale Tracking, Project Analyzer | Crypto trading | | Zara Kim | On-chain Analyst | Wallet Forensics, Rug Pull Profiler, Portfolio | On-chain analysis | | Ethan Blackwell | Prediction Analyst | Edge Scanner, Due Diligence, Analysis | Prediction markets | | Lucas Fernandez | Degen Trader | Pump.fun Scanner, Smart Money, Exit Strategy | Memecoin trading |


📚 Documentation

Core Concepts

Guides

Examples


💡 Use Cases

1. Mental Health Support

// Hire Megan Clarke for employee wellness
await company.hire({
  agentId: 'megan-clarke',
  role: 'therapist',
  schedule: 'daily', // Heartbeat daily
  skills: ['cbt-journal', 'stoic-resolver'],
});

// Employees can now journal with Megan
const session = await meganClarke.skills.execute('cbt-journal', {
  userId: 'employee-123',
  entry: 'Feeling overwhelmed with work...',
});

2. Marketing Campaign

// Hire Olivia Chen for marketing
const olivia = await company.hire({
  agentId: 'olivia-chen',
  role: 'marketing-manager',
  budget: 500, // $500/month
});

// Create campaign
await olivia.skills.execute('campaign-planner', {
  product: 'AI SaaS',
  budget: 5000,
  channels: ['meta', 'google', 'twitter'],
});

3. Crypto Trading Desk

// Hire Brandon Koh for crypto research
const brandon = await company.hire({
  agentId: 'brandon-koh',
  role: 'crypto-analyst',
  schedule: 'hourly',
});

// Get token analysis
const report = await brandon.skills.execute('crypto-project-analyzer', {
  token: 'AAVE',
  contract: '0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9',
});

⚙️ Configuration

Environment Variables

# Required
INTERNMARKET_API_KEY=your_api_key_here

# Optional
INTERNMARKET_API_URL=https://api.internsmarket.com
INTERNMARKET_TIMEOUT=30000
INTERNMARKET_RETRY_LIMIT=3

Plugin Options

internsMarketPlugin({
  // Required: Your API key
  apiKey: process.env.INTERNMARKET_API_KEY,
  
  // Optional: Custom API endpoint (default: https://api.internsmarket.com)
  apiUrl: 'https://custom-api.example.com',
  
  // Optional: Enable specific agents only (default: all)
  enabledAgents: ['megan-clarke', 'david-park'],
  
  // Optional: Disable specific skills (default: all enabled)
  disabledSkills: ['pump-fun-scanner'],
  
  // Optional: Request timeout in ms (default: 30000)
  timeout: 60000,
  
  // Optional: Retry limit (default: 3)
  retryLimit: 5,
  
  // Optional: Enable debug logging (default: false)
  debug: true,
})

🔌 Advanced Usage

Custom Agent Configuration

import { internsMarketPlugin, defineCustomAgent } from '@yourusername/paperclip-plugin-internsmarket';

// Create custom agent based on existing one
const customMegan = defineCustomAgent({
  baseAgent: 'megan-clarke',
  name: 'Senior Therapist',
  role: 'head-of-wellness',
  budget: 500, // Higher budget for senior role
  skills: {
    override: {
      'cbt-journal': {
        maxSessionsPerDay: 10, // Limit sessions
      },
    },
  },
});

internsMarketPlugin({
  apiKey: process.env.INTERNMARKET_API_KEY,
  customAgents: [customMegan],
});

Event Hooks

internsMarketPlugin({
  apiKey: process.env.INTERNMARKET_API_KEY,
  
  // Called when agent is hired
  onAgentHire: async (agent, context) => {
    console.log(`Hired ${agent.name} as ${agent.role}`);
  },
  
  // Called before skill execution
  onBeforeSkillExecute: async (skill, input, context) => {
    console.log(`Executing ${skill.id} with input:`, input);
  },
  
  // Called after skill execution
  onAfterSkillExecute: async (skill, result, context) => {
    console.log(`Skill ${skill.id} completed:`, result);
  },
  
  // Called when budget is exceeded
  onBudgetExceeded: async (agent, budget, spent, context) => {
    console.warn(`${agent.name} exceeded budget: $${spent} / $${budget}`);
    // Send notification, pause agent, etc.
  },
});

Custom Skills

import { defineSkill } from '@yourusername/paperclip-plugin-internsmarket';

// Create custom skill combination
const wellnessCheck = defineSkill({
  id: 'wellness-check',
  name: 'Employee Wellness Check',
  description: 'Combined CBT + habit tracking session',
  
  // Combine multiple existing skills
  compose: ['cbt-journal', 'habit-architect'],
  
  // Custom execution logic
  async execute(input, context) {
    const cbtResult = await context.execute('cbt-journal', input);
    const habitResult = await context.execute('habit-architect', {
      userId: input.userId,
      goal: 'daily-meditation',
    });
    
    return {
      cbt: cbtResult,
      habit: habitResult,
      summary: 'Wellness check complete',
    };
  },
});

📊 Cost & Billing

Pricing Tiers

| Tier | Agents | Skills | Requests/Month | Price | |------|--------|--------|----------------|-------| | Free | 3 | 10 | 1,000 | $0 | | Pro | All 13 | All 45+ | 50,000 | $29/mo | | Team | All 13 | All 45+ | 200,000 | $99/mo | | Enterprise | Custom | Custom | Unlimited | Contact |

Budget Enforcement

// Set monthly budget per agent
await company.agents.update(agentId, {
  budget: {
    monthly: 100, // $100/month
    action: 'pause', // Pause when exceeded
    notify: ['[email protected]'], // Email notifications
  },
});

// Check current usage
const usage = await company.agents.getUsage(agentId);
console.log(`Spent: $${usage.costUsd} / $${usage.budget}`);

🤝 Contributing

We welcome contributions! See our Contributing Guide for details.

Development Setup

# Clone repository
git clone https://github.com/yourusername/internsmarket-paperclip-plugin.git
cd internsmarket-paperclip-plugin

# Install dependencies
pnpm install

# Start development
pnpm dev

# Run tests
pnpm test

# Build package
pnpm build

Submit a PR

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

MIT © Your Name


🙏 Acknowledgments

  • Built for Paperclip - Open-source orchestration for zero-human companies
  • Inspired by the vision of autonomous AI companies

📞 Support

  • Documentation: https://github.com/yourusername/internsmarket-paperclip-plugin/docs
  • Issues: https://github.com/yourusername/internsmarket-paperclip-plugin/issues
  • Discord: https://discord.gg/yourinvite
  • Twitter: https://twitter.com/yourusername
  • Email: [email protected]

Made with ❤️ by Your Name

Star on GitHub · Follow on Twitter