CtrlK
BlogDocsLog inGet started
Tessl Logo

humanizer

Transform AI-generated content into natural, human-sounding writing with proper tone and style

Install with Tessl CLI

npx tessl i github:oyi77/1ai-skills --skill humanizer
What are skills?

Overall
score

18%

Does it follow best practices?

Validation for skill structure

Validation failed for this skill
This skill has errors that need to be fixed before it can move to Implementation and Activation review.
SKILL.md
Review
Evals

Humanizer

Transform AI-generated content into natural, human-sounding writing. Uses Exa to research author voice/tone and stores refined content in Notion.

Required Tools

{
  "mcpServers": {
    "notion": {
      "command": "npx",
      "args": ["-y", "@makenotion/mcp-server"],
      "env": { "NOTION_API_KEY": "${NOTION_API_KEY}" }
    },
    "exa": {
      "command": "npx",
      "args": ["-y", "@exa/mcp-server"],
      "env": { "EXA_API_KEY": "${EXA_API_KEY}" }
    }
  }
}

MCP References

  • Notion MCP: https://github.com/makenotion/mcp-server-notion
  • Exa MCP: https://github.com/exa/mcp-server

Capabilities

  • Analyze source content for AI patterns
  • Research target author's writing style
  • Rewrite content to sound human
  • Remove common AI writing artifacts

Pseudo Code

Rewrite Content

// 1. Load source content
const content = await notion.pages.retrieve({ pageId: draftId });
const text = content.blocks.map(b => b.paragraph.rich_text[0]?.plain_text).join("\n");

// 2. Analyze for AI patterns
const patterns = detectAIPatterns(text);
// Returns: ["significance_inflation", "copula_avoidance", "formulaic_challenges", "ai_vocabulary"]

// 3. Research target voice (optional)
const targetVoice = "tech journalist"; // or retrieve from Notion
const samples = await exa.search(targetVoice, {
  category: "content",
  numResults: 5
});
const voiceProfile = extractVoiceFromSamples(samples);

// 4. Rewrite with LLM
const humanized = await rewrite(text, {
  patternsToFix: patterns,
  tone: voiceProfile || "professional",
  preserveMeaning: true
});

// 5. Store in Notion
const refinedPage = await notion.pages.create({
  parent: { databaseId: refinedContentDbId },
  properties: {
    "Title": { "title": [{ "text": { "content": `Refined: ${content.title}` } }] },
    "Source": { "url": content.url },
    "Patterns Fixed": { "multi_select": patterns.map(p => ({ "name": p })) }
  },
  children: [
    {
      "object": "block",
      "type": "heading_2",
      "heading_2": { "rich_text": [{ "text": { "content": "Original" } }] }
    },
    {
      "object": "block",
      "type": "paragraph",
      "paragraph": { "rich_text": [{ "text": { "content": text } }] }
    },
    {
      "object": "block",
      "type": "heading_2",
      "heading_2": { "rich_text": [{ "text": { "content": "Humanized" } }] }
    },
    {
      "object": "block",
      "type": "paragraph",
      "paragraph": { "rich_text": [{ "text": { "content": humanized } }] }
    }
  ]
});

Detect AI Patterns

function detectAIPatterns(text: string): string[] {
  const patterns: string[] = [];
  
  // Significance inflation
  if (text.match(/pivotal|groundbreaking|unprecedented|transformative/gi)) {
    patterns.push("significance_inflation");
  }
  
  // Copula avoidance (serves as, acts as)
  if (text.match(/\b(serves as|acts as|functions as)\b/gi)) {
    patterns.push("copula_avoidance");
  }
  
  // Formulaic challenges
  if (text.match(/despite (challenges|difficulties|obstacles)/gi)) {
    patterns.push("formulaic_challenges");
  }
  
  // AI vocabulary
  const aiWords = ["additionally", "moreover", "furthermore", "testament", "landscape", "realm"];
  if (aiWords.some(w => text.toLowerCase().includes(w))) {
    patterns.push("ai_vocabulary");
  }
  
  // Em dash overuse
  if ((text.match(/—/g) || []).length > 2) {
    patterns.push("em_dash_overuse");
  }
  
  // Filler phrases
  if (text.match(/\b(in order to|due to the fact that|it is important to note)\b/gi)) {
    patterns.push("filler_phrases");
  }
  
  return patterns;
}

Common AI Patterns to Fix

PatternAI VersionHuman Version
Significance inflation"marking a pivotal moment"specific facts
Copula avoidance"serves as""is"
Formulaic challenges"Despite challenges..."direct statement
AI vocabulary"Additionally...""Also..." or start new thought
Em dash overuseMultiple "—" in one paragraphUse sparingly
Filler phrases"In order to""To"

Skill v2.0 - Humanizer

Repository
github.com/oyi77/1ai-skills
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.