four-step-pattern
npx skills add https://github.com/orientpine/honeypot --skill four-step-pattern
Agent 安装分布
Skill 文档
Four-Step Pattern Skill
Overview
This skill defines the mandatory 4-step sentence pattern for writing national research report sections. Each subsection (1.1, 1.2, 2.1, etc.) must follow this pattern to meet PhD-level professionalism and national agency submission requirements.
The 4-Step Pattern
Step 1: Task Declaration (ì°êµ¬ ê³¼ì ì ì¸)
Pattern:
- 본 ì¬ì
ìì ë§¡ì 주ì ì°êµ¬ ê³¼ì ë [기ì ë¶ì¼]를 ìí [ê°ë° ìì¤í
ëª
] ê°ë°ì
Rules:
- Must start with “본 ì¬ì ìì ë§¡ì 주ì ì°êµ¬ ê³¼ì ë”
- [기ì ë¶ì¼]: Technical domain (e.g., “굴착기 ìì¨í”, “ì¤ìê° ì ì´”, “ê°ííìµ ê¸°ë° ìì¬ê²°ì ”)
- [ê°ë° ìì¤í ëª ]: Specific, technical system name (e.g., “CAN íµì ê¸°ë° ë¤ì¤ ì¼ì ë°ì´í° ìì§ ë° ìµí© ìì¤í ”)
- Must end with “ê°ë°ì”
Examples:
- “본 ì¬ì ìì ë§¡ì 주ì ì°êµ¬ ê³¼ì ë 굴착기 ìì¨í를 ìí CAN íµì ê¸°ë° ë¤ì¤ ì¼ì ë°ì´í° ìì§ ë° ìµí© ìì¤í ê°ë°ì”
- “본 ì¬ì ìì ë§¡ì 주ì ì°êµ¬ ê³¼ì ë 3ìì ë(3-DOF) íë©´ 굴착기ì ì 기구í ì°ì°ì íµí ë²í· ëë¨ ìì¹ ì¤ìê° ê³ì° ìì¤í ê°ë°ì”
- “본 ì¬ì ìì ë§¡ì 주ì ì°êµ¬ ê³¼ì ë ê°ííìµ(Reinforcement Learning) ê¸°ë° ìì¨ êµ´ì°© ìì¬ê²°ì ìì¤í ê°ë°ì”
Step 2: Problem Definition and Necessity (문ì ì ì ë° íìì±)
Pattern:
- [기존 ë°©ì/ìí©]ì¼ë¡ë [문ì ì /íê³]ì´ë¯ë¡, [í´ê²°ì±
/목í ìì¤í
] 구ì¶ì´ íìí¨
Rules:
- [기존 ë°©ì/ìí©]: Current technology limitations or existing approach
- [문ì ì /íê³]: Specific technical problems
- [í´ê²°ì± /목í ìì¤í ]: Proposed solution in this research
- Must end with “구ì¶ì´ íìí¨” or “ìì¤í ê°ë°ì´ íìí¨”
Examples:
- “기존ì ê°ë³ ì¼ì ì´ì© ë°©ìì¼ë¡ë ì¤ìê° ë기í ë° ë°ì´í° ì¼ê´ì± íë³´ê° ì´ë ¤ì°ë¯ë¡, íµí© CAN ë²ì¤ ìí¤í ì²ë¥¼ íµí ì¼ì ìµí© ìì¤í 구ì¶ì´ íìí¨”
- “기존 í¬í ì ë¯¸í° ê¸°ë° ê°ë 측ì ì 기ê³ì ë§ëª¨ì íê²½ ë³íì ì·¨ì½íë¯ë¡, CANopen ê¸°ë° ê³ ì ë° ê²½ì¬ê³ë¥¼ íµí ê´ì ê°ë 측ì ìì¤í 구ì¶ì´ íìí¨”
- “ìì¨ êµ´ì°© ìì ì¤ ì ì ê³¼ë¶í ë° ì¥ë¹ ììì ë°©ì§í기 ìí´, ì¤ìê° ì ì ìë ¥ 모ëí°ë§ê³¼ ì´ì ê°ì§ ìì¤í 구ì¶ì´ íìí¨”
Step 3: Solution Approach (í´ê²° ë°©ì)
Pattern:
- ì´ë¥¼ ìí´ [ë
¸ë/모ë/í´ëì¤ëª
] ê°ë°ì íµí [기ì 구í ë´ì©] ìí
Rules:
- Must start with “ì´ë¥¼ ìí´”
- [ë ¸ë/모ë/í´ëì¤ëª ]: Actual implementation name (e.g., can_bridge_node, ExcavatorKinematics í´ëì¤)
- [기ì 구í ë´ì©]: Specific tech stack and interfaces
- Multiple implementations should be separate bullet points
Examples:
- “ì´ë¥¼ ìí´ can_bridge_node ê°ë°ì íµí SocketCAN ê¸°ë° ì¤ìê° CAN íµì ì¸í°íì´ì¤ 구í ë° CAN IDë³ ë©ìì§ íì± ìì¤í ê°ë°”
- “ì´ë¥¼ ìí´ forward_kinematics_node ê°ë°ì íµí 20Hz 주기 ì 기구í ì°ì° ìì¤í 구í ë° ì¤ìê° ë²í· ìì¹ ë°í ì¸í°íì´ì¤ ê°ë°”
- “ì´ë¥¼ ìí´ trajectory_generator_node ê°ë°ì íµí /excavator/trajectory_generator ìë¹ì¤ ìë² êµ¬í ë° ìì ì íë³ ê¶¤ì ìì± ìê³ ë¦¬ì¦ ê°ë°”
Step 4: Technical Details (기ì ì ìì¸)
Patterns:
- [구체ì 구íì²´/ì¤ì íì¼] ì¤ì ì íµí´ [íë¼ë¯¸í°1], [íë¼ë¯¸í°2], [íë¼ë¯¸í°3] 구í
- [ìê³ ë¦¬ì¦ëª
] ê¸°ë° [ì¸ë¶ 기ë¥] 구í
- [구체ì ìì¹/ì¤ì ]: [ê°1](ì¤ëª
), [ê°2](ì¤ëª
) ë±
Rules:
- Must include specific parameter values with units
- Algorithm names should include English (e.g., ê²ì¸ ì¤ì¼ì¤ë§(Gain Scheduling))
- Config file names, variable names, function names must match actual code
- Use exact values (no estimates)
Examples:
- “can_config.yaml ì¤ì íì¼ì íµí´ CAN ì¸í°íì´ì¤(can0), ë¹í¸ë ì´í¸(500kbps), ëë°ì´ì¤ë³ CAN ID 매í ì²´ê³ êµ¬í”
- “fk_excavator í¨ì 구í: ê´ì ê°ë(θâ, θâ, θâ)ë¡ë¶í° ë²í· ëë¨ ìì¹(xk, yk) ë° ìì¸(Ï_e) ê³ì°”
- “굴착기 기íí íë¼ë¯¸í° ì ì©: L1=2464mm(Boom), L2=1352mm(Arm), L3=830mm(Bucket), a1=930mm(ìí ì¤íì ), h1=1130mm(ìì§ ì¤íì )”
- “ê´ì ë³ PI ê²ì¸ íë: Swing(Kp=6.0, Ki=0.0), Boom(Kp=12.0, Ki=2.0), Arm(Kp=16.0, Ki=2.0), Bucket(Kp=10.0, Ki=1.0)”
Complete Section Example
### 1.1. CAN íµì ê¸°ë° ë¤ì¤ ì¼ì ë°ì´í° ìì§ ë° ìµí© ìì¤í
구ì¶
- 본 ì¬ì
ìì ë§¡ì 주ì ì°êµ¬ ê³¼ì ë 굴착기 ìì¨í를 ìí CAN íµì ê¸°ë° ë¤ì¤ ì¼ì ë°ì´í° ìì§ ë° ìµí© ìì¤í
ê°ë°ì
- 기존ì ê°ë³ ì¼ì ì´ì© ë°©ìì¼ë¡ë ì¤ìê° ë기í ë° ë°ì´í° ì¼ê´ì± íë³´ê° ì´ë ¤ì°ë¯ë¡, íµí© CAN ë²ì¤ ìí¤í
ì²ë¥¼ íµí ì¼ì ìµí© ìì¤í
구ì¶ì´ íìí¨
- ì´ë¥¼ ìí´ can_bridge_node ê°ë°ì íµí SocketCAN ê¸°ë° ì¤ìê° CAN íµì ì¸í°íì´ì¤ 구í ë° CAN IDë³ ë©ìì§ íì± ìì¤í
ê°ë°
- can_config.yaml ì¤ì íì¼ì íµí´ CAN ì¸í°íì´ì¤(can0), ë¹í¸ë ì´í¸(500kbps), ëë°ì´ì¤ë³ CAN ID 매í ì²´ê³ êµ¬í
- ë¤ì¤ ì¼ì ëì ìì ì ìí ë©í°ì¤ë ë ìí¤í
ì² êµ¬í ë° ì¼ì ë°ì´í° íìì¤í¬í ë기í ìì¤í
구ì¶
그림. CAN íµì ê¸°ë° ì¼ì ìµí© ìì¤í
ìí¤í
ì²
Figure Captions
Each section must end with a figure caption.
Pattern:
그림. [구체ì 기ì ì¤ëª
]
Caption Type Selection
| ì¹ì í¹ì± | 캡ì ì í | ìì |
|---|---|---|
| ìì¤í 구조 | ìí¤í ì² | “~ ìì¤í ìí¤í ì²” |
| ìê³ ë¦¬ì¦ íë¦ | íë¦ë | “~ ìê³ ë¦¬ì¦ íë¦ë” |
| ë°ì´í° íë¦ | ë¸ë¡ ë¤ì´ì´ê·¸ë¨ | “~ ë°ì´í° íë¦ë” |
| ì¡°ì§/ìí | 구ì±ë | “~ 구ì±ë” |
| ìê°ì íë¡ì¸ì¤ | ë¡ëë§µ | “~ ë¡ëë§µ” |
| ì ì´ ìì¤í | ë¸ë¡ ë¤ì´ì´ê·¸ë¨ | “~ ë¸ë¡ ë¤ì´ì´ê·¸ë¨” |
Prohibited Practices
1. Abstract Expressions (ì¶ìì íí ê¸ì§)
â “ìì¤í ì ê°ë°íìì” â “can_bridge_node를 íµí SocketCAN ê¸°ë° ì¤ìê° CAN íµì ì¸í°íì´ì¤ë¥¼ 구íí¨”
2. Missing Numeric Values (ìì¹ ëë½ ê¸ì§)
â “ëì ì£¼ê¸°ë¡ ì°ì°” â “20Hz ì£¼ê¸°ë¡ ì°ì°”
3. Missing Algorithm Names (ìê³ ë¦¬ì¦ëª ëë½ ê¸ì§)
â “ì ì´ ìê³ ë¦¬ì¦ ì ì©” â “ê²ì¸ ì¤ì¼ì¤ë§(Gain Scheduling) ìê³ ë¦¬ì¦ ì ì©”
4. Missing Units (ë¨ì ëë½ ê¸ì§)
â “ê¸¸ì´ 2464” â “ê¸¸ì´ 2464mm”
Domain-Specific Term Substitution
Replace generic terms with domain-specific terms based on research field:
| ë²ì© ì©ì´ | ROS2 | AI/ML | 물리í |
|---|---|---|---|
| 모ë | ë ¸ë | 모ë/ë ì´ì´ | 모ë |
| ì²ë¦¬ | í¼ë¸ë¦¬ì | ì¶ë¡ | ì°ì° |
| ì¤ì | íë¼ë¯¸í° | íì´í¼íë¼ë¯¸í° | íë¼ë¯¸í° |
| ì°ê²° | í í½/ìë¹ì¤ | ë ì´ì´ ì°ê²° | ì¸í°íì´ì¤ |
| ì ë ¥ | 구ë | ì ë ¥ í ì | ì ë ¥ ì í¸ |
| ì¶ë ¥ | ë°í | ì¶ë ¥ í ì | ì¶ë ¥ ì í¸ |
Validation Checklist
For each subsection, verify:
- Step 1: Starts with “본 ì¬ì ìì ë§¡ì 주ì ì°êµ¬ ê³¼ì ë”, ends with “ê°ë°ì”
- Step 2: Contains “ì´ë¯ë¡” and “구ì¶ì´ íìí¨”
- Step 3: Starts with “ì´ë¥¼ ìí´”, includes implementation name
- Step 4: Includes specific parameters with units
- Figure caption present at end
- No abstract expressions
- All numeric values have units
- Algorithm names include English translation
- Domain-specific terms used correctly