← Back to Skills Marketplace
raghulpasupathi

Gpt Analyzer

by raghulpasupathi · GitHub ↗ · v1.0.0
cross-platform ✓ Security Clean
676
Downloads
0
Stars
2
Active Installs
1
Versions
Install in OpenClaw
/install gpt-analyzer
Description
GPT-specific pattern detection with model fingerprinting and version identification
README (SKILL.md)

GPT Analyzer

Specialized detection for GPT-generated content with model-specific pattern recognition.

Implementation

/**
 * Analyze text for GPT-specific patterns and fingerprints
 * @param {string} text - Text to analyze
 * @param {object} options - Configuration options
 * @returns {object} Analysis result with model identification
 */
async function analyzeGPTContent(text, options = {}) {
  const {
    detectVersion = true,
    checkWatermarks = true,
    minConfidence = 0.7
  } = options;

  const normalizedText = text.toLowerCase();
  const wordCount = text.split(/\s+/).length;

  // GPT-specific phrases (stronger indicators)
  const gptPhrases = {
    'gpt-4': [
      'delve into', 'landscape of', 'realm of', 'it\'s important to note',
      'multifaceted', 'nuanced', 'comprehensive', 'holistic approach'
    ],
    'gpt-3.5': [
      'as an ai language model', 'i don\'t have personal', 'i apologize for',
      'certainly', 'absolutely', 'furthermore', 'moreover'
    ],
    'common': [
      'it\'s worth noting', 'keep in mind', 'in conclusion',
      'to summarize', 'in summary', 'navigate the', 'tapestry of'
    ]
  };

  // Model fingerprinting
  let gpt4Score = 0;
  let gpt35Score = 0;
  let commonScore = 0;
  const foundPhrases = [];

  // Check GPT-4 specific patterns
  for (const phrase of gptPhrases['gpt-4']) {
    if (normalizedText.includes(phrase)) {
      gpt4Score += 0.2;
      foundPhrases.push({ phrase, model: 'gpt-4' });
    }
  }

  // Check GPT-3.5 specific patterns
  for (const phrase of gptPhrases['gpt-3.5']) {
    if (normalizedText.includes(phrase)) {
      gpt35Score += 0.2;
      foundPhrases.push({ phrase, model: 'gpt-3.5' });
    }
  }

  // Check common GPT patterns
  for (const phrase of gptPhrases['common']) {
    if (normalizedText.includes(phrase)) {
      commonScore += 0.1;
      foundPhrases.push({ phrase, model: 'common' });
    }
  }

  // Structure analysis
  const hasNumberedLists = (text.match(/\
\d+\./g) || []).length >= 3;
  const hasBulletPoints = (text.match(/\
[•\-\*]/g) || []).length >= 3;
  const structureScore = (hasNumberedLists || hasBulletPoints) ? 0.15 : 0;

  // Sentence uniformity
  const sentences = text.split(/[.!?]+/).filter(s => s.trim());
  const avgLength = sentences.reduce((sum, s) => sum + s.length, 0) / sentences.length;
  const variance = sentences.reduce((sum, s) => sum + Math.pow(s.length - avgLength, 2), 0) / sentences.length;
  const uniformityScore = variance \x3C 500 ? 0.1 : 0;

  // Calculate confidence
  const totalScore = gpt4Score + gpt35Score + commonScore + structureScore + uniformityScore;
  const confidence = Math.min(totalScore, 1.0);

  // Determine model
  let detectedModel = 'unknown';
  if (gpt4Score > gpt35Score && gpt4Score > 0) {
    detectedModel = 'gpt-4';
  } else if (gpt35Score > gpt4Score && gpt35Score > 0) {
    detectedModel = 'gpt-3.5';
  } else if (commonScore > 0) {
    detectedModel = 'gpt-family';
  }

  const isGPT = confidence >= minConfidence;

  return {
    isGPT,
    confidence: Math.round(confidence * 100),
    detectedModel: isGPT ? detectedModel : 'not-gpt',
    scores: {
      gpt4: Math.round(gpt4Score * 100) / 100,
      gpt35: Math.round(gpt35Score * 100) / 100,
      common: Math.round(commonScore * 100) / 100,
      structure: Math.round(structureScore * 100) / 100,
      uniformity: Math.round(uniformityScore * 100) / 100
    },
    indicators: {
      foundPhrases: foundPhrases.length,
      hasStructure: hasNumberedLists || hasBulletPoints,
      avgSentenceLength: Math.round(avgLength),
      sentenceVariance: Math.round(variance)
    },
    recommendation: confidence >= 0.85 ? 'Very likely GPT' :
                     confidence >= 0.70 ? 'Likely GPT' :
                     confidence >= 0.50 ? 'Possibly GPT' :
                     'Unlikely GPT or human-written'
  };
}

