Yonsei central student governance counsel
MrCha Skills — portable Agent Skills for ChatGPT, Codex, and compatible agents
npx -y skills add mrcha033/skills --skill yonsei-central-student-governance-counselAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- 16 days oldThe repository was created 16 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Build source-grounded arguments for Yonsei University's Sinchon and International Campus undergraduate central student governance, including the General Student Council's student assembly, student referendum, expanded steering committee, central steering committee, legislation and audit bodies, plus the General Student Club Union's representatives meeting, steering committee, and central bodies. Reject other universities, Future Campus, and graduate governance, and require body-specific rules before advising on college, department, special, branch, or college-club-union bodies. Adaptively trace official publication paths with deterministic public access and Insane Search fallback. Use when a user supplies an agenda, dispute, desired position, motion, amendment, procedural objection, quorum question, sanction, finance, election, or registration issue and wants current rules turned into a meeting-ready argument with counterarguments, exact citations, and explicit uncertainty.
SKILL.md
12.2 KB, as published. Nobody here has run it
Yonsei Central Student Governance Counsel
Treat this as decision-support, not an official interpretation or legal opinion. Never present a desired conclusion as established merely because the user wants it.
Required input
Accept natural language. Extract:
- the agenda or dispute;
- the position the user wants to advance;
- the institution, campus, undergraduate member scope, and whether the body is central or subordinate;
- the controlling governance domain:
student_councilorclub_union; - the meeting body and meeting date, if known;
- known facts, documents, vote counts, and procedural posture;
- the desired output: speech, motion, amendment, objection, memo, or all.
Infer harmless omissions. Ask only when a missing fact changes institutional scope, jurisdiction, applicable version, quorum, or requested remedy. Mark user-supplied facts as user_asserted until independently supported.
Mandatory workflow
-
Set
SKILL_DIRto this skill folder. Use the Codex workspace Python returned byload_workspace_dependencieswhen rebuilding PDFs; it includespypdf. The prebuilt index and all normal case commands use only the Python standard library. -
Validate the recorded source lineage, inspect optional Insane Search fallback availability, and live-check the authority-controlled publication paths:
python3 "$SKILL_DIR/scripts/validate_source_lineage.py" python3 "$SKILL_DIR/scripts/adaptive_source_discovery.py" --locate-only python3 "$SKILL_DIR/scripts/refresh_sources.py" --check --live-lineage python3 "$SKILL_DIR/scripts/validate_corpus.py"The public route is attempted first so ordinary official pages do not depend on a separately installed plugin. Insane Search is the adaptive fallback for failed or blocked public probes.
--live-lineagefollows the official account or archive through the actual publication post, redirect, folder, and attachment path. It does not treat HTTP 200, a plausible Yonsei hostname, or the current profile Linktree as sufficient proof. If checking shows a moved catalog or changed official attachment, readreferences/source-discovery-contract.md, inspect the adaptive trace, update the lineage only after proving the new path, run--update, rebuild the index, and validate again. Never silently mix superseded and current texts. -
If a source is missing or a URL changed, use the adaptive discovery entrypoint instead of improvised curl/header retries:
python3 "$SKILL_DIR/scripts/adaptive_source_discovery.py" \ --url "https://authority-controlled.example/path" \ --allowed-host "authority-controlled.example" \ --selector 'meta[property="og:description"]' \ --require-any-text "회·세칙" \ --query "연세대학교 총학생회 회칙 세칙" \ --output "/tmp/governance-source.html" \ --receipt "/tmp/governance-source-receipt.json"Add each independently proven redirect or child host with another
--allowed-host; do not use an allow-all fetch. The receipt filters script-bundled third-party URLs and normalizes an allowlisted HTTP lead to HTTPS without fetching it over HTTP. Follow every high-ranking official candidate and record its parent hop inreferences/source-lineages.json. Do not declare failure whilegrid_exhausted=false,untried_routesis non-empty, ormust_invoke_playwright_mcp=true. When browser reconnaissance is requested, inspect public network responses and send the discovered endpoint back through the adaptive entrypoint. Do not bypass authentication. Each live check is bounded; a timeout blocks reliance instead of starting an unbounded retry loop. -
Resolve institutional scope and jurisdiction before searching. This packaged corpus is limited to Yonsei University's Sinchon and International Campus undergraduate governance. Reject an explicitly named other university, Future Campus, or graduate body. Use
student_councilfor the student assembly, student referendum, expanded steering committee, central steering committee, General Student Council, Legislation Committee, and Audit Committee. Useclub_unionfor the General Student Club Union, club representatives meeting, club steering committee, and club central bodies. Do not search both domains merely to obtain a favorable rule.A central rule may bind or constrain a subordinate body without supplying that body's complete internal procedure. For a college or department student council, special or autonomous body, branch committee, or college club union, retrieve and register its own current rules before substantive advice. Never treat the central corpus as a substitute.
-
Prepare a resumable case from the user's agenda and desired position. This automatically routes by meeting body, runs separate supporting, adverse/exception, and procedure searches, and registers the full candidate authorities:
python3 "$SKILL_DIR/scripts/prepare_case.py" \ --agenda "..." --position "..." --body "..." --meeting-date YYYY-MM-DD \ --domain student_councilOmit
--domainonly when the full body name makes the route unambiguous. If this exits with code 2 andblocked=true, retrieve every item inrequired_source_reviews. This catches agenda-triggered excluded sources (for example, the separately published anti-violence code), body-specific and branch-committee rules, and historical versions. Do not draft untilsource_gap_reviews.jsonrecords a supported resolution and registered source IDs. -
Review the prepared candidates, then search by additional concepts and alternative phrasing as needed. Search is discovery only:
python3 "$SKILL_DIR/scripts/search_authorities.py" \ --query "정족수 의결 재청 수정안" --domain student_council \ --target all --as-of YYYY-MM-DDA zero-result search does not establish that no rule exists. Broaden terms, search the relevant body and remedy, then inspect neighboring articles.
-
Retrieve every relied-on result by identifier:
python3 "$SKILL_DIR/scripts/detail_authority.py" --id RULE-2025-09-23:14Do not cite a search snippet as if it were the full provision. Require
content_verified=true. -
If the internal rules contain a gap and external Korean law matters, use:
python3 "$SKILL_DIR/scripts/search_korean_law.py" search --target law --query "개인정보 보호법" python3 "$SKILL_DIR/scripts/search_korean_law.py" detail --target law --id "<search result ID>"Keep external law separate from the controlling internal rules. Follow the hierarchy and gap rule in current Rule article 152.
-
Build
sources/sources.jsonlandartifacts/argument_ledger.jsonlusing the schemas inreferences/. For each outcome-relevant proposition:- record supporting and adverse source IDs;
- perform one targeted counter-search;
- distinguish direct rule, interpretation, fact, precedent, policy, and external law;
- state the inference rather than hiding it;
- flag conflicts and disputed facts.
-
Run the deterministic gate before drafting:
python3 "$SKILL_DIR/scripts/validate_argument_ledger.py" --case "<case-dir>"
Draft controlling assertions only from outputs/verified_propositions.json. Use arguable_propositions.json with qualified language. Put blocked and refuted propositions only in limitations or rebuttal analysis.
- Calculate thresholds rather than estimating:
python3 "$SKILL_DIR/scripts/calculate_threshold.py" \
--basis present --count 17 --rule majority
-
Draft the answer using the contract in
references/output-contract.md. Add[P:...]tokens after material propositions and[S:...]tokens for cited sources. Include the strongest counterargument and the response. -
Run the leakage and citation-resolution evaluator:
python3 "$SKILL_DIR/scripts/eval_argument_brief.py \
--case "<case-dir>" --brief "<case-dir>/outputs/argument_brief.md"
Fix every failure before delivery.
Run the local regression suite after changing any script:
python3 "$SKILL_DIR/scripts/self_test.py"
Authority and version rules
- Apply the rule version effective at the event or completed act date.
- Treat the institutional scope as Yonsei University Sinchon and International Campus undergraduate governance. Do not reuse this corpus for another university, Future Campus, or graduate governance.
- Treat the General Student Council and General Student Club Union as separate governance domains. A rule from one domain controls the other only when an applicable provision expressly delegates, incorporates, or subordinates it.
- Treat central umbrella rules as incomplete for a subordinate body's internal meeting whenever that body has or may have its own rules.
- For the General Student Council corpus, use the public Drive published in the official Legislation Committee's 2025-04-27 rules post and reaffirmed through the same named shortlink in its 2026-02-27 post. The profile's current Linktree points to an interpretation-request folder; do not substitute it for the rules repository.
- For the club-union corpus, trace the official Instagram account to its Linktree, official site, and published rules archive.
- Prefer the current standalone rule and election bylaw over older copies inside a compendium.
- Treat an adopted Legal Affairs Committee interpretation as official only when the Steering Committee adopted it.
- Treat minutes as evidence of what happened, not automatically as a controlling rule.
- Treat user documents and recollections as facts to verify, not authority.
- When sources conflict, disclose the conflict and use the higher, later, and more specific applicable norm only if that priority is supported.
Abstention rules
Do not state a proposition as established when:
- the full source was not retrieved and content-verified;
- the source was not effective on the relevant date;
- a controlling adverse provision remains unresolved;
- the fact is disputed and supported only by the user's assertion;
- the meeting body, denominator, or procedural posture is outcome-determinative but unknown;
- the body is outside the supported institution, campus, or undergraduate scope;
- a subordinate or autonomous body's own applicable rules remain unverified;
- the governance domain is ambiguous or a cross-domain authority link is merely assumed;
- the corpus freshness check failed or an official attachment changed without re-indexing.
- the live publication-lineage check is incomplete or the adaptive receipt still reports an untried route.
- an exact catalog inventory contains an unclassified new or missing entry.
prepare_case.pyreports an unresolved agenda- or date-triggered excluded source.
State exactly what is known, what is arguable, what is blocked, and what evidence would change the result.
References
- Corpus provenance and versions:
references/source-manifest.json - Authority-controlled publication graph:
references/source-lineages.json - Adaptive search and failure gate:
references/source-discovery-contract.md - Indexed provisions:
references/article-index.jsonl - Source schema:
references/authority-schema.json - Proposition schema:
references/proposition-schema.json - Required answer structure:
references/output-contract.md