{"adoption": {"forks": 22, "observed_at": "2026-08-28T04:03:37.516791+00:00", "stars": 1110}, "canonical_url": "https://ross.abutalabs.com/products/textlint-rule-preset-ai-writing", "card": {"archived": false, "artifact_type": "plugin", "description": "textlintプリセット：AIっぽい記述パターンを検出し、より自然な日本語表現を促すルール集", "domain": ["developer-tools", "documentation"], "enriched": true, "function": ["linter", "nlp", "mcp"], "health_score": 92, "homepage": "https://textlint-ja.github.io/textlint-rule-preset-ai-writing/", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["textlint-ja/textlint-rule-preset-ai-writing"], "name": "textlint-ja/textlint-rule-preset-ai-writing", "platform": ["cli", "editor-plugin"], "pushed_at": "2026-06-16T14:45:47+00:00", "repo": "textlint-ja/textlint-rule-preset-ai-writing", "stars": 1110, "tags": ["textlint", "japanese", "ai-writing-detection", "writing-quality", "rule-preset", "natural-language-processing", "nodejs"], "topics": [], "urls": [], "use_cases": ["detect AI-sounding writing in Japanese documents", "lint markdown for AI-style list formatting and emoji bullets", "flag hype expressions like 'revolutionary' or 'game changer' in Japanese text", "integrate textlint with Claude Code or VSCode Copilot via MCP", "improve naturalness of AI-generated Japanese blog posts and docs"], "what_it_is": "A textlint rule preset that detects AI-generated writing patterns in Japanese text and suggests more natural phrasing. It can also run as an MCP server so AI coding tools can lint and revise their own output in a feedback loop.", "when_to_avoid": ["you need AI-text detection for English or other languages", "you want to reliably determine whether text was written by AI rather than improve style", "your project does not use textlint or Node.js"], "when_to_choose": ["you write or edit Japanese text and want to remove machine-sounding patterns", "you use AI tools to generate Japanese content and want automated quality checks", "you already use textlint and want an AI-writing rule preset"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/textlint-rule-preset-ai-writing", "repo": "textlint-ja/textlint-rule-preset-ai-writing", "role": "main", "score": 74}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.516791+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:43:32.534815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6ac5ae3dc18a88ce3e2d72676e9b9f580ca31b7b26aa547cea5a8f984226e44b", "fetched_at": "2026-08-28T04:03:37.516791+00:00", "kind": "readme", "missing": false, "url": "https://github.com/textlint-ja/textlint-rule-preset-ai-writing"}, {"content_hash": "179a23dade75daa5a87efb6e3edc2e5b8cc770885effd8882830294f23e1967c", "fetched_at": "2026-08-29T12:46:58.327620+00:00", "kind": "homepage", "missing": false, "url": "https://textlint-ja.github.io/textlint-rule-preset-ai-writing/"}, {"content_hash": "6363e071a087aae8412293d0222b7f216f63804c6953aa019899bceded1115cf", "fetched_at": "2026-08-29T12:46:58.336656+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/textlint-rule-preset-ai-writing"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.516791+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:43:32.534815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6ac5ae3dc18a88ce3e2d72676e9b9f580ca31b7b26aa547cea5a8f984226e44b", "fetched_at": "2026-08-28T04:03:37.516791+00:00", "kind": "readme", "missing": false, "url": "https://github.com/textlint-ja/textlint-rule-preset-ai-writing"}, {"content_hash": "179a23dade75daa5a87efb6e3edc2e5b8cc770885effd8882830294f23e1967c", "fetched_at": "2026-08-29T12:46:58.327620+00:00", "kind": "homepage", "missing": false, "url": "https://textlint-ja.github.io/textlint-rule-preset-ai-writing/"}, {"content_hash": "6363e071a087aae8412293d0222b7f216f63804c6953aa019899bceded1115cf", "fetched_at": "2026-08-29T12:46:58.336656+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/textlint-rule-preset-ai-writing"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:43:32.534815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6ac5ae3dc18a88ce3e2d72676e9b9f580ca31b7b26aa547cea5a8f984226e44b", "fetched_at": "2026-08-28T04:03:37.516791+00:00", "kind": "readme", "missing": false, "url": "https://github.com/textlint-ja/textlint-rule-preset-ai-writing"}, {"content_hash": "179a23dade75daa5a87efb6e3edc2e5b8cc770885effd8882830294f23e1967c", "fetched_at": "2026-08-29T12:46:58.327620+00:00", "kind": "homepage", "missing": false, "url": "https://textlint-ja.github.io/textlint-rule-preset-ai-writing/"}, {"content_hash": "6363e071a087aae8412293d0222b7f216f63804c6953aa019899bceded1115cf", "fetched_at": "2026-08-29T12:46:58.336656+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/textlint-rule-preset-ai-writing"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.516791+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.516791+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.516791+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:43:32.534815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6ac5ae3dc18a88ce3e2d72676e9b9f580ca31b7b26aa547cea5a8f984226e44b", "fetched_at": "2026-08-28T04:03:37.516791+00:00", "kind": "readme", "missing": false, "url": "https://github.com/textlint-ja/textlint-rule-preset-ai-writing"}, {"content_hash": "179a23dade75daa5a87efb6e3edc2e5b8cc770885effd8882830294f23e1967c", "fetched_at": "2026-08-29T12:46:58.327620+00:00", "kind": "homepage", "missing": false, "url": "https://textlint-ja.github.io/textlint-rule-preset-ai-writing/"}, {"content_hash": "6363e071a087aae8412293d0222b7f216f63804c6953aa019899bceded1115cf", "fetched_at": "2026-08-29T12:46:58.336656+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/textlint-rule-preset-ai-writing"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.516791+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.516791+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:43:32.534815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6ac5ae3dc18a88ce3e2d72676e9b9f580ca31b7b26aa547cea5a8f984226e44b", "fetched_at": "2026-08-28T04:03:37.516791+00:00", "kind": "readme", "missing": false, "url": "https://github.com/textlint-ja/textlint-rule-preset-ai-writing"}, {"content_hash": "179a23dade75daa5a87efb6e3edc2e5b8cc770885effd8882830294f23e1967c", "fetched_at": "2026-08-29T12:46:58.327620+00:00", "kind": "homepage", "missing": false, "url": "https://textlint-ja.github.io/textlint-rule-preset-ai-writing/"}, {"content_hash": "6363e071a087aae8412293d0222b7f216f63804c6953aa019899bceded1115cf", "fetched_at": "2026-08-29T12:46:58.336656+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/textlint-rule-preset-ai-writing"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.516791+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.516791+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.516791+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:43:32.534815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6ac5ae3dc18a88ce3e2d72676e9b9f580ca31b7b26aa547cea5a8f984226e44b", "fetched_at": "2026-08-28T04:03:37.516791+00:00", "kind": "readme", "missing": false, "url": "https://github.com/textlint-ja/textlint-rule-preset-ai-writing"}, {"content_hash": "179a23dade75daa5a87efb6e3edc2e5b8cc770885effd8882830294f23e1967c", "fetched_at": "2026-08-29T12:46:58.327620+00:00", "kind": "homepage", "missing": false, "url": "https://textlint-ja.github.io/textlint-rule-preset-ai-writing/"}, {"content_hash": "6363e071a087aae8412293d0222b7f216f63804c6953aa019899bceded1115cf", "fetched_at": "2026-08-29T12:46:58.336656+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/textlint-rule-preset-ai-writing"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.516791+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:37.516791+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:43:32.534815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6ac5ae3dc18a88ce3e2d72676e9b9f580ca31b7b26aa547cea5a8f984226e44b", "fetched_at": "2026-08-28T04:03:37.516791+00:00", "kind": "readme", "missing": false, "url": "https://github.com/textlint-ja/textlint-rule-preset-ai-writing"}, {"content_hash": "179a23dade75daa5a87efb6e3edc2e5b8cc770885effd8882830294f23e1967c", "fetched_at": "2026-08-29T12:46:58.327620+00:00", "kind": "homepage", "missing": false, "url": "https://textlint-ja.github.io/textlint-rule-preset-ai-writing/"}, {"content_hash": "6363e071a087aae8412293d0222b7f216f63804c6953aa019899bceded1115cf", "fetched_at": "2026-08-29T12:46:58.336656+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/textlint-rule-preset-ai-writing"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:43:32.534815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6ac5ae3dc18a88ce3e2d72676e9b9f580ca31b7b26aa547cea5a8f984226e44b", "fetched_at": "2026-08-28T04:03:37.516791+00:00", "kind": "readme", "missing": false, "url": "https://github.com/textlint-ja/textlint-rule-preset-ai-writing"}, {"content_hash": "179a23dade75daa5a87efb6e3edc2e5b8cc770885effd8882830294f23e1967c", "fetched_at": "2026-08-29T12:46:58.327620+00:00", "kind": "homepage", "missing": false, "url": "https://textlint-ja.github.io/textlint-rule-preset-ai-writing/"}, {"content_hash": "6363e071a087aae8412293d0222b7f216f63804c6953aa019899bceded1115cf", "fetched_at": "2026-08-29T12:46:58.336656+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/textlint-rule-preset-ai-writing"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:43:32.534815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6ac5ae3dc18a88ce3e2d72676e9b9f580ca31b7b26aa547cea5a8f984226e44b", "fetched_at": "2026-08-28T04:03:37.516791+00:00", "kind": "readme", "missing": false, "url": "https://github.com/textlint-ja/textlint-rule-preset-ai-writing"}, {"content_hash": "179a23dade75daa5a87efb6e3edc2e5b8cc770885effd8882830294f23e1967c", "fetched_at": "2026-08-29T12:46:58.327620+00:00", "kind": "homepage", "missing": false, "url": "https://textlint-ja.github.io/textlint-rule-preset-ai-writing/"}, {"content_hash": "6363e071a087aae8412293d0222b7f216f63804c6953aa019899bceded1115cf", "fetched_at": "2026-08-29T12:46:58.336656+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/textlint-rule-preset-ai-writing"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:43:32.534815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6ac5ae3dc18a88ce3e2d72676e9b9f580ca31b7b26aa547cea5a8f984226e44b", "fetched_at": "2026-08-28T04:03:37.516791+00:00", "kind": "readme", "missing": false, "url": "https://github.com/textlint-ja/textlint-rule-preset-ai-writing"}, {"content_hash": "179a23dade75daa5a87efb6e3edc2e5b8cc770885effd8882830294f23e1967c", "fetched_at": "2026-08-29T12:46:58.327620+00:00", "kind": "homepage", "missing": false, "url": "https://textlint-ja.github.io/textlint-rule-preset-ai-writing/"}, {"content_hash": "6363e071a087aae8412293d0222b7f216f63804c6953aa019899bceded1115cf", "fetched_at": "2026-08-29T12:46:58.336656+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/textlint-rule-preset-ai-writing"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 87, "longevity": 31, "rhythm": 83}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 444, "days_push": 78, "days_rel": 112, "gap_med": 0, "n_releases_24m": 12}, "score": 74, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}