ソース情報
- リポジトリ
- andrem-sec/psc-comet
- ソースの最終更新活動
- 2026年4月14日 17:43
- 検出された SKILL.md の言語
- 英語
- スター
- 4
- フォーク
- 0
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/andrem-sec/psc-comet --skill eval-harnessコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
SKILL.md を表示中
SOC 職業分類に基づく
| name | eval-harness |
| description | Eval-driven development with pass@k metrics and three grader types |
| version | 1.0.0 |
| level | 3 |
| triggers | ["/eval","create eval","run eval","eval-driven"] |
| context_files | [".claude/evals/*.md"] |
| steps | [{"name":"Define Eval","description":"Create eval file with test cases and success criteria"},{"name":"Run Eval","description":"Execute test cases and record results"},{"name":"Calculate Metrics","description":"Compute pass@1, pass@3, pass^3"},{"name":"Generate Report","description":"Produce SHIP/NEEDS WORK/BLOCKED verdict"}] |
Eval-driven development: define success criteria before implementation, measure after.
Without evals, Claude:
Evals provide the missing feedback loop: concrete, reproducible, pass/fail measurement.
Run the feature or skill against real inputs first. Do not write test cases from imagination.
If you have not observed any failures, your eval suite will confirm assumptions instead of catching bugs. Spend 60-80% of eval effort here before touching /eval define.
Question: Can Claude do something new?
Example: "Generate valid SQL from natural language queries"
Success threshold: pass@3 >= 90%
At least 1 success in 3 attempts. Accounts for variability in LLM outputs while ensuring the capability exists.
Use case: New features, new skill additions, prompt engineering experiments.
Question: Did changes break existing behavior?
Example: "User authentication flow completes successfully"
Success threshold: pass^3 = 100%
All 3 attempts must pass. Zero tolerance for regressions in release-critical paths.
Use case: After refactors, dependency upgrades, bug fixes that touch core paths.
Programmatic assertions. Fast, reliable, no LLM overhead.
def grade_sql_generation(output):
parsed = sqlparse.parse(output)
return len(parsed) > 0 and parsed[0].get_type() == 'SELECT'
When to use: Structure validation, format checking, deterministic correctness.
Anti-pattern: Using code graders for semantic evaluation ("is this SQL optimal?").
LLM evaluates output quality against rubric.
Prompt: "Does the generated SQL correctly answer the question: {question}?
Expected columns: {columns}
Actual SQL: {output}
Answer YES or NO with reasoning."
When to use: Semantic correctness, intent matching, explanation quality.
Anti-pattern: Using model graders without a clear rubric. Leads to flaky, inconsistent grades.
Grade outcomes, not exact paths. An agent that reaches the correct result via a different route than expected should pass. Only fail a run when the outcome is wrong -- not when the sequence of steps differs. Brittle path-matching produces false failures that corrupt your eval data and make SHIP verdicts untrustworthy.
Cost awareness: Model graders consume tokens. For high-volume evals, prefer code-based graders.
Mark eval for human review when:
When to use: UX quality, edge cases, disputed model grades.
Process: Flag in eval file, reviewer adds grade + reasoning, update status.
pass@1: Percentage of test cases that pass on first attempt.
pass@3: Percentage of test cases where at least 1 of 3 attempts passes.
pass^3: Percentage of test cases where all 3 attempts pass.
Location: .claude/evals/<feature-name>.md
# Eval: sql-generation
Type: Capability
Created: 2026-03-28T12:00:00Z
Status: Active
## Success Criteria
Generate syntactically valid SELECT queries from natural language.
- Must parse with sqlparse
- Must select from correct table
- Must filter on correct columns
## Test Cases
### Case 1: Simple filter
- Prompt: "Show all users where age > 25"
- Expected: SELECT * FROM users WHERE age > 25
- Grader: code-based (sqlparse + column check)
- Result: [filled during check]
### Case 2: Join query
- Prompt: "Show user names with their order totals"
- Expected: SELECT users.name, SUM(orders.total) FROM users JOIN orders...
- Grader: model-based (semantic correctness)
- Result: [filled during check]
## Metrics
- pass@1: 85%
- pass@3: 95%
- pass^3: 80%
## History
2026-03-28T14:30:00Z | pass@3: 95% | PASS | Ready for release
2026-03-28T12:15:00Z | pass@3: 70% | FAIL | Need more examples
Create new eval file from template. Prompts for:
Dataset quality over quantity. Verify every test case manually before adding it -- read the input, trace the expected output yourself, confirm the grader logic is correct. 10 cases you have personally validated outperform 100 synthetic ones you have not checked. Unverified cases corrupt pass rates and make SHIP verdicts meaningless.
Run the evaluation:
Analyze results and produce verdict:
SHIP: Meets threshold (pass@3 >= 90% for capability, pass^3 = 100% for regression)
NEEDS WORK: Some cases passing but below threshold. List specific failing cases.
BLOCKED: Critical failures or <50% pass rate. Requires investigation.
Show all evals in .claude/evals/ with:
Archive old eval runs:
.claude/evals/archive/<feature-name>/Overfitting prompts to eval examples: Evals should represent real usage, not cherry-picked cases.
Measuring only happy paths: Include edge cases, error conditions, malformed inputs.
Ignoring cost/latency drift: Track token usage and response time. A 10x slower solution that passes evals is not shippable.
Flaky graders in release gates: If a model grader produces inconsistent results across runs, switch to code-based or human grader.
No baseline: Run evals before starting work. Prevents false regressions and establishes starting point.
/eval define/eval check to measure progress/eval report for SHIP verdict/eval cleanEvals are living documents. Update test cases when requirements change.