ソース情報
- リポジトリ
- dathere/qsv-stats
- ソースの最終更新活動
- 2026年2月21日 18:59
- 検出された SKILL.md の言語
- 英語
- スター
- 10
- フォーク
- 0
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/dathere/qsv-stats --skill scaffold-statisticコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
SOC 職業分類に基づく
SKILL.md を表示中
| name | scaffold-statistic |
| description | Generate boilerplate for a new statistic following library conventions |
| disable-model-invocation | true |
Generate the boilerplate code for adding a new statistic to qsv-stats, following established library conventions.
The user should provide:
coefficient_of_variation)unsorted, online, frequency, or minmax) — or suggest one based on the statistic's nature/// Brief description of the statistic.
///
/// This has time complexity `O(...)` and space complexity `O(...)`.
///
/// ## Example
///
/// ```
/// use stats;
///
/// let vals = vec![1, 2, 3, 4, 5];
/// let result = stats::statistic_name(vals.into_iter());
/// ```
pub fn statistic_name<I>(it: I, precalc_param: Option<f64>) -> Option<f64>
where
I: Iterator,
I::Item: PartialOrd + ToPrimitive,
{
let mut unsorted = Unsorted::new();
unsorted.extend(it);
unsorted.statistic_name(precalc_param)
}
pub fn statistic_name(&mut self, precalc_param: Option<f64>) -> Option<f64> {
// TODO: implement
todo!()
}
#[cfg(test)] block)Generate edge-case tests following the existing pattern:
#[test]
fn test_statistic_name_empty() {
let vals: Vec<f64> = vec![];
assert_eq!(statistic_name(vals.into_iter(), None), None);
}
#[test]
fn test_statistic_name_single() {
let vals = vec![42.0];
// TODO: expected value for single element
}
#[test]
fn test_statistic_name_basic() {
let vals = vec![1.0, 2.0, 3.0, 4.0, 5.0];
// TODO: expected value
}
#[test]
fn test_statistic_name_duplicates() {
let vals = vec![1.0, 1.0, 2.0, 2.0, 3.0];
// TODO: expected value
}
#[test]
fn test_statistic_name_negatives() {
let vals = vec![-, -, , , ];
}
() {
= [, , , , ];
= (vals.().(), );
= (vals.(), (precalc_value));
(without, with);
}
.mul_add() for any a * b + c arithmeticto_f64() via ToPrimitive for numeric conversionsunsafe { ... } with // SAFETY: comments#[inline] on small methodsPartial<T> wrapper when sorting PartialOrd types+ Sync to type bounds if rayon parallel operations are usedRemind the user to:
todo!() implementationlib.rs if it's a module-level functioncargo test to verify