ワンクリックで
rrwrite-revise-manuscript
Automatically revise manuscript based on critique reports using iterative refinement with convergence detection
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Automatically revise manuscript based on critique reports using iterative refinement with convergence detection
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Generate publication-quality plots from data files or DataFrames
Analyzes a GitHub repository or local directory to extract structure, files, and research context
Assembles all manuscript sections into a complete manuscript with validation and metadata generation
Analyzes manuscript outline for journal suitability, recommends optimal journal, and fetches author guidelines
Performs adversarial critique of manuscripts, outlines, literature reviews, or other academic content against journal requirements and quality standards.
Analyzes the repository structure and generates a detailed manuscript outline based on target journal guidelines (Nature, PLOS, Bioinformatics).
| name | rrwrite-revise-manuscript |
| description | Automatically revise manuscript based on critique reports using iterative refinement with convergence detection |
| arguments | [{"name":"manuscript_dir","description":"Manuscript directory containing critique reports","default":"manuscript"},{"name":"max_iterations","description":"Maximum number of revision iterations","default":2},{"name":"min_improvement","description":"Minimum improvement rate to continue (0.05 = 5%)","default":0.05},{"name":"dry_run","description":"Show planned revisions without saving changes","default":false}] |
| allowed-tools | null |
| context | fork |
Iteratively revise manuscript sections based on critique reports to address major and minor issues with automated convergence detection.
Required files in {manuscript_dir}:
critique_content_v1.md - Content critique reportcritique_format_v1.md - Format critique reportliterature_evidence.csv - Citation databaserepository_analysis.md - Repository metadataabstract.md, introduction.md, methods.md, results.md, discussion.mdRequired state:
The revision system uses a modular orchestrator architecture:
Revision stops when ANY of these conditions are met:
literature_evidence.csv for relevant citationsrepository_analysis.mdVerify critique exists:
cd {manuscript_dir}
if [ ! -f "critique_content_v1.md" ]; then
echo "Error: No critique found. Run /rrwrite-critique-manuscript first"
exit 1
fi
Check issue count:
from rrwrite_revision_parser import CritiqueParser
parser = CritiqueParser("{manuscript_dir}")
issues = parser.parse_critique_reports(version=1)
metrics = parser.count_issues(issues)
print(f"Major issues: {metrics['major']}")
print(f"Minor issues: {metrics['minor']}")
if metrics['major'] == 0:
print("No major issues to revise")
exit(0)
Standard revision (2 iterations):
python scripts/rrwrite-revise-manuscript.py \
--manuscript-dir {manuscript_dir} \
--max-iterations {max_iterations}
Custom improvement threshold:
python scripts/rrwrite-revise-manuscript.py \
--manuscript-dir {manuscript_dir} \
--max-iterations {max_iterations} \
--min-improvement {min_improvement}
Dry run (preview changes):
python scripts/rrwrite-revise-manuscript.py \
--manuscript-dir {manuscript_dir} \
--dry-run
Check revision summary:
The script outputs:
REVISION SUMMARY
----------------
Total iterations: 2
Issues resolved: 21 → 8 → 0 (major)
Convergence: major_issues_resolved
✓ All major issues resolved!
Review state tracking:
from rrwrite_state_manager import StateManager
manager = StateManager(output_dir="{manuscript_dir}")
summary = manager.get_revision_summary()
print(f"Status: {summary['status']}")
print(f"Iterations: {summary['iterations']}")
print(f"Major resolved: {summary['total_major_resolved']}")
print(f"Convergence: {summary['convergence_reason']}")
Review critique reports:
Each iteration generates new critique files:
critique_content_v2.mdcritique_format_v2.mdcritique_content_v3.md (if 3+ iterations)Compare versions to track progress.
If revision stalled or issues remain:
Review remaining issues:
cat {manuscript_dir}/critique_content_v*.md | grep "## Major Issues"
Identify problematic sections:
from rrwrite_revision_parser import CritiqueParser
parser = CritiqueParser("{manuscript_dir}")
# Get latest version
import re
files = list(Path("{manuscript_dir}").glob("critique_content_v*.md"))
latest_version = max([int(re.search(r'v(\d+)', f.name).group(1)) for f in files])
issues = parser.parse_critique_reports(version=latest_version)
issues = parser.infer_all_sections(issues)
grouped = parser.group_by_section(issues)
for section, section_issues in grouped.items():
major = sum(1 for i in section_issues if i.severity == "major")
if major > 0:
print(f"{section}: {major} major issues")
Manually revise problematic sections:
Each revised section is validated:
If validation fails:
Revision state is tracked in .rrwrite/state.json:
{
"workflow_status": {
"revision": {
"status": "completed",
"max_revisions": 2,
"current_iteration": 2,
"iterations": [
{
"iteration": 1,
"sections_revised": ["introduction", "methods"],
"issues_before": {"major": 21, "minor": 4},
"issues_after": {"major": 8, "minor": 2},
"convergence_metrics": {
"major_resolved": 13,
"minor_resolved": 2,
"improvement_rate": 0.62
},
"git_commit": "abc123d"
}
],
"convergence_status": "converged",
"convergence_reason": "major_issues_resolved"
}
}
}
Each iteration is committed automatically:
Commit message: "Revision iteration 1: Resolved 13 major, 2 minor issues"
Files: *.md, .rrwrite/state.json
View revision history:
cd {manuscript_dir}
git log --oneline --grep="Revision iteration"
Symptom: "No critique reports found"
Solution: Run critique first: /rrwrite-critique-manuscript
Symptom: "Convergence: stalled_no_improvement" Causes:
Solutions:
--min-improvement threshold--max-iterationsSymptom: "Validation failed: Citation not found" Causes:
Solutions:
Symptom: "Convergence: max_iterations_reached" with issues remaining Solutions:
--max-iterationsTypical performance:
For {max_iterations} iterations:
==============================================================
REVISION ITERATION 1/2
==============================================================
Parsing critique reports (version 1)...
Found 21 major issues, 4 minor issues
Mapping issues to sections...
- introduction: 5 major, 1 minor
- methods: 10 major, 0 minor
- results: 6 major, 3 minor
Revising sections...
Revising introduction... ✓ (3 changes)
- Added evidence: Strong claim without evidence: "Validation through..."
- Added evidence: Strong claim without evidence: "The system's validation..."
- Added evidence: Strong claim without evidence: "MicroGrowAgents demonstrates..."
Revising methods... ✓ (2 changes)
- Added reproducibility: Methods missing reproducibility elements
- Added reproducibility: Code availability statement
Revising results... ✓ (1 changes)
- Added evidence: Strong claim without evidence: "Histogram analysis confirms..."
Re-assembling manuscript...
✓ Manuscript assembled
Re-running critique (version 2)...
✓ Critique complete
After revision:
Major issues: 21 → 8 (13 resolved)
Minor issues: 4 → 2
Improvement rate: 61.9%
==============================================================
REVISION ITERATION 2/2
==============================================================
...
==============================================================
Revision converged: major_issues_resolved
==============================================================
REVISION SUMMARY
----------------
Total iterations: 2
Issues resolved: 21 → 8 → 0 (major)
Convergence: major_issues_resolved
✓ All major issues resolved!
==============================================================
Review final manuscript:
cat {manuscript_dir}/manuscript_full.md
Check final critique:
cat {manuscript_dir}/critique_content_v*.md
Validate final output:
python scripts/rrwrite-validate-manuscript.py \
--file {manuscript_dir}/manuscript_full.md \
--type manuscript
Check workflow status:
python scripts/rrwrite-status.py --output-dir {manuscript_dir}
Export for submission:
# Convert to .docx
pandoc {manuscript_dir}/manuscript_full.md \
-o {manuscript_dir}/manuscript_full.docx \
-f markdown -t docx --standalone
# Or use existing conversion script
python scripts/rrwrite-convert-to-docx.py \
--input {manuscript_dir}/manuscript_full.md
The revision step is now integrated into the assembly workflow:
# Assemble with automatic critique and 2 revision iterations
python scripts/rrwrite-assemble-manuscript.py \
--output-dir {manuscript_dir} \
--max-revisions 2
# Or use the skill directly
/rrwrite-assemble --target_dir {manuscript_dir} --max_revisions 2
Current limitations:
Future improvements: