paper-first-principles

Use when converting academic papers into engineer-friendly documentation, extracting design patterns from research, or preparing technical knowledge sharing

18 stars

Best use case

paper-first-principles is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use when converting academic papers into engineer-friendly documentation, extracting design patterns from research, or preparing technical knowledge sharing

Teams using paper-first-principles should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/paper-first-principles/SKILL.md --create-dirs "https://raw.githubusercontent.com/Dqz00116/skill-lib/main/paper-first-principles/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/paper-first-principles/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How paper-first-principles Compares

Feature / Agentpaper-first-principlesStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use when converting academic papers into engineer-friendly documentation, extracting design patterns from research, or preparing technical knowledge sharing

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Paper First Principles

## Overview

Convert academic papers into progressive, engineer-friendly documentation using first principles thinking.

## When to Use

**Use when:**
- You need to understand a research paper deeply from an engineering perspective
- Extracting design patterns, system architectures, or algorithms from academic literature
- Preparing technical knowledge sharing or documentation for engineering teams
- Mapping theoretical research to practical software engineering applications

**Don't use for:**
- Papers without clear technical contributions (survey papers, opinion pieces)
- One-off reading without need for structured documentation
- Standard practices already well-documented elsewhere

## Quick Start

```bash
# Basic usage
kimi paper-first-principles https://arxiv.org/abs/xxxx.xxxxx

# Engineer perspective with domain focus
kimi paper-first-principles paper.pdf --audience engineer --domain distributed-systems

# Output to file
kimi paper-first-principles paper.pdf --output ./docs/analysis.md
```

## Output Structure

Generated documents contain 8 standard sections:

| Section | Content | Audience |
|---------|---------|----------|
| **Opening** | One-sentence core insight | All |
| **Mechanism Breakdown** | Comparative analysis tables | Engineers, Researchers |
| **First Principles** | Problem essence and design rationale | All |
| **Progressive Deep Dive** | Layered complexity (simple → complex) | Engineers, Researchers |
| **Edge Cases** | Common pitfalls and misconceptions | Engineers |
| **Decision Tree** | When/how to apply | Engineers, Managers |
| **Engineering Checklist** | Actionable verification items | Engineers |
| **Summary** | Reusable design patterns | All |

## Paper Types & Progressive Paths

| Type | Characteristics | Progressive Path |
|------|-----------------|------------------|
| **Algorithm** | New algorithms/models | Example → Core mechanism → Optimizations |
| **System** | Architecture/engineering | Single-node → Distributed → Production |
| **Theory** | Theoretical analysis | Problem → Theorem → Proof → Application |

## Parameters

### `--audience`

- `engineer`: Implementation details, design patterns, edge cases
- `researcher`: Technical depth, related work comparison, theory
- `manager`: Problem context, decision rationale, risk assessment

### `--domain` (optional)

Engineering domain for contextual mapping:
- `distributed-systems`: Distributed systems, microservices
- `storage`: Storage systems, file systems  
- `database`: Databases, data warehouses
- `network`: Networks, CDN, load balancing
- `ml-system`: ML systems, recommendation systems

## Analysis Workflow

This skill processes papers in 6 stages using prompts in `prompts/`:

1. **Core Extraction** (`extract_core.txt`): Identify contributions and key decisions
2. **First Principles** (`first_principles.txt`): Trace problem essence and rationale
3. **Progressive Layers** (`progressive_layers.txt`): Organize by complexity
4. **Engineering Map** (`engineering_map.txt`): Map to software patterns (engineer audience only)

## Output Templates

Templates in `templates/` provide structure for each paper type:
- `system.md`: System papers (infrastructure, architecture)
- `algorithm.md`: Algorithm papers (models, methods)
- `theory.md`: Theory papers (analysis, proofs)

## Examples

See `examples/attention_residuals.md` for a complete example converting the Attention Residuals paper into an engineer-friendly analysis with distributed systems mappings.

## Resource Loading Guide

**Always load in this order:**

1. **Parse paper** → **Extract core** (use `prompts/extract_core.txt`)
2. **First principles analysis** (use `prompts/first_principles.txt`)
3. **Progressive organization** (use `prompts/progressive_layers.txt`)
4. **Engineering mapping** (if `--audience engineer`, use `prompts/engineering_map.txt`)
5. **Generate output** (use appropriate template from `templates/`)

## Constraints & Notes

- Paper quality matters: clear abstract and introduction required
- Output depth auto-adjusts based on `--audience`
- Engineering mapping accuracy depends on `--domain` setting
- Complex proofs may need manual verification

Related Skills

layered-first-principles-teaching

18
from Dqz00116/skill-lib

Use when explaining complex concepts to others, designing training materials, or preparing technical presentations with progressive disclosure

unity-mcp

18
from Dqz00116/skill-lib

Use when controlling Unity editor via AI, automating scene operations, or programmatically generating Unity assets and scripts

ue5-umg

18
from Dqz00116/skill-lib

Use when building HUDs, menus, inventory screens, settings panels, or any widget-based interface in Unreal Engine 5. Also use when connecting C++ logic to UMG Blueprint visuals, handling gamepad or keyboard focus navigation, managing UI state, creating widget animations, or troubleshooting UMG performance issues like frame drops, hitches, or widget memory leaks.

taskmaster-skill

18
from Dqz00116/skill-lib

Use when managing complex project plans, tracking multi-phase task progress, or prioritizing development tasks

research-to-practice

18
from Dqz00116/skill-lib

Use when applying academic research to practical workflows, optimizing existing processes based on papers, or extracting actionable insights from research

requirement-clarification

18
from Dqz00116/skill-lib

Use when receiving ambiguous instructions, preparing for state-changing operations, or needing explicit user confirmation

mvp-design

18
from Dqz00116/skill-lib

Use when designing new modules from scratch, creating minimal viable prototypes, or establishing architectural decisions before implementation

msvc-build

18
from Dqz00116/skill-lib

Use when compiling MSVC C++ projects, debugging build errors, or performing clean and incremental builds

knowledge-base-cache

18
from Dqz00116/skill-lib

Use when managing large knowledge bases, reducing API costs, or implementing multi-tier caching for frequent queries

kimicode-vision-bridge

18
from Dqz00116/skill-lib

Use when the current Agent LLM cannot process images directly and visual analysis is needed — bridges images through KimiCode CLI print mode to a multimodal Kimi model for text description

hexo-blog-update

18
from Dqz00116/skill-lib

Use when creating, editing, or publishing Hexo blog posts

git-workflow

18
from Dqz00116/skill-lib

Use when committing code, pushing changes, or managing Git operations that require safety checks