From academic-writer
Self-review quality gate — scores a completed article on 6 dimensions (structure, argument logic, citation completeness, source coverage, writing quality, academic conventions) and presents a scorecard before final output.
npx claudepluginhub yodem/academic-writer --plugin academic-writerThis skill uses the workspace's default tool permissions.
A structured quality gate that scores a completed article on 6 dimensions and presents a scorecard to the researcher.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
A structured quality gate that scores a completed article on 6 dimensions and presents a scorecard to the researcher.
/academic-writer:reviewcat .academic-helper/profile.md
If no profile, tell the researcher to run /academic-writer:init first.
When run standalone, ask:
"Which article would you like to review? Provide the path to a markdown (.md) file in
articles/."
List available articles:
ls articles/*.md 2>/dev/null
Read the selected article with the Read tool.
When invoked as a pipeline step, the article text is passed directly.
Score each dimension 1–10. Present detailed findings for each.
במאמר זה / בדף זה / במחקר זה?לסיכום / מכל האמור עולה כי / בסיכומו של דבר?Score 10: All conventions met, logical order, balanced sections. Score 1: Missing intro/conclusion conventions, illogical order.
Score 10: Every section advances thesis, no gaps, clear progression. Score 1: Sections don't connect to thesis, circular logic, gaps.
Score 10: Every claim cited, consistent format, no orphans. Score 1: Multiple uncited claims, inconsistent format.
Score 10: All sources used, balanced distribution, counter-arguments present. Score 1: Sources missing, over-reliance on one source.
Check against the researcher's style fingerprint:
python3 -c "
import re, json
content = open('.academic-helper/profile.md').read()
m = re.search(r'## Style Fingerprint\n+\x60\x60\x60json\n(.*?)\n\x60\x60\x60', content, re.DOTALL)
print(m.group(1) if m else 'null')
"
Score 10: Matches fingerprint perfectly, no issues. Score 1: Generic voice, grammar issues, register inconsistencies.
Load linking words reference:
cat plugins/academic-writer/words.md
Score 10: Rich variety of connectors, appropriate lengths, smooth transitions. Score 1: Repetitive connectors, choppy transitions.
Present the results as a clear scorecard:
╔══════════════════════════════════════════════════════╗
║ ARTICLE REVIEW SCORECARD ║
╠══════════════════════════════════════════════════════╣
║ ║
║ 1. Structure (מבנה) N/10 ║
║ [brief finding] ║
║ ║
║ 2. Argument Logic (הגיון טיעוני) N/10 ║
║ [brief finding] ║
║ ║
║ 3. Citation Completeness (ציטוטים) N/10 ║
║ [brief finding] ║
║ ║
║ 4. Source Coverage (כיסוי מקורות) N/10 ║
║ [brief finding] ║
║ ║
║ 5. Writing Quality (איכות כתיבה) N/10 ║
║ [brief finding] ║
║ ║
║ 6. Academic Conventions (מוסכמות) N/10 ║
║ [brief finding] ║
║ ║
╠══════════════════════════════════════════════════════╣
║ TOTAL: NN/60 ║
║ GRADE: [Excellent/Good/Needs Work/Poor] ║
╚══════════════════════════════════════════════════════╝
Grade thresholds:
After the scorecard, list specific issues found:
Issues to address:
- [Dimension] — [specific issue and location]
- ...
Strengths:
- [Dimension] — [what works well]
- ...
If the score is below 40, warn the researcher:
AskUserQuestion(questions=[{
"question": "The article scored NN/60 on self-review. Some issues were found. How would you like to proceed?",
"header": "Self-Review Results",
"options": [
{"label": "Continue to DOCX output", "description": "Generate the document as-is. You can edit later."},
{"label": "Show me the issues", "description": "Review the detailed findings before proceeding."},
{"label": "Run edits first", "description": "Address the issues before generating the final document."}
],
"multiSelect": false
}])
If score is 40+, show the scorecard and continue to DOCX output automatically.
If Cognetivy is enabled:
echo '{"type":"step_started","nodeId":"self_review"}' | cognetivy event append --run RUN_ID
After scoring:
echo '{"type":"step_completed","nodeId":"self_review","totalScore":NN,"maxScore":60,"grade":"GRADE","dimensions":{"structure":N,"argumentLogic":N,"citationCompleteness":N,"sourceCoverage":N,"writingQuality":N,"academicConventions":N}}' | cognetivy event append --run RUN_ID