xiaohongshu
xiaohongshu
Create and manage AILANG eval benchmarks. Use when user asks to create benchmarks, fix benchmark issues, debug failing benchmarks, or analyze benchmark results.
Full skill instructions
Manage AILANG evaluation benchmarks with correct prompt integration, debugging workflows, and best practices learned from real benchmark failures.
Debugging a failing benchmark:
# 1. Show the full prompt that models see
.claude/skills/benchmark-manager/scripts/show_full_prompt.sh json_parse
# 2. Test a benchmark with a specific model
ailang eval-suite --models claude-haiku-4-5 --benchmarks json_parse
# 3. Check benchmark YAML for common issues
.claude/skills/benchmark-manager/scripts/check_benchmark.sh benchmarks/json_parse.yml
Invoke this skill when:
This is the most important concept for benchmark management.
Benchmarks have TWO different prompt fields with VERY different behavior:
| Field | Behavior | Use When |
|---|---|---|
prompt: | REPLACES the teaching prompt entirely | Testing raw model capability (rare) |
task_prompt: | APPENDS to teaching prompt | Normal benchmarks (99% of cases) |
# BAD - Model never sees AILANG syntax!
prompt: |
Write a program that prints "Hello"
# GOOD - Model sees teaching prompt + task
task_prompt: |
Write a program that prints "Hello"
With prompt:, models generate Python/pseudo-code because they never learn AILANG syntax.
From internal/eval_harness/spec.go (lines 91-93):
fullPrompt := basePrompt // Teaching prompt from prompts/v0.4.x.md
if s.TaskPrompt != "" {
fullPrompt = fullPrompt + "\n\n## Task\n\n" + s.TaskPrompt
}
The teaching prompt teaches AILANG syntax; task_prompt adds the specific task.
scripts/show_full_prompt.shShows the complete prompt that models receive for a benchmark.
Usage:
.claude/skills/benchmark-manager/scripts/show_full_prompt.sh <benchmark_id>
# Example:
.claude/skills/benchmark-manager/scripts/show_full_prompt.sh json_parse
scripts/check_benchmark.shValidates a benchmark YAML file for common issues.
Usage:
.claude/skills/benchmark-manager/scripts/check_benchmark.sh benchmarks/<name>.yml
Checks for:
prompt: instead of task_prompt: (warning)scripts/test_benchmark.shRuns a quick single-model test of a benchmark.
Usage:
.claude/skills/benchmark-manager/scripts/test_benchmark.sh <benchmark_id> [model]
# Examples:
.claude/skills/benchmark-manager/scripts/test_benchmark.sh json_parse
.claude/skills/benchmark-manager/scripts/test_benchmark.sh json_parse claude-haiku-4-5
id: my_benchmark # Unique identifier (snake_case)
description: "Short description of what this tests"
languages: ["python", "ailang"]
entrypoint: "main" # Function to call
caps: ["IO"] # Required capabilities
difficulty: "easy|medium|hard"
expected_gain: "low|medium|high"
task_prompt: | # ALWAYS use task_prompt, not prompt!
Write a program in <LANG> that:
1. Does something
2. Prints the result
Output only the code, no explanations.
expected_stdout: | # Exact expected output
expected output here
Valid capabilities: IO, FS, Clock, Net
# File I/O
caps: ["IO"]
# HTTP requests
caps: ["Net", "IO"]
# File system operations
caps: ["FS", "IO"]
id: my_new_benchmark
description: "Test feature X capability"
languages: ["python", "ailang"]
entrypoint: "main"
caps: ["IO"]
difficulty: "medium"
expected_gain: "medium"
task_prompt: |
Write a program in <LANG> that:
1. Clear description of task
2. Another step
3. Print the result
Output only the code, no explanations.
expected_stdout: |
exact expected output
# Check for issues
.claude/skills/benchmark-manager/scripts/check_benchmark.sh benchmarks/my_new_benchmark.yml
# Test with cheap model first
ailang eval-suite --models claude-haiku-4-5 --benchmarks my_new_benchmark
Check 1: Is it using task_prompt:?
grep -E "^prompt:" benchmarks/failing_benchmark.yml
# If this returns a match, change to task_prompt:
Check 2: What prompt do models see?
.claude/skills/benchmark-manager/scripts/show_full_prompt.sh failing_benchmark
Check 3: Is the teaching prompt up to date?
# After editing prompts/v0.x.x.md, you MUST rebuild:
make quick-install
The teaching prompt includes a template structure. If models copy it verbatim:
task_prompt explicitly describes what to doCommon AILANG-specific issues models get wrong:
| Wrong | Correct | Notes |
|---|---|---|
print(42) | print(show(42)) | print expects string |
a % b | mod_Int(a, b) | No % operator |
def main() | export func main() | Wrong keyword |
for x in xs | match xs { ... } | No for loops |
If models consistently make these mistakes, the teaching prompt needs improvement (use prompt-manager skill).
prompt: Instead of task_prompt:# WRONG - Models never see AILANG syntax
prompt: |
Write code that...
# CORRECT - Teaching prompt + task
task_prompt: |
Write code that...
# After editing prompts/v0.x.x.md:
make quick-install # REQUIRED!
# WRONG - Hints in benchmark
task_prompt: |
Write code that prints 42.
Hint: Use print(show(42)) in AILANG.
# CORRECT - No hints; if models fail, fix the teaching prompt
task_prompt: |
Write code that prints 42.
If models need AILANG-specific hints, the teaching prompt is incomplete. Use the prompt-manager skill to fix it.
# WRONG - Expensive and slow for debugging
ailang eval-suite --full --benchmarks my_test
# CORRECT - Use one cheap model first
ailang eval-suite --models claude-haiku-4-5 --benchmarks my_test
See resources/reference.md for:
benchmarks/ directoryeval_results/ directory<LANG> placeholder in task_prompt - it's replaced with "AILANG" or "Python"xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience