A pattern scanner and editor for AI-assisted text, code, and audio
BeYourself has 16 tools with clear verb-noun naming (analyze_*, save_*, check_*, run_*, render_*, finalize_*) and comprehensive descriptions (avg 180 chars, well above 10-char minimum). All tools have input schemas with Zod validation and type definitions. However, parameter descriptions are inconsistent: some params lack descriptions entirely (e.g., 'workDir' in run_audio_pipeline has no description), and several tools omit output schema documentation. Error handling is minimal, most tools return generic error messages without recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications. Batch tools (batch_analyze, batch_analyze_code) are well-designed for composition, but audio pipeline tools expose implementation details (stem directories, intermediate files) that should be abstracted. Missing: per-parameter constraints (e.g., threshold ranges), idempotency guidance, and confirmation patterns for destructive operations (save_document, save_code_file).
Scan source code text for AI-typical patterns: generic identifier names, comments that just restate the code, boilerplate log-and-swallow catch blocks, unnecessary defensive null checks, and leftover scaffolding markers (e.g. "TODO: implement"). Returns a 0-100 fileScore and flagged lines with rewrite suggestions.
Judge code AI-likelihood using Claude (via the user's authenticated `claude` CLI) instead of the free heuristic. Genuine semantic and code-smell judgment. Costs real money per call and takes several seconds. Use for spot-checking important files, not for scanning large codebases.
Load a source file from disk and run analyze_code on its contents.
Load a .txt, .md, or .docx file from disk and score it for AI-flavored writing patterns. Same output shape as analyze_text.
Load a MIDI file and score it for AI-generated-sounding / unedited composition & performance data: quantization rigidity, velocity flatness, and exact pattern repetition. Returns a 0-100 score and flagged tracks with humanization suggestions.
Missing parameter descriptions in audio pipeline tools. 'workDir' in run_audio_pipeline and finalize_audio_track lacks any description of its purpose or expected format.
No output schema documentation. Tools return JSON objects but LLMs cannot infer field names, types, or structure. E.g., analyze_text returns 'docScore', 'flagged', 'allSentences', not documented in tool definition.
No tool annotations (readOnlyHint/destructiveHint/idempotentHint) despite clear risk classifications. save_document and save_code_file are WRITE operations but lack destructiveHint. analyze_* tools are READ_ONLY but lack readOnlyHint.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Score raw text for AI-flavored writing patterns (0-100, higher = more AI-like). Returns flagged sentences with the specific phrase or pattern that tripped detection and a plain-language rewrite suggestion. Heuristic, not a certainty: a probabilistic style signal.
Judge AI-likelihood using an actual LLM (shells out to the user's authenticated `claude` CLI) instead of the free lexical heuristic in analyze_text. Genuine semantic and stylistic judgment, not just buzzword matching. Costs real money per call (roughly $0.05 to $0.20 depending on prompt cache warmth) and takes several seconds to run. Use for a handful of documents that matter, not for scanning large batches. For that, use the free analyze_text/batch_analyze first and reserve this for spot-checking the results.
Analyze multiple documents (.txt, .md, .docx) in one call and return each doc's AI-likelihood score alongside a needsReview flag for any doc scoring at or above the given threshold. Use this for a "scan a folder / a list of docs, flag anything above Y%" workflow.
Analyze multiple source files in one call, returning each file's fileScore and a needsReview flag for anything at/above the given threshold (default 50).
Check availability of audio processing dependencies: demucs, basic-pitch, ffmpeg, fluidsynth, and soundfont. Returns a status object indicating which tools are installed and ready.
Mix edited MIDI and/or audio stems into a final track, rendering any MIDI to audio via SoundFont and transcoding to the desired output format (WAV, MP3, M4A, etc.).
Load a document and return only the sentences at or above a given per-sentence score threshold, with rewrite suggestions, for drilling into which specific regions of a flagged doc need editing.
Render a MIDI file to audio (WAV) using fluidsynth and a SoundFont. Returns the path to the rendered audio file.
Separate audio stems using Demucs and transcribe them to MIDI using Basic Pitch. Returns stem directory, list of separated stems, and MIDI transcription results for each stem.
Write edited source code back to disk, preserving whatever file extension the path has.
Write edited text back out in the same format it was loaded in: .docx stays .docx, .txt/.md stay plain text. Use this after rewriting flagged sections so the doc doesn't need a separate app just to resave it. Supported: .txt, .md, .docx.
Minimal error handling and recovery guidance. Most tools return generic error messages (e.g., 'error: err.message') without actionable next steps. No categorization of retryable vs fatal errors.
Audio pipeline tools expose implementation details (stem directories, intermediate files, workDir). Should abstract file management and return only user-relevant outputs (final audio path, processing status).