recogardtech/autopilotpm/auto-reply

Claude Code and agent skill by recogardtech/autopilotpm

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Automatic response rules, patterns, and scheduled messages

Install

npx vskill@latest install recogardtech/autopilotpm/auto-reply

SKILL.md

Auto-Reply - Complete API Reference

Create rules for automatic responses based on patterns, keywords, and conditions.


Chat Commands

List Rules
/autoreply list List all rules
/autoreply active Show active rules only
/autoreply stats Rule statistics
Create Rules
/autoreply add <pattern> <response> Simple keyword match
/autoreply add-regex <regex> <response> Regex pattern
/autoreply add-keywords <kw1,kw2> <resp> Keyword rule
Manage Rules
/autoreply enable <id> Enable rule
/autoreply disable <id> Disable rule
/autoreply remove <id> Remove rule
/autoreply edit <id> <new-response> Update response
/autoreply get <id> Rule details
Testing
/autoreply test <message> Test which rules match
/autoreply simulate <message> Preview response
Advanced
/autoreply cooldown <id> <seconds> Set cooldown
/autoreply schedule <id> <start-end> Active hours (e.g. 9-17)
/autoreply priority <id> <number> Set priority (higher first)
/autoreply channel <id> <channel> Restrict to channel
/autoreply clear-cooldowns Clear all cooldowns
/autoreply reload Reload rules from disk

TypeScript API Reference

Create Auto-Reply Manager
typescript
import { createAutoReplyManager } from 'autopilot/auto-reply';
const autoReply = createAutoReplyManager({
// Storage
storage: 'sqlite',
dbPath: './auto-reply.db',
// Defaults
defaultCooldownMs: 0,
defaultPriority: 0,
// Limits
maxRulesPerUser: 100,
maxResponseLength: 2000,
});
Add Simple Rule
typescript
// Keyword match
await autoReply.addRule({
name: 'greeting',
pattern: {
type: 'keyword',
value: 'hello',
caseSensitive: false,
},
response: 'Hi there! How can I help?',
});
Add Regex Rule
typescript
// Regex pattern
await autoReply.addRule({
name: 'price-query',
pattern: {
type: 'regex',
value: /price\s+(btc|eth|sol)/i,
},
response: async (match, ctx) => {
const symbol = match[1].toUpperCase();
const price = await getPrice(symbol);
return `${symbol} price: $${price}`;
},
});
Add Conditional Rule
typescript
// With conditions
await autoReply.addRule({
name: 'trading-hours',
pattern: {
type: 'keyword',
value: 'trade',
},
conditions: [
// Only during market hours
{
type: 'time',
start: '09:30',
end: '16:00',
timezone: 'America/New_York',
},
// Only on weekdays
{
type: 'day',
days: ['mon', 'tue', 'wed', 'thu', 'fri'],
},
// Only for certain users
{
type: 'user',
userIds: ['user-123', 'user-456'],
},
],
response: 'Markets are open! What would you like to trade?',
elseResponse: 'Markets are closed. Try again during trading hours.',
});
Add Cooldown
typescript
// Prevent spam
await autoReply.addRule({
name: 'faq',
pattern: {
type: 'keyword',
value: 'faq',
},
response: 'Check our FAQ at https://...',
cooldown: {
perUser: 60000, // 60s per user
perChannel: 10000, // 10s per channel
global: 5000, // 5s global
},
});
Dynamic Responses
typescript
// Response with variables
await autoReply.addRule({
name: 'welcome',
pattern: {
type: 'exact',
value: '!welcome',
},
response: 'Welcome {{user.name}}! You joined {{user.joinDate}}.',
variables: {
'user.name': (ctx) => ctx.user.displayName,
'user.joinDate': (ctx) => ctx.user.createdAt.toDateString(),
},
});
// Response with API call
await autoReply.addRule({
name: 'portfolio',
pattern: {
type: 'keyword',
value: 'portfolio',
},
response: async (match, ctx) => {
const portfolio = await getPortfolio(ctx.user.id);
return `Your portfolio: $${portfolio.totalValue.toFixed(2)}`;
},
});
List Rules
typescript
const rules = await autoReply.listRules();
for (const rule of rules) {
console.log(`${rule.id}: ${rule.name}`);
console.log(` Pattern: ${rule.pattern.value}`);
console.log(` Enabled: ${rule.enabled}`);
console.log(` Triggers: ${rule.triggerCount}`);
}
Test Rule
typescript
// Test which rules would match
const matches = await autoReply.test('hello world', {
userId: 'user-123',
channelId: 'telegram-456',
});
for (const match of matches) {
console.log(`Rule: ${match.rule.name}`);
console.log(`Response: ${match.response}`);
}
Enable/Disable
typescript
await autoReply.enable('rule-id');
await autoReply.disable('rule-id');
Delete Rule
typescript
await autoReply.deleteRule('rule-id');

Pattern Types

TypeExampleDescription
keywordhelloContains keyword
exact!helpExact match only
regex/price\s+\w+/iRegular expression
startsWith!Starts with prefix
endsWith?Ends with suffix

Condition Types

TypeDescription
timeActive during time window
dayActive on specific days
userOnly for specific users
channelOnly in specific channels
roleOnly for users with role
customCustom function

Response Variables

VariableDescription
{{user.name}}User display name
{{user.id}}User ID
{{channel.name}}Channel name
{{match[0]}}Full regex match
{{match[1]}}First capture group
{{date}}Current date
{{time}}Current time

Best Practices

  1. Use priorities — Important rules first
  2. Set cooldowns — Prevent spam
  3. Test patterns — Verify before enabling
  4. Use conditions — Context-aware responses
  5. Monitor triggers — Check rule effectiveness

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/recogardtech/autopilotpm/auto-reply/badge)](https://verified-skill.com/skills/recogardtech/autopilotpm/auto-reply)

Something wrong with this skill or its page? Tell us.