Loading...
Loading...
Analyzes research papers (PDF/arXiv URL) and converts them into executable code. Automatically activated upon requests for paper replication, algorithm implementation, or research reproduction. Responds to requests like "Implement this paper", "paper2code", "Convert paper to code".
npx skill4agent add proyecto26/sherlock-ai-plugin paper2code━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ MANDATORY BEHAVIORAL RULES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Implement one file at a time
2. Proceed to the next file only after completing the current file, without asking for confirmation
3. Original paper specifications always take precedence over reference code
4. Perform a Self-Check for each Phase before completion
5. Save all intermediate results as YAML files
DO:
✓ Implementing exactly what is stated in the paper
✓ Write simple and direct code
✓ Working code first, elegant code later
✓ Test each component immediately
✓ Move to the next file immediately after implementation is complete
DON'T:
✗ Do not ask "Shall I implement the next file?" between files
✗ Extensive documentation not required for core functionality
✗ Optimization not needed for reproducibility
✗ Excessive abstraction or design patterns
✗ Providing instructions without writing actual code
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━https://arxiv.org/abs/xxxx.xxxxxhttps://arxiv.org/pdf/xxxx.xxxxx.pdf/path/to/paper.pdf# Convert to PDF URL and download
curl -L "https://arxiv.org/pdf/xxxx.xxxxx.pdf" -o paper.pdf
# Convert PDF to text (using pdftotext)
pdftotext -layout paper.pdf paper.txtpdftotext -layout "/path/to/paper.pdf" paper.txt[User Input: Paper URL/File]
│
▼
┌─────────────────────────────────────────────┐
│ Step 0: Acquire Paper Text │
│ - arXiv URL → Download PDF │
│ - PDF → Convert to Text │
└─────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ Phase 0: Search Reference Code (Optional) │
│ @[05_reference_search.md] │
│ Output: reference_search.yaml │
└─────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ Phase 1: Algorithm Extraction │
│ @[01_algorithm_extraction.md] │
│ Output: 01_algorithm_extraction.yaml │
└─────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ Phase 2: Concept Analysis │
│ @[02_concept_analysis.md] │
│ Output: 02_concept_analysis.yaml │
└─────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ Phase 3: Implementation Plan │
│ @[03_code_planning.md] │
│ Output: 03_implementation_plan.yaml │
└─────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ Phase 4: Code Implementation │
│ @[04_implementation_guide.md] │
│ Output: Complete Project Directory │
└─────────────────────────────────────────────┘phase1_to_phase2:
algorithms_found: "[Number of found algorithms]"
key_algorithms:
- name: "[Algorithm Name]"
section: "[Paper Section]"
complexity: "[Simple/Medium/Complex]"
hyperparameters_count: "[Number of collected hyperparameters]"
critical_equations: "[List of critical equation numbers]"
missing_info: "[List of missing information]"phase2_to_phase3:
components_count: "[Number of identified components]"
implementation_complexity: "[Low/Medium/High]"
key_dependencies:
- "[Component A] → [Component B]"
experiments_to_reproduce:
- "[Experiment Name]: [Expected Result]"
success_criteria:
- "[Specific Success Criteria]"phase3_to_phase4:
file_order: "[List of files in implementation order]"
current_file: "[Currently implementing file]"
completed_files: "[List of completed files]"
blocking_dependencies: "[Dependencies to resolve]"file_structureimplementation_componentsvalidation_approachenvironment_setupimplementation_strategy━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ BEFORE DECLARING COMPLETE - ALL MUST BE YES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
□ All algorithms in the paper implemented? → YES / NO
□ Correct versions of environment/datasets set? → YES / NO
□ All comparison methods referenced implemented? → YES / NO
□ Working integration to run paper experiments? → YES / NO
□ All metrics, figures, tables reproducible? → YES / NO
□ Basic docs explaining how to reproduce? → YES / NO
□ Code runs without errors? → YES / NO
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ If even one is NO, it is NOT complete!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━User: Implement this paper https://arxiv.org/abs/2301.12345
Claude: I will analyze the paper and convert it to code.
[Phase 0: Reference Code Search (Optional)...]
[Phase 1: Algorithm Extraction...]
[Phase 2: Concept Analysis...]
[Phase 3: Establish Implementation Plan...]
[Phase 4: Code Generation...]User: Implement the algorithms from this paper /home/user/papers/attention.pdfUser: Implement only the algorithm in Section 3 of this paper⚠️ REMEMBER:
1. Read the paper thoroughly: Start implementation after understanding the entire content
2. Save detailed results: Save YAML output of each Phase as a file
3. Incremental implementation: Do not generate all code at once, proceed file by file
4. Include verification: Include simple test code if possible
5. Reference is inspiration: Reference code is for understanding and application, not copying