// Export for OpenClaw
module.exports = {
  analyzeGPTContent
};

Usage

const result = await skills.gptAnalyzer.analyzeGPTContent(text);

if (result.isGPT) {
  console.log(`GPT detected: ${result.detectedModel} (${result.confidence}% confidence)`);
}

Configuration

{
  "detectVersion": true,
  "minConfidence": 0.7
}
Usage Guidance
This skill appears coherent and low-risk from a security standpoint: it runs only text-based heuristics and asks for no credentials or installs. However, the detection logic is a simple heuristic (phrase lists, structure and length metrics) and may produce false positives/negatives or be biased by writing style; do not rely on it for high-stakes decisions. If you will analyze sensitive content, remember the agent will pass that text into the skill at runtime — ensure you trust the agent runtime/environment. You may also consider: (1) testing the skill on representative samples before relying on results, (2) preferring validated detection tools or multiple detectors for critical use, and (3) reviewing or adapting the phrase lists/thresholds if you have domain-specific needs.
Capability Analysis
Type: OpenClaw Skill Name: gpt-analyzer Version: 1.0.0 The OpenClaw AgentSkills bundle 'gpt-analyzer' is benign. The `_meta.json` file contains standard metadata. The `SKILL.md` file defines a JavaScript function `analyzeGPTContent` that performs text analysis to detect GPT-generated content based on specific phrases and structural patterns. The code is self-contained, does not access the file system, network, or environment variables, and contains no malicious instructions or prompt injection attempts against the agent. Its functionality is clearly aligned with its stated purpose.
Capability Assessment
Purpose & Capability
Name/description match the provided implementation: the SKILL.md contains a self-contained JavaScript heuristic function that analyzes text for GPT-like phrases, structure, and sentence uniformity. Nothing requested (no env vars, no binaries, no installs) is disproportionate to this purpose.
Instruction Scope
Runtime instructions and example usage show only local text analysis via the analyzeGPTContent(text, options) routine. The instructions do not direct the agent to read files, network endpoints, or unrelated environment variables.
Install Mechanism
There is no install specification and no code files beyond the SKILL.md sample — lowest-risk, instruction-only arrangement. Nothing is downloaded or written to disk by the skill itself.
Credentials
The skill declares no required environment variables, credentials, or config paths. The analysis operates purely on provided text input, so no secret access is requested or required.
Persistence & Privilege
always is false (default) and the skill does not request persistent system presence or modify other skills. Autonomous invocation is enabled by default on the platform but is not combined with any elevated privileges or sensitive access here.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install gpt-analyzer
  3. After installation, invoke the skill by name or use /gpt-analyzer
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
- Initial release of GPT Analyzer (v1.0.0). - Detects GPT-generated content with model-specific pattern recognition and fingerprinting. - Identifies likely GPT version (gpt-4, gpt-3.5, or general GPT-family). - Provides confidence scoring and analysis indicators. - Offers recommendation labels (e.g., "Very likely GPT"). - Allows configuration of detection options and confidence threshold.
Metadata
Slug gpt-analyzer
Version 1.0.0
License
All-time Installs 3
Active Installs 2
Total Versions 1
Frequently Asked Questions

What is Gpt Analyzer?

GPT-specific pattern detection with model fingerprinting and version identification. It is an AI Agent Skill for Claude Code / OpenClaw, with 676 downloads so far.

How do I install Gpt Analyzer?

Run "/install gpt-analyzer" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Gpt Analyzer free?

Yes, Gpt Analyzer is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Gpt Analyzer support?

Gpt Analyzer is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Gpt Analyzer?

It is built and maintained by raghulpasupathi (@raghulpasupathi); the current version is v1.0.0.

💬 Comments