Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Proposal: add a pointer to chsrc-skill (Agent Skill) in the README

Open
#397 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
1/5
Estimated time
Under an hour
Newbie friendliness
22/100
Issue type
Documentation
Clarity
Mostly clear
Activity status
Active
Tech stack
c, debian
Domain
documentation

Research direction

This is a proposal to add a one-line pointer to a third-party Agent Skill, so the first step is the maintainer's decision, not an edit. Look at the README and the doc/ directory to see where third-party tooling is currently listed. Done means the maintainer has explicitly chosen the README or doc/ location, or declined. The apt dry-run bypass is a separate issue, #396, and is out of scope here.

Written by the indexing model from the issue text.

Description

Summary

I built chsrc-skill, an Agent Skill that teaches an LLM how to use chsrc correctly, and I'd like to propose including a pointer to it in the README.

Repository: https://github.com/Swcmb/chsrc-skill

What it is

SKILL.md plus 10 reference documents, all fact-checked against the chsrc v0.2.7.2 source. It contains no chsrc source code.

The premise: using chsrc correctly requires knowing details that are easy for a model to get wrong.

Behaviors that are easy to get wrong

Measured while building this (35 scenarios, 135 assertions):

Behavior What happens if you do not know it
CLI options must precede the dish name chsrc get pip -no-color → "暂不支持的换源菜品", exit code 2
-scope accepts both -scope=system and -scope system the = form silently fails on some shells
-local is deprecated prints a deprecation warning; use -scope=project
71 dishes, grouped pl_ / os_ / wr_; combo dishes operate per sub-dish py_group looks like a single target
chsrc ls lists mirror sites, chsrc list <dish> lists one dish they read as interchangeable
Old chsrc versions print the config instead of writing it the correct first move is to upgrade chsrc, not to hand-edit
On Windows the home directory is USERPROFILE, not HOME setting HOME as isolation has no effect
With no -scope, the dish decides -scope=user on an apt dish is rejected with exit code 4

Evaluation

Two configurations, same 35 prompts:

Configuration Assertions passed
With the skill 135/135 (100%)
Without the skill 108/134 (80.6%)

The prompt set covers trigger positives and negatives, six platform-detection scenarios, the bootstrap deadlock, scope safety, container boundaries, and rollback.

A finding along the way

Building this surfaced a dry-run bypass in the apt recipe, already reported separately: #396.

ensure_debian_or_ubuntu_old_sourcelist() writes /etc/apt/sources.list with a raw fopen, bypassing the in_dry_run_mode() guard in chsrc_overwrite_file(). On a Debian-family system without that file, chsrc set -dry debian writes to disk. The sibling DEB822 branch goes through chsrc_run() and honors -dry; only the legacy path does not.

Proposal

A one-line addition to the README pointing at the skill, for anyone driving chsrc through an LLM. I am happy to adjust the wording, the location, or the format.

If you would prefer not to list third-party tooling in the README, an alternative would be a line in doc/ instead. Either way I would rather have your explicit call than assume.

Note on scope

This repository contains only the Skill. It does not track your releases, does not vendor your source, and carries no code from the project.

Dominant language
C
Stars
6.9k
Forks
285
PR merge metrics
No merged PRs in 30d

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from RubyMetric/chsrc

All issues in RubyMetric/chsrc

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.