Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 08:20:20 +08:00
commit b1f89ff340
21 changed files with 1279 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
{
"name": "ai-experiment-logger",
"description": "Track and analyze AI experiments with a web dashboard and MCP tools",
"version": "1.0.0",
"author": {
"name": "Claude Code Plugins",
"email": "plugins@example.com"
},
"skills": [
"./skills"
],
"commands": [
"./commands"
],
"mcp": [
"./mcp"
]
}

3
README.md Normal file
View File

@@ -0,0 +1,3 @@
# ai-experiment-logger
Track and analyze AI experiments with a web dashboard and MCP tools

34
commands/log.md Normal file
View File

@@ -0,0 +1,34 @@
---
description: Log a new AI experiment with terminal report
shortcut: log-exp
---
# Log AI Experiment
When the user runs `/log-exp` or `/log`, help them log a new AI experiment by gathering the following information:
## Required Information
1. **AI Tool Used** - e.g., "ChatGPT o1-preview", "Claude Sonnet 3.5", "Gemini Pro"
2. **Prompt/Query** - What they asked the AI
3. **Result Summary** - Brief summary of the AI's response
4. **Effectiveness Rating** - 1 (poor) to 5 (excellent)
5. **Tags** (optional) - Comma-separated tags like "code-generation, python, debugging"
6. **Date** (optional) - Defaults to now if not provided
## Process
1. Ask for the information conversationally (don't make it feel like a form)
2. Once you have all required info, use the `log_experiment` MCP tool
3. Display a formatted terminal report showing:
- ✅ Success confirmation
- 📊 Experiment ID
- 🤖 AI Tool
- ⭐ Rating
- 🏷️ Tags
- 📅 Date/Time
## Example Interaction
```
User: /log-exp

123
commands/report.md Normal file
View File

@@ -0,0 +1,123 @@
---
description: Generate comprehensive terminal report of AI experiments
shortcut: ai-report
---
# AI Experiments Report
When the user runs `/ai-report`, generate a comprehensive, well-formatted terminal report of their AI experiments.
## Report Sections
### 1. Summary Statistics
Display at the top:
```
╔══════════════════════════════════════════════════════════════╗
║ AI EXPERIMENT LOGGER - SUMMARY REPORT ║
╚══════════════════════════════════════════════════════════════╝
📊 OVERVIEW
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Total Experiments: [count]
Average Rating: [X.XX] ⭐
Date Range: [earliest] → [latest]
```
### 2. Top Performing AI Tools
Show the top 5 AI tools by average rating:
```
🏆 TOP AI TOOLS BY PERFORMANCE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. ChatGPT o1-preview ⭐ 4.85 avg (20 experiments)
2. Claude Sonnet 3.5 ⭐ 4.75 avg (18 experiments)
3. Gemini Pro ⭐ 4.20 avg (12 experiments)
```
### 3. Rating Distribution
Show distribution visually:
```
⭐ RATING DISTRIBUTION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
5 stars ████████████████████████████ (28)
4 stars ████████████████████ (20)
3 stars ██████████ (10)
2 stars ████ (4)
1 star ██ (2)
```
### 4. Most Used Tags
Show top 10 tags:
```
🏷️ POPULAR TAGS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
code-generation (15) debugging (12) research (10)
creative-writing (8) data-analysis (7) testing (6)
```
### 5. Recent Activity
Show last 7 days:
```
📈 RECENT ACTIVITY (Last 7 Days)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2025-10-13: ████████ (8 experiments)
2025-10-12: ██████ (6 experiments)
2025-10-11: ████ (4 experiments)
```
### 6. Latest Experiments
Show the 5 most recent:
```
📝 LATEST EXPERIMENTS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[Oct 13, 2:30 PM] ChatGPT o1-preview ⭐⭐⭐⭐⭐
Prompt: Write a Python function to calculate Fibonacci
Tags: code-generation, python
[Oct 13, 1:15 PM] Claude Sonnet 3.5 ⭐⭐⭐⭐
Prompt: Debug React useState issue with async
Tags: debugging, react, javascript
```
## Data Sources
Use the `get_statistics` and `list_experiments` MCP tools to gather all data.
## Optional Filters
Support these filters via arguments:
- `/ai-report tool:ChatGPT` - Show report for specific tool
- `/ai-report tag:code-generation` - Show report for specific tag
- `/ai-report days:30` - Show last 30 days only
- `/ai-report rating:5` - Show only 5-star experiments
## Error Handling
If no experiments exist:
```
╔══════════════════════════════════════════════════════════════╗
║ AI EXPERIMENT LOGGER - SUMMARY REPORT ║
╚══════════════════════════════════════════════════════════════╝
📊 NO EXPERIMENTS YET
Get started by logging your first AI experiment:
/log-exp
Or use the MCP tool directly:
Use the log_experiment tool
```
## Implementation Notes
- Use Unicode box drawing characters for clean terminal output
- Ensure all sections are properly aligned
- Use emoji for visual appeal but keep it professional
- Calculate percentages and averages with 2 decimal precision
- Sort all rankings by count/rating descending
- Format dates in user-friendly format (Oct 13, 2:30 PM)

131
commands/search.md Normal file
View File

@@ -0,0 +1,131 @@
---
description: Search AI experiments and display formatted results
shortcut: search-exp
---
# Search AI Experiments
When the user runs `/search-exp [query]`, search through all AI experiments and display formatted terminal results.
## Search Behavior
Search across these fields:
- AI tool name
- Prompt text
- Result text
- Tags
## Usage Examples
```bash
/search-exp code # Search for "code"
/search-exp tool:ChatGPT # Filter by tool
/search-exp tag:debugging # Filter by tag
/search-exp rating:5 # Filter by rating
/search-exp "python function" # Search phrase
```
## Output Format
```
╔══════════════════════════════════════════════════════════════╗
║ AI EXPERIMENTS - SEARCH RESULTS ║
╚══════════════════════════════════════════════════════════════╝
Found 12 experiments matching "code generation"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[1] Oct 13, 2:30 PM | ChatGPT o1-preview | ⭐⭐⭐⭐⭐
📝 Prompt:
Write a Python function to calculate Fibonacci numbers recursively
💡 Result:
Provided clean recursive implementation with base cases. Included
time complexity analysis (O(2^n)).
🏷️ Tags: code-generation, python, algorithms
🆔 ID: exp_1697234567890_abc123def
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[2] Oct 12, 4:15 PM | Claude Sonnet 3.5 | ⭐⭐⭐⭐
📝 Prompt:
Generate TypeScript interfaces from JSON schema
💡 Result:
Created well-typed interfaces with proper nested types and
optional fields.
🏷️ Tags: code-generation, typescript, types
🆔 ID: exp_1697148912345_xyz789abc
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 QUICK STATS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Total results: 12 experiments
Average rating: 4.42 ⭐
Most common tool: ChatGPT o1-preview (7 experiments)
Most common tag: code-generation (12 experiments)
```
## Advanced Filters
Support combined filters:
```bash
/search-exp tool:ChatGPT rating:5 tag:python
```
Parse and apply each filter:
- `tool:X` → Filter by AI tool
- `rating:X` → Filter by rating (1-5)
- `tag:X` → Filter by tag
- `date:YYYY-MM-DD` → Filter by specific date
- `from:YYYY-MM-DD` → From date
- `to:YYYY-MM-DD` → To date
## Empty Results
```
╔══════════════════════════════════════════════════════════════╗
║ AI EXPERIMENTS - SEARCH RESULTS ║
╚══════════════════════════════════════════════════════════════╝
🔍 No experiments found matching "xyz123"
Try:
• Broadening your search terms
• Checking spelling
• Using /ai-report to see all experiments
• Using different filter criteria
```
## Sorting Options
Support sorting with suffix:
```bash
/search-exp code :date # Sort by date (newest first)
/search-exp code :rating # Sort by rating (highest first)
/search-exp code :tool # Sort by tool name (alphabetical)
```
## Limit Results
Default to showing 10 results, with pagination hint:
```
Showing 10 of 45 results. Use filters to narrow down.
```
## Implementation
Use the `list_experiments` MCP tool with appropriate filters:
- `searchQuery` for text search
- `aiTool` for tool filter
- `rating` for rating filter
- `tags` for tag filter
- `dateFrom` / `dateTo` for date range
Format output to be readable in terminal with proper spacing and visual hierarchy.

20
mcp/server.json Normal file
View File

@@ -0,0 +1,20 @@
{
"mcpServers": {
"ai-experiment-logger": {
"command": "node",
"args": [
"/absolute/path/to/plugins/mcp/ai-experiment-logger/dist/index.js"
],
"description": "Track and analyze AI experiments with comprehensive logging and statistics",
"tools": [
"log_experiment",
"list_experiments",
"get_experiment",
"update_experiment",
"delete_experiment",
"get_statistics",
"export_experiments"
]
}
}
}

113
plugin.lock.json Normal file
View File

@@ -0,0 +1,113 @@
{
"$schema": "internal://schemas/plugin.lock.v1.json",
"pluginId": "gh:jeremylongshore/claude-code-plugins-plus:plugins/mcp/ai-experiment-logger",
"normalized": {
"repo": null,
"ref": "refs/tags/v20251128.0",
"commit": "dfd0aa72a7ad0ffccdd736ced8b800df31873db7",
"treeHash": "00689cfead76b232bddd9d8b444e69729881cf81ab79931b7a545e3522241352",
"generatedAt": "2025-11-28T10:18:03.639854Z",
"toolVersion": "publish_plugins.py@0.2.0"
},
"origin": {
"remote": "git@github.com:zhongweili/42plugin-data.git",
"branch": "master",
"commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390",
"repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data"
},
"manifest": {
"name": "ai-experiment-logger",
"description": "Track and analyze AI experiments with a web dashboard and MCP tools",
"version": "1.0.0"
},
"content": {
"files": [
{
"path": "README.md",
"sha256": "8b5eeb5c76b7bc73b0cddd9d4a50777b7e355cd18eacc9f117882ec34107feb9"
},
{
"path": "mcp/server.json",
"sha256": "191b2293909340d12f32f71da96a59652f64cf6a7563e05324f5ccde1ab45330"
},
{
"path": ".claude-plugin/plugin.json",
"sha256": "4259ead45e690a94e29b720ad047e02ab1bee5b36c443bcb16e5468aa92445c2"
},
{
"path": "commands/search.md",
"sha256": "88f88dd4e5e95558d33ef3e29bd5d8bc3df57c93ddbfaa8a6128944ef4e10814"
},
{
"path": "commands/report.md",
"sha256": "e66f787b04d4193edc480c35e570cc703047bb21af6c01df0209894550f34d93"
},
{
"path": "commands/log.md",
"sha256": "27ec2c20411d5d27aa94ac1acd79df5e49fb9edaf7f0667d7e2bcf9f6b55c63d"
},
{
"path": "skills/skill-adapter/references/examples.md",
"sha256": "922bbc3c4ebf38b76f515b5c1998ebde6bf902233e00e2c5a0e9176f975a7572"
},
{
"path": "skills/skill-adapter/references/best-practices.md",
"sha256": "c8f32b3566252f50daacd346d7045a1060c718ef5cfb07c55a0f2dec5f1fb39e"
},
{
"path": "skills/skill-adapter/references/README.md",
"sha256": "e4e929cba28cf715ac5747fb78d87f1094e450fca4eae606d8a510addb8c0c28"
},
{
"path": "skills/skill-adapter/scripts/helper-template.sh",
"sha256": "0881d5660a8a7045550d09ae0acc15642c24b70de6f08808120f47f86ccdf077"
},
{
"path": "skills/skill-adapter/scripts/validation.sh",
"sha256": "92551a29a7f512d2036e4f1fb46c2a3dc6bff0f7dde4a9f699533e446db48502"
},
{
"path": "skills/skill-adapter/scripts/README.md",
"sha256": "67d5b375e4021d083ec5f5faf524fbbc89e21e0a642a75dc2dcbf5754c654f35"
},
{
"path": "skills/skill-adapter/assets/visualization_styles.css",
"sha256": "469fee226e5d7f3b7112f297f59308ef82b458a5afa4a5e44f3915f266ede44f"
},
{
"path": "skills/skill-adapter/assets/test-data.json",
"sha256": "ac17dca3d6e253a5f39f2a2f1b388e5146043756b05d9ce7ac53a0042eee139d"
},
{
"path": "skills/skill-adapter/assets/example_experiments.json",
"sha256": "75470e18c7d9fa0812197a674bc64d04d9eca673d94251be47764cee51f7f4a7"
},
{
"path": "skills/skill-adapter/assets/README.md",
"sha256": "51cb44be8de439a943eda401a36941f5b3ab18c975012c253aeb97116d108caa"
},
{
"path": "skills/skill-adapter/assets/skill-schema.json",
"sha256": "f5639ba823a24c9ac4fb21444c0717b7aefde1a4993682897f5bf544f863c2cd"
},
{
"path": "skills/skill-adapter/assets/experiment_report_template.docx",
"sha256": "5a9bbd91710bcdf182b5fa3e1c19b584d549063898b71c6cf55beff45a11c7b1"
},
{
"path": "skills/skill-adapter/assets/dashboard_template.html",
"sha256": "85e8f54349691cdcd2a78902eabb5beecf59da6a02b0b078febc6d36cccd52fd"
},
{
"path": "skills/skill-adapter/assets/config-template.json",
"sha256": "0c2ba33d2d3c5ccb266c0848fc43caa68a2aa6a80ff315d4b378352711f83e1c"
}
],
"dirSha256": "00689cfead76b232bddd9d8b444e69729881cf81ab79931b7a545e3522241352"
},
"security": {
"scannedAt": null,
"scannerVersion": null,
"flags": []
}
}

View File

@@ -0,0 +1,8 @@
# Assets
Bundled resources for ai-experiment-logger skill
- [ ] dashboard_template.html: HTML template for the web dashboard, providing a starting point for customization.
- [ ] example_experiments.json: Example JSON file containing sample experiment data.
- [ ] visualization_styles.css: CSS file to style visualizations generated by the analysis scripts.
- [ ] experiment_report_template.docx: Word template for generating experiment reports.

View File

@@ -0,0 +1,32 @@
{
"skill": {
"name": "skill-name",
"version": "1.0.0",
"enabled": true,
"settings": {
"verbose": false,
"autoActivate": true,
"toolRestrictions": true
}
},
"triggers": {
"keywords": [
"example-trigger-1",
"example-trigger-2"
],
"patterns": []
},
"tools": {
"allowed": [
"Read",
"Grep",
"Bash"
],
"restricted": []
},
"metadata": {
"author": "Plugin Author",
"category": "general",
"tags": []
}
}

View File

@@ -0,0 +1,125 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AI Experiment Logger Dashboard</title>
<style>
/* Basic Reset */
body, h1, h2, h3, p, ul, li {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: sans-serif;
background-color: #f4f4f4;
color: #333;
line-height: 1.6;
}
.container {
max-width: 960px;
margin: 20px auto;
padding: 20px;
background-color: #fff;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
h1 {
text-align: center;
margin-bottom: 20px;
}
/* Experiment Summary Section */
.experiment-summary {
margin-bottom: 20px;
padding: 15px;
border: 1px solid #ddd;
border-radius: 5px;
}
.experiment-summary h2 {
margin-bottom: 10px;
}
/* Experiment List Section */
.experiment-list {
list-style: none;
padding: 0;
}
.experiment-list li {
margin-bottom: 10px;
padding: 10px;
border: 1px solid #eee;
background-color: #f9f9f9;
border-radius: 5px;
}
.experiment-list li:hover {
background-color: #f0f0f0;
}
/* Responsive Design */
@media (max-width: 600px) {
.container {
padding: 10px;
}
h1 {
font-size: 24px;
}
}
/* Placeholder Styling */
.placeholder {
color: #999;
font-style: italic;
}
</style>
</head>
<body>
<div class="container">
<!-- Main Heading -->
<h1>AI Experiment Logger Dashboard</h1>
<!-- Experiment Summary Section -->
<section class="experiment-summary">
<h2>Experiment Summary</h2>
<p>Total Experiments: <span id="total-experiments">{{total_experiments}}</span></p>
<p>Successful Experiments: <span id="successful-experiments">{{successful_experiments}}</span></p>
<p>Average Success Rate: <span id="average-success-rate">{{average_success_rate}}</span>%</p>
</section>
<!-- Experiment List Section -->
<section>
<h2>Recent Experiments</h2>
<ul class="experiment-list">
<!-- Placeholder for dynamically generated list items -->
<li>
<strong>Experiment ID:</strong> <span class="placeholder">{{experiment_id_1}}</span><br>
<strong>Description:</strong> <span class="placeholder">{{experiment_description_1}}</span><br>
<strong>Status:</strong> <span class="placeholder">{{experiment_status_1}}</span>
</li>
<li>
<strong>Experiment ID:</strong> <span class="placeholder">{{experiment_id_2}}</span><br>
<strong>Description:</strong> <span class="placeholder">{{experiment_description_2}}</span><br>
<strong>Status:</strong> <span class="placeholder">{{experiment_status_2}}</span>
</li>
<li>
<strong>Experiment ID:</strong> <span class="placeholder">{{experiment_id_3}}</span><br>
<strong>Description:</strong> <span class="placeholder">{{experiment_description_3}}</span><br>
<strong>Status:</strong> <span class="placeholder">{{experiment_status_3}}</span>
</li>
<!-- Add more list items as needed -->
</ul>
</section>
</div>
</body>
</html>

View File

@@ -0,0 +1,110 @@
{
"_comment": "Example JSON file for AI Experiment Logger plugin. Represents a collection of experiments.",
"experiments": [
{
"_comment": "First experiment - a simple sentiment analysis task",
"experiment_id": "sentiment-analysis-v1",
"experiment_name": "Sentiment Analysis with Claude",
"description": "Experiment to evaluate Claude's sentiment analysis accuracy on customer reviews.",
"model": "Claude-v2",
"dataset": "Customer Reviews - Product A",
"date_created": "2024-01-15",
"date_completed": "2024-01-16",
"status": "completed",
"parameters": {
"temperature": 0.2,
"max_tokens": 200,
"prompt_template": "Analyze the sentiment of the following review: {review}"
},
"metrics": {
"accuracy": 0.92,
"precision": 0.90,
"recall": 0.94,
"f1_score": 0.92
},
"artifacts": {
"results_csv": "sentiment_analysis_results.csv",
"model_config": "claude_config.json"
},
"notes": "High accuracy achieved. Consider testing with more diverse datasets."
},
{
"_comment": "Second experiment - a more complex text summarization task",
"experiment_id": "text-summarization-v2",
"experiment_name": "Text Summarization Experiment with Gemini",
"description": "Experiment to compare different summarization techniques using Gemini.",
"model": "Gemini-Pro",
"dataset": "News Articles - Technology",
"date_created": "2024-01-20",
"date_completed": "2024-01-22",
"status": "completed",
"parameters": {
"temperature": 0.5,
"max_tokens": 500,
"summarization_type": "extractive",
"prompt_template": "Summarize the following article: {article}"
},
"metrics": {
"rouge_1": 0.45,
"rouge_2": 0.22,
"rouge_l": 0.38,
"bleu_score": 0.28
},
"artifacts": {
"summaries_json": "summaries.json",
"hyperparameter_search_log": "hyperparameter_search.log"
},
"notes": "Extractive summarization performed better than abstractive. Needs further tuning."
},
{
"_comment": "Third experiment - still in progress",
"experiment_id": "image-classification-v1",
"experiment_name": "Image Classification with a Custom Model",
"description": "Training and evaluating a custom image classification model.",
"model": "Custom CNN",
"dataset": "Custom Image Dataset - Flowers",
"date_created": "2024-01-25",
"date_completed": null,
"status": "running",
"parameters": {
"learning_rate": 0.001,
"batch_size": 32,
"epochs": 10
},
"metrics": {
"training_loss": 0.25,
"validation_accuracy": 0.85
},
"artifacts": {
"model_checkpoint": "model_checkpoint_epoch_5.pth",
"training_logs": "training.log"
},
"notes": "Training in progress. Validation accuracy is improving."
},
{
"_comment": "Fourth experiment - trying to compare the models",
"experiment_id": "model-comparison-v1",
"experiment_name": "Model Comparison for Question Answering",
"description": "Comparing Claude and Gemini for question answering accuracy",
"model": "Claude-v2, Gemini-Pro",
"dataset": "SQuAD",
"date_created": "2024-02-01",
"date_completed": "2024-02-03",
"status": "completed",
"parameters": {
"question_length": "short",
"context_length": "medium"
},
"metrics": {
"claude_exact_match": 0.75,
"claude_f1": 0.82,
"gemini_exact_match": 0.78,
"gemini_f1": 0.85
},
"artifacts": {
"results_table": "qa_results.csv"
},
"notes": "Gemini slightly outperforms Claude on F1 score. Further investigation needed with longer contexts."
}
]
}

View File

@@ -0,0 +1,178 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math"
xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office">
<w:body>
<w:p>
<w:r>
<w:t>AI Experiment Report</w:t>
</w:r>
</w:p>
<w:p>
<w:pPr>
<w:jc w:val="center"/>
</w:pPr>
<w:r>
<w:rPr>
<w:b w:val="true"/>
<w:sz w:val="36"/>
<w:szCs w:val="36"/>
</w:rPr>
<w:t>Experiment Title: [EXPERIMENT_TITLE]</w:t>
</w:r>
</w:p>
<w:p>
<w:pPr>
<w:jc w:val="center"/>
</w:pPr>
<w:r>
<w:rPr>
<w:i w:val="true"/>
</w:rPr>
<w:t>Generated on: [REPORT_GENERATION_DATE]</w:t>
</w:r>
</w:p>
<w:p/>
<w:p>
<w:r>
<w:t>1. Introduction</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>This report summarizes the results of the AI experiment titled "[EXPERIMENT_TITLE]". The experiment aimed to [EXPERIMENT_OBJECTIVE].</w:t>
</w:r>
</w:p>
<w:p/>
<w:p>
<w:r>
<w:t>2. Experiment Setup</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>2.1 AI Model:</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>[AI_MODEL_USED]</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>2.2 Input Data:</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>[INPUT_DATA_DESCRIPTION] (e.g., dataset name, size, preprocessing steps)</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>2.3 Parameters:</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>[PARAMETER_SETTINGS] (e.g., learning rate, batch size, number of epochs)</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>2.4 Evaluation Metrics:</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>[EVALUATION_METRICS] (e.g., accuracy, precision, recall, F1-score)</w:t>
</w:r>
</w:p>
<w:p/>
<w:p>
<w:r>
<w:t>3. Results</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>3.1 Overall Performance:</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>[OVERALL_PERFORMANCE_SUMMARY] (e.g., The model achieved an accuracy of 92%.)</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>3.2 Detailed Results:</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>[DETAILED_RESULTS_TABLE] (Insert a table or chart showing the results for each evaluation metric.)</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t> [INCLUDE_VISUALIZATIONS_HERE] (Optional: Insert charts or graphs visualizing the results. For example, a graph of accuracy vs. epoch.)</w:t>
</w:r>
</w:p>
<w:p/>
<w:p>
<w:r>
<w:t>4. Analysis</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>[ANALYSIS_OF_RESULTS] (Discuss the results, including strengths, weaknesses, and potential areas for improvement.)</w:t>
</w:r>
</w:p>
<w:p/>
<w:p>
<w:r>
<w:t>5. Conclusion</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>[CONCLUSION_SUMMARY] (Summarize the main findings of the experiment and their implications.)</w:t>
</w:r>
</w:p>
<w:p/>
<w:p>
<w:r>
<w:t>6. Recommendations</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>[RECOMMENDATIONS_FOR_FUTURE_EXPERIMENTS] (Suggest next steps or modifications for future experiments.)</w:t>
</w:r>
</w:p>
<w:p/>
<w:p>
<w:r>
<w:t>7. Appendix (Optional)</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>[APPENDIX_CONTENT] (Include any additional information, such as code snippets, raw data, or detailed logs.)</w:t>
</w:r>
</w:p>
<w:sectPr>
<w:pgSz w:w="11906" w:h="16838"/>
<w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440" w:header="708" w:footer="708" w:gutter="0"/>
<w:cols w:space="708"/>
</w:sectPr>
</w:body>
</w:document>

View File

@@ -0,0 +1,28 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Claude Skill Configuration",
"type": "object",
"required": ["name", "description"],
"properties": {
"name": {
"type": "string",
"pattern": "^[a-z0-9-]+$",
"maxLength": 64,
"description": "Skill identifier (lowercase, hyphens only)"
},
"description": {
"type": "string",
"maxLength": 1024,
"description": "What the skill does and when to use it"
},
"allowed-tools": {
"type": "string",
"description": "Comma-separated list of allowed tools"
},
"version": {
"type": "string",
"pattern": "^\\d+\\.\\d+\\.\\d+$",
"description": "Semantic version (x.y.z)"
}
}
}

View File

@@ -0,0 +1,27 @@
{
"testCases": [
{
"name": "Basic activation test",
"input": "trigger phrase example",
"expected": {
"activated": true,
"toolsUsed": ["Read", "Grep"],
"success": true
}
},
{
"name": "Complex workflow test",
"input": "multi-step trigger example",
"expected": {
"activated": true,
"steps": 3,
"toolsUsed": ["Read", "Write", "Bash"],
"success": true
}
}
],
"fixtures": {
"sampleInput": "example data",
"expectedOutput": "processed result"
}
}

View File

@@ -0,0 +1,100 @@
/*
visualization_styles.css - Stylesheet for AI Experiment Logger visualizations.
This file provides CSS rules to style visualizations generated by the
analysis scripts within the AI Experiment Logger plugin.
Customize these styles to match your desired aesthetic and ensure
clarity and readability of your visualizations.
Remember to link this stylesheet to your HTML files where visualizations
are displayed. Example:
<link rel="stylesheet" href="visualization_styles.css">
*/
/* General Styles */
body {
font-family: sans-serif; /* Placeholder: Choose your preferred font */
margin: 0;
padding: 0;
}
.visualization-container {
/* Styles for the container holding the entire visualization */
width: 100%; /* Adjust as needed */
margin: 10px auto; /* Center horizontally */
padding: 15px;
border: 1px solid #ddd; /* Light gray border */
background-color: #f9f9f9; /* Light background */
box-sizing: border-box; /* Include padding and border in element's total width and height */
}
h2 {
/* Styles for visualization titles */
font-size: 1.5em;
margin-bottom: 10px;
color: #333; /* Dark gray title color */
}
/* Styles for tables */
table {
width: 100%;
border-collapse: collapse; /* Remove spacing between table cells */
margin-bottom: 20px;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
th {
background-color: #f2f2f2; /* Light gray background for header cells */
font-weight: bold;
}
/* Styles for charts (modify based on your charting library) */
.chart-container {
/* Placeholder: Styles for containing chart elements */
width: 100%;
height: 300px; /* Adjust height as needed */
margin-bottom: 20px;
}
/* Placeholder: Add styles for specific chart elements
Example (using a hypothetical chart library):
.chart-bar {
background-color: steelblue;
color: white;
}
*/
/* Styles for labels */
.label {
font-size: 0.8em;
color: #777;
margin-top: 5px;
display: block; /* Ensure label is on its own line */
}
/* Styles for error messages */
.error-message {
color: red;
font-weight: bold;
margin-top: 10px;
}
/* Add more styles as needed for different visualization types and elements */
/* Example: Styles for a specific type of chart */
.experiment-comparison-chart {
/* Add specific styling for experiment comparison charts here */
/* Example: adjust colors, fonts, etc. */
}
/* Example: Styles for a specific element within a chart */
.experiment-comparison-chart .axis-label {
font-size: 0.9em;
color: #555;
}

View File

@@ -0,0 +1,8 @@
# References
Bundled resources for ai-experiment-logger skill
- [ ] experiment_schema.md: Detailed documentation of the experiment data schema, including field descriptions, data types, and validation rules.
- [ ] statistics_definitions.md: Definitions and explanations of the statistical metrics used in the analysis reports.
- [ ] best_practices.md: Best practices for designing and conducting AI experiments, including prompt engineering tips and tool selection guidelines.
- [ ] api_documentation.md: Documentation for interacting with the experiment logger's data programmatically.

View File

@@ -0,0 +1,69 @@
# Skill Best Practices
Guidelines for optimal skill usage and development.
## For Users
### Activation Best Practices
1. **Use Clear Trigger Phrases**
- Match phrases from skill description
- Be specific about intent
- Provide necessary context
2. **Provide Sufficient Context**
- Include relevant file paths
- Specify scope of analysis
- Mention any constraints
3. **Understand Tool Permissions**
- Check allowed-tools in frontmatter
- Know what the skill can/cannot do
- Request appropriate actions
### Workflow Optimization
- Start with simple requests
- Build up to complex workflows
- Verify each step before proceeding
- Use skill consistently for related tasks
## For Developers
### Skill Development Guidelines
1. **Clear Descriptions**
- Include explicit trigger phrases
- Document all capabilities
- Specify limitations
2. **Proper Tool Permissions**
- Use minimal necessary tools
- Document security implications
- Test with restricted tools
3. **Comprehensive Documentation**
- Provide usage examples
- Document common pitfalls
- Include troubleshooting guide
### Maintenance
- Keep version updated
- Test after tool updates
- Monitor user feedback
- Iterate on descriptions
## Performance Tips
- Scope skills to specific domains
- Avoid overlapping trigger phrases
- Keep descriptions under 1024 chars
- Test activation reliability
## Security Considerations
- Never include secrets in skill files
- Validate all inputs
- Use read-only tools when possible
- Document security requirements

View File

@@ -0,0 +1,70 @@
# Skill Usage Examples
This document provides practical examples of how to use this skill effectively.
## Basic Usage
### Example 1: Simple Activation
**User Request:**
```
[Describe trigger phrase here]
```
**Skill Response:**
1. Analyzes the request
2. Performs the required action
3. Returns results
### Example 2: Complex Workflow
**User Request:**
```
[Describe complex scenario]
```
**Workflow:**
1. Step 1: Initial analysis
2. Step 2: Data processing
3. Step 3: Result generation
4. Step 4: Validation
## Advanced Patterns
### Pattern 1: Chaining Operations
Combine this skill with other tools:
```
Step 1: Use this skill for [purpose]
Step 2: Chain with [other tool]
Step 3: Finalize with [action]
```
### Pattern 2: Error Handling
If issues occur:
- Check trigger phrase matches
- Verify context is available
- Review allowed-tools permissions
## Tips & Best Practices
- ✅ Be specific with trigger phrases
- ✅ Provide necessary context
- ✅ Check tool permissions match needs
- ❌ Avoid vague requests
- ❌ Don't mix unrelated tasks
## Common Issues
**Issue:** Skill doesn't activate
**Solution:** Use exact trigger phrases from description
**Issue:** Unexpected results
**Solution:** Check input format and context
## See Also
- Main SKILL.md for full documentation
- scripts/ for automation helpers
- assets/ for configuration examples

View File

@@ -0,0 +1,8 @@
# Scripts
Bundled resources for ai-experiment-logger skill
- [ ] analyze_experiments.py: Script to perform in-depth statistical analysis of logged experiments, generating reports on tool performance, prompt effectiveness, and other key metrics.
- [ ] export_to_db.py: Script to export experiment data to a database (e.g., PostgreSQL) for more robust storage and querying.
- [ ] import_from_csv.py: Script to import experiment data from a CSV file, allowing users to migrate existing data into the logger.
- [ ] validate_experiment.py: Script to validate experiment data before logging, ensuring data integrity and consistency.

View File

@@ -0,0 +1,42 @@
#!/bin/bash
# Helper script template for skill automation
# Customize this for your skill's specific needs
set -e
function show_usage() {
echo "Usage: $0 [options]"
echo ""
echo "Options:"
echo " -h, --help Show this help message"
echo " -v, --verbose Enable verbose output"
echo ""
}
# Parse arguments
VERBOSE=false
while [[ $# -gt 0 ]]; do
case $1 in
-h|--help)
show_usage
exit 0
;;
-v|--verbose)
VERBOSE=true
shift
;;
*)
echo "Unknown option: $1"
show_usage
exit 1
;;
esac
done
# Your skill logic here
if [ "$VERBOSE" = true ]; then
echo "Running skill automation..."
fi
echo "✅ Complete"

View File

@@ -0,0 +1,32 @@
#!/bin/bash
# Skill validation helper
# Validates skill activation and functionality
set -e
echo "🔍 Validating skill..."
# Check if SKILL.md exists
if [ ! -f "../SKILL.md" ]; then
echo "❌ Error: SKILL.md not found"
exit 1
fi
# Validate frontmatter
if ! grep -q "^---$" "../SKILL.md"; then
echo "❌ Error: No frontmatter found"
exit 1
fi
# Check required fields
if ! grep -q "^name:" "../SKILL.md"; then
echo "❌ Error: Missing 'name' field"
exit 1
fi
if ! grep -q "^description:" "../SKILL.md"; then
echo "❌ Error: Missing 'description' field"
exit 1
fi
echo "✅ Skill validation passed"