context engineering framework
npx skills add https://github.com/shunsukehayashi/miyabi-claude-plugins --skill Context Engineering Framework
Skill 文档
æ±ç¨æ å ±æ§é åãã¬ã¼ã ã¯ã¼ã¯
ãã®ãã¬ã¼ã ã¯ã¼ã¯ã¯ãã¦ã§ããµã¤ããããã¥ã¡ã³ããããã¹ããã¼ã¿ãªã©ãæ§ã ãªå½¢å¼ã®éæ§é åæ å ±ããAIãè§£éã»æ´»ç¨å¯è½ãªå½¢å¼ã«èªå¾çã«å¤æã»æ´çããããã®æ±ç¨çãªè¨è¨ææ³ã¨ä»æ§ãå®ç¾©ãã¾ãã
I. èªå¾åã¨ã¼ã¸ã§ã³ãæ±ç¨ä»æ§ (Generic Autonomous Agent Specification)
ããããæ å ±ã½ã¼ã¹ãå¦çããæ§é åãã¼ã¿ãçæããã¨ã¼ã¸ã§ã³ãã®è¨è¨ãã³ãã¬ã¼ãã§ãã
agent_specification:
name: "æ±ç¨ã³ã³ããã¹ãã¨ã³ã¸ãã¢ãªã³ã°ã»ã¨ã¼ã¸ã§ã³ã"
version: "1.0.0"
description: |
æ§ã
ãªå½¢å¼ã®å
¥åã½ã¼ã¹ãããé層çãã¤æ§é åãããã³ã³ããã¹ãæ
å ±ãæ½åºãã
æå®ãããå½¢å¼ï¼YAML, JSONçï¼ã®ããã¥ã¡ã³ãã¨ãã¦èªåçã«æ´çã»æ°¸ç¶åããèªå¾åã¨ã¼ã¸ã§ã³ãã
æ
å ±åéãããã¹ãè§£æãæ§é åãæ°¸ç¶åãçµ±åçã«å®è¡ããã
core_capabilities:
- "夿§ãªå
¥åã½ã¼ã¹ï¼URLãããã¹ãããã¡ã¤ã«ï¼ã®å¦ç"
- "ã³ã³ãã³ãã®è«çæ§é ã®è§£æã¨é層å"
- "é¢é£æ§ã«åºã¥ãæ
å ±ã®ã°ã«ã¼ãã³ã°ã¨è¦ç´"
- "æ°è¦ã®é¢é£æ
å ±ã½ã¼ã¹ã®èªå¾ççºè¦ã¨è¿½è·¡ï¼ã¯ãã¼ã«ï¼"
- "æå®ãããå½¢å¼ã§ã®æ§é åãã¼ã¿ã®æ°¸ç¶å"
input_schema:
type: object
properties:
source_specification:
type: object
description: "å¦ç対象ã¨ãªãæ
å ±ã½ã¼ã¹ã®å®ç¾©"
properties:
source_type:
type: string
enum: ["url_list", "raw_text", "file_path", "mixed"]
sources:
type: array
description: "å¦çããã½ã¼ã¹ã®ãªã¹ãï¼URLãããã¹ãããã¡ã¤ã«ãã¹ãªã©ï¼"
processing_options:
type: object
description: "å¦çæ¹æ³ã«é¢ããè¨å®"
properties:
output_base_directory:
type: string
description: "çæãã¡ã¤ã«ã®ä¿åå
ãã£ã¬ã¯ããª"
crawling_config:
type: object
description: "ã¦ã§ãã¯ãã¼ã«ã«é¢ããè¨å®ï¼æå¤§æ·±åº¦ã対象ãã¡ã¤ã³ãªã©ï¼"
content_extraction_config:
type: object
description: "ã³ã³ãã³ãæ½åºã«é¢ããè¨å®ï¼é層深度ãè¦ç´ã¬ãã«ãªã©ï¼"
output_format_config:
type: object
description: "åºåå½¢å¼ã«é¢ããè¨å®ï¼ãã¡ã¤ã«å½¢å¼ãã¤ã³ããã¯ã¹çæã®æç¡ãªã©ï¼"
autonomous_workflow:
- "1. åæå: å
¥åæ¤è¨¼ã¨ç°å¢è¨å®"
- "2. ã¡ã¤ã³ã«ã¼ã: æ
å ±ã½ã¼ã¹ãå°½ããã¾ã§ä»¥ä¸ã®å¦çãç¹°ãè¿ã"
- " a. ã³ã³ãã³ãåå¾: ã½ã¼ã¹ããæ
å ±ãåå¾"
- " b. æ§é æ½åº: ã³ã³ãã³ããè§£æããé層æ§é ãæ½åº"
- " c. æ°è¦ã½ã¼ã¹çºè¦: ã³ã³ãã³ãå
ããæ°ããªé¢é£æ
å ±ã½ã¼ã¹ãçºè¦ããå¦çãã¥ã¼ã«è¿½å "
- "3. æçµå: å
¨åéãã¼ã¿ãæ´çããæå®ãããå½¢å¼ã§ãã¡ã¤ã«ã·ã¹ãã ã«ä¿å"
tool_definitions:
# ã¨ã¼ã¸ã§ã³ããå©ç¨ããä»®æ³çãªãã¼ã«ç¾¤
- web_content_fetcher: "URLããã¦ã§ãã³ã³ãã³ããåå¾"
- llm_structure_extractor: "ããã¹ãããé層æ§é ãæ½åº"
- url_discovery_engine: "ã³ã³ãã³ãããé¢é£URLãçºè¦"
- file_system_manager: "ãã¡ã¤ã«ã¨ãã£ã¬ã¯ããªã管ç"
error_handling_strategy:
# ã¨ã©ã¼çºçæã®å試è¡ãå¦çç¶ç¶ããã®ã³ã°ã«é¢ããæ¦ç¥
- retry_mechanisms: "䏿çãªã¨ã©ã¼ã«å¯¾ããåè©¦è¡æ¦ç¥"
- graceful_degradation: "é¨åçãªå¤±ææãæåããå¦ççµæã¯ä¿æ"
success_criteria:
# ã¨ã¼ã¸ã§ã³ãã®æåãå®ç¾©ããåºæº
- functional_requirements: "å
¥åã仿§éãã«å¦çãããåºåãæ´åãã¦ãããã¨"
- performance_requirements: "æå®ãããæéããªã½ã¼ã¹å
ã§å¦çãå®äºãããã¨"
II. æ å ±ã½ã¼ã¹åæãã³ãã¬ã¼ã (Information Source Analysis Template)
ã¨ã¼ã¸ã§ã³ãã«ããèªåå¦çã®åã«ã対象ã¨ãªãæ å ±ã½ã¼ã¹ï¼ç¹ã«ã¦ã§ããµã¤ãï¼ã®æ§é ãæåã§åæã»çè§£ããããã®ãã³ãã¬ã¼ãã§ãã
ä»¶å: [対象ãµã¤ãå] æ§é åæã¬ãã¼ã
-
æ¦è¦ (Overview)
- 対象ãµã¤ãå:
- URL:
- ç®ç: (ä¾: 製åããã¥ã¡ã³ãã伿¥ããã°ããµãã¼ããã¼ã¿ã«)
-
ããã²ã¼ã·ã§ã³æ§é (Navigation Structure)
- 主è¦ã«ãã´ãª: (ãããã¬ãã«ã®ã¡ãã¥ã¼é ç®ããªã¹ãã¢ãã)
- é層: (ä¾: ã«ãã´ãª â ãµãã«ãã´ãª â è¨äº)
-
ã³ã³ãã³ãçµç¹ã®ç¹å¾´ (Content Organization Features)
- 主è¦ã»ã¯ã·ã§ã³: (ä¾: ã¬ã¤ãããã¥ã¼ããªã¢ã«ãAPIãªãã¡ã¬ã³ã¹ãæ´æ°å±¥æ´)
- æ å ±ã¢ã¼ããã¯ãã£: (é層åããããã¯ãã¼ã¹ãæç³»åãªã©)
-
URLæ§é (URL Structure)
- ãã¼ã¹URL:
- ã«ãã´ãªãã¼ã¸ã®ãã¿ã¼ã³:
- åå¥è¨äºã®ãã¿ã¼ã³:
-
ã¡ã¿ãã¼ã¿ (Metadata Organization)
- åãã¼ã¸ãè¨äºã«å«ã¾ããã¡ã¿ãã¼ã¿ (ä¾: æ´æ°æ¥ã使è ãã¿ã°)
-
ã³ã³ãã³ãæ½åºã®ããã®æ¨å¥¨äºé (Recommendations for Content Extraction)
- å¦çãéå§ãã¹ãã¨ã³ããªã¼ãã¤ã³ãURL
- ã¯ãã¼ã«å¯¾è±¡ã¨ãã¹ãURLãã¿ã¼ã³
- æ½åºã®éã«æ³¨æãã¹ãç¹
III. å°éå®¶ãããã¡ã¤ã«ã»ãã³ãã¬ã¼ã (Expert Profile Template)
ç¹å®ã®ãã¡ã¤ã³ç¥èãæã¤æ å½è ãå°éå®¶ã®è½åãã¢ããã¼ããå©ç¨ãã¼ã«ãå®ç¾©ããããã®ãã³ãã¬ã¼ãã§ããããã«ãããæ å ±æ§é åã®èå¾ã«ããã³ã³ããã¹ããæç¢ºã«ãã¾ãã
ä»¶å: [å°éå®¶å/ãã¼ã å] ãããã¡ã¤ã«
-
ç®çã¨èæ¯ (Purpose & Context)
- å°éåéãããã·ã§ã³ãããã³æ´»åã®å ¨ä½åãè¨è¿°ãã¾ãã
-
ç¾å¨ã®ç¶æ³ (Current State)
- ç¾å¨æ³¨åãã¦ããããã¸ã§ã¯ããã¿ã¹ã¯ãéçºä¸ã®ã·ã¹ãã ã«ã¤ãã¦è¨è¿°ãã¾ãã
-
主è¦ãªå¦ã³ã¨åå (Key Learnings & Principles)
- æ´»åãéãã¦å¾ãããæ ¸å¿çãªç¥è¦ãã常ã«å¾ãã¹ãåºæ¬ååããªã¹ãã¢ãããã¾ãã
- (ä¾: ãæ§é åãããã³ã³ããã¹ããAIã®ç²¾åº¦ãåä¸ãããããèªååã«ã¯æç¢ºãªæååºæºãå¿ è¦ã)
-
ã¢ããã¼ãã¨ãã¿ã¼ã³ (Approach & Patterns)
- åé¡è§£æ±ºãã¿ã¹ã¯éè¡ã«ãããä¸è²«ããæ¹æ³è«ãæèãã¿ã¼ã³ãè¨è¿°ãã¾ãã
- (ä¾: æ å ±åé â ä½ç³»çãªåæ â 詳細ãªå®è£ è¨ç»ã®çå®)
-
ãã¼ã«ã¨ãªã½ã¼ã¹ (Tools & Resources)
- 使ç¨ãã主è¦ãªæè¡ã¹ã¿ãã¯ãã½ããã¦ã§ã¢ããã¼ã¿ã½ã¼ã¹ãªã©ããªã¹ãã¢ãããã¾ãã
IV. å®è¡ä¾ï¼æ±ç¨ãã³ãã¬ã¼ãã®é©ç¨ (Implementation Example)
ä¸è¨ãã¬ã¼ã ã¯ã¼ã¯ã使ç¨ãã¦ãç¹å®ã®ã¿ã¹ã¯ãå®è¡ããéã®å ·ä½çãªè¨å®ä¾ã§ãã
# å®è¡ä¾: [対象ãµã¤ã]ã®ããã¥ã¡ã³ããæ§é åãã
example_usage:
task_definition:
source_specification:
source_type: "url_list"
sources:
- "[対象ãµã¤ãã®ããããã¼ã¸ã®URL]"
- "[対象ãµã¤ãã®ä¸»è¦ã«ãã´ãªãã¼ã¸ã®URL]"
processing_options:
output_base_directory: "[åºåå
ãã£ã¬ã¯ããªå]"
crawling_config:
max_crawl_depth: 2
target_domain_patterns:
- "[ã¯ãã¼ã«ã許å¯ãããã¡ã¤ã³ã®æ£è¦è¡¨ç¾]"
max_pages_per_domain: 50
content_extraction_config:
context_granularity: "L1_L2" # è¦åºãã¬ãã«1ã¨2ã¾ã§ãæ½åº
content_summarization: "detailed"
output_format_config:
file_format: "yaml_frontmatter" # Markdownå½¢å¼ï¼ã¡ã¿ãã¼ã¿ä»ãï¼
generate_index: true
expected_output_structure:
# æå¾
ãããåºåã®ãã£ã¬ã¯ããªæ§é ã¨ãã¡ã¤ã«å
容ã®ãµã³ãã«
directory_tree: |
[åºåå
ãã£ã¬ã¯ããªå]/
âââ index.md
âââ [ã«ãã´ãª1]/
â âââ [è¨äºA].md
â âââ [è¨äºB].md
âââ [ã«ãã´ãª2]/
âââ [è¨äºC].md
âââ ...
file_content_sample: |
---
title: "[è¨äºã®ã¿ã¤ãã«]"
source_url: "[å
ã®è¨äºã®URL]"
last_updated: "[æçµæ´æ°æ¥æ]"
---
# ã³ã³ãã³ãã®è¦ç´
ããã«ãAIã«ãã£ã¦çæãããè¨äºã®è¦ç´ãè¨è¿°ããã¾ãã
## [ãµãã¿ã¤ãã«]
- ãµãã¿ã¤ãã«ã«å¯¾å¿ããã³ã³ãã³ãã®è¦ç¹