复制安装命令
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
Start here: Use & develop your own Skill ecosystem
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
来源文件:README.md
Start here: Use & develop your own Skill ecosystem
A practical tutorial for using
SKILL.md, auditing reusable skills, drafting skills with AI, extracting real workflows, and building a local Skill ecosystem.
npx skills add dongshuyan/compass-skills --skill '*' -a claude-code
COMPASS Skills gives AI agents eight local skills: four runtime collaboration skills, two run-history skill-engineering skills, one academic humanization skill, and one local hiring-support skill.
The project currently ships eight SKILL.md skills:
| Skill | Purpose |
|---|---|
task-clarifier | Aligns goals, scope, evidence, acceptance criteria, and risk boundaries before ambiguous, costly, or externally visible work. |
task-forest | Maintains a repo-local task forest / DAG with goals, subtasks, dependencies, progress, deviations, todos, decisions, and conversation history. |
session-handoff-prompt | Compresses the current AI conversation's goal, progress, constraints, and next steps into a paste-ready prompt for a new AI conversation. |
user-profile-keeper | Maintains a local, auditable, correctable collaboration profile for communication preferences, risk style, and recurring working context. |
run-history-skill-builder | Turns completed or repeatedly refined run history into a new reusable skill package or a reviewed skill-design plan. |
run-history-skill-upgrader | Automatically turns session evidence from real execution, encountered and resolved difficulties, validation results, and user feedback into an upgrade plan for an existing skill, forming the simplest controlled self-evolution loop; it applies changes only after explicit approval. |
academic-humanizer | Helps write or revise English and Chinese academic prose by removing formulaic AI-like patterns and restoring a natural scholarly voice while preserving claims, evidence strength, and logical relations. |
assess-interview-candidate | Turns an authorized resume and job description into an auditable evidence layer and a concise three-part offline interviewer report with resume checks and markable structured questions. |
For multi-skill repositories, install only the functions you actually need. The run-history pair supports skill engineering; academic-humanizer helps authors avoid AI-sounding language while drafting and remove it from existing academic prose.
List the available skills before installing:
npx skills add dongshuyan/compass-skills --list
Install all skills for Claude Code:
npx skills add dongshuyan/compass-skills --skill '*' -a claude-code
Install all skills for both Codex and Claude Code:
npx skills add dongshuyan/compass-skills --skill '*' -a codex -a claude-code
After installation, invoke the skills directly in an AI conversation:
$task-clarifier
$task-forest
$session-handoff-prompt
$user-profile-keeper
$run-history-skill-builder
$run-history-skill-upgrader
$academic-humanizer
$assess-interview-candidate
For manual installation, copy the eight folders under skills/ into the agent's local skills directory and keep their references/, scripts/, assets/, evals/, and agents/ subdirectories intact.
Long-running agent work needs four kinds of state:
COMPASS organizes that state into four local workflows:
task-clarifier is the entry point for ambiguous, high-cost, high-risk, evidence-sensitive, or externally visible work. It first identifies the user-owned decisions that must be made, asks 1-3 focused questions with recommended answers, confirms shared understanding, and only then searches or executes.
task-forest records long-running work structure: why a task exists, where it fits, how far it progressed, what changed, and what remains unresolved.
session-handoff-prompt turns the current AI conversation, explicit transcripts, workspace evidence, and optional task-forest exports into a concise prompt for the next AI conversation. It reads task-forest as structured context but never modifies it.
user-profile-keeper stores collaboration preferences locally. Future AI conversations use the profile to ask relevant questions and apply the right risk boundary. Current files, logs, and user-provided context remain the authority; secrets stay out of the profile.
run-history-skill-builder turns a completed or repeatedly refined workflow into a new skill package or a plan-only design. If the request is really about changing an existing skill, it hands the job off instead of editing that skill directly.
run-history-skill-upgrader takes the next step for existing skills: it automatically reads session evidence from real execution, encountered and resolved difficulties, validation results, and user feedback, then produces a concrete upgrade plan and stops. Only after explicit approval of that plan does it edit files. In practice, this is the simplest controlled self-evolution loop for skills: periodically run a target skill, accumulate real session evidence, then let the upgrader turn that evidence into a reviewed upgrade plan and, after approval, an applied change.
academic-humanizer helps authors avoid AI-sounding language while drafting and remove it from existing academic prose. It targets formulaic, vacuous, mechanically repetitive, and process-leaking patterns while protecting claims, evidence strength, quotations, formulas, citations, technical names, modality, logic, and scope. The result aims to read as natural, credible scholarly writing and to reduce the likelihood that readers perceive it as AI-generated; it does not promise a universal authorship judgment.
assess-interview-candidate prepares human recruiters for a structured interview. It keeps detailed evidence and validation data in a local audit layer while presenting only a candidate overview, job-relevant resume uncertainties, and 12-18 directly readable questions in the offline HTML. It never authorizes automatic hiring, rejection, or ranking.
user-profile-keeper -> who is the user and how should we collaborate?
task-forest -> where does this task fit and is it still aligned?
session-handoff-prompt -> what should the next AI conversation know to continue now?
task-clarifier -> what should the agent do now?
run-history-skill-builder -> how do we package this proven workflow as a new skill?
run-history-skill-upgrader -> how does a skill self-evolve safely from real session evidence?
academic-humanizer -> how do we remove AI-sounding prose without changing its claims?
assess-interview-candidate -> how do we prepare a focused, evidence-bounded human interview?
A vague request is turned into a checked requirement before the agent recommends anything.
Formatted from a live terminal run. Terminal status lines are omitted.
User
I want to buy a suitcase, can you tell me which one is the best?
$task-clarifier
Before recommending a product, the skill turns "best" into concrete decision criteria:
User answer
1A 2C 3A
Business travel, $300-600, maximum durability.
$task-clarifier
The first answers narrow the problem, but two choices still change the recommendation:
User answer
Checked bag, hard shell.
$task-clarifier
One last decision remains:
User answer
28 inches.
$task-clarifier
You need a checked suitcase for frequent business travel. The bag should be hard-shell for maximum durability and professional appearance, 28 inches for extended trips, and within a $300-600 budget. Durability is your top priority over lighter weight or organizational gimmicks.
Inferences to confirm
Task forest HTML export:

Live DAG view:

Task detail view:

User profile and alignment flow:

Ecosystem map:
COMPASS works across agent runtimes as a SKILL.md package with Markdown instructions, YAML frontmatter, optional references/, optional scripts/, and optional agent metadata.
| Agent / environment | Recommended setup |
|---|---|
| Claude Code | Use npx skills add dongshuyan/compass-skills --skill '*' -a claude-code, or copy the folders under skills/ into Claude Code's custom skills directory. |
| Codex | Use the skills CLI with -a codex when supported by your environment, or use the repo as a local skills source. |
| OpenCode / OpenClaw / other agents | Keep AGENTS.md and load the matching SKILL.md first, then use references/ and scripts/ as needed. |
The scripts use Python standard-library components and run locally. assess-interview-candidate requires Python 3.10 or later and uses capability-based instructions instead of fixed Agent tools or installation paths.
COMPASS keeps runtime data local:
task-forest stores task data under the current workspace, usually .agent-workbench/task-forest/.session-handoff-prompt is read-only by default. It can validate local handoffs with real workspace paths or redact them for shareable handoffs.user-profile-keeper stores local profile data under .compass-skills/user-profiles/v1 by default, or a user-selected COMPASS_USER_PROFILE_HOME.run-history-skill-builder reads only user-authorized workflow history and writes new skill files only to a user-approved local directory.run-history-skill-upgrader is plan-only by default. It can synthesize real session evidence into an upgrade plan automatically, but it enables a controlled self-evolution loop only after explicit approval of a concrete plan.academic-humanizer preserves source claims and locked spans, never invents facts or citations, and uses its Python script only for optional read-only diagnostics.assess-interview-candidate keeps authorized resumes and reports local, excludes contact details and precise addresses from the interviewer view, and prevents age, birthplace, hometown, marital status, or location from entering fit scores or hiring decisions.Important: user-profile-keeper uses local plaintext storage without encryption. Do not store passwords, tokens, private keys, verification codes, or highly sensitive personal data in the profile.
See SECURITY.md for the security boundary.
Clarify a task before execution:
Use $task-clarifier to align the task below.
Task: ...
Material: ...
Constraints: ask user-owned decisions first; infer discoverable facts from files, context, or reliable sources. Ask only questions that change scope, method, evidence, format, safety, or acceptance criteria.
Output: ask 1-3 key questions with recommended answers first; once the core need is clear, restate your understanding in 2-5 lines and ask me to confirm.
Maintain the task forest for a workspace:
Use $task-forest to analyze the current AI conversation and maintain the task forest for this workspace.
Goal: create a task-forest proposal from long-running goals, tasks, progress, deviations, risks, decisions, and follow-ups in this AI conversation.
Requirements:
1. Read the current task-forest list and todo first; initialize task-forest if missing.
2. Identify which long-term goal this AI conversation served. If no relation is clear, ask me or create a question/risk node.
3. Save a proposal and show me the planned changes before applying.
4. After approval, apply, validate, export, and report the HTML path.
Create a continuation prompt for a new AI conversation:
Use $session-handoff-prompt to create a balanced continuation prompt for a new AI conversation.
Goal: let the next AI conversation continue the current task without replaying the whole transcript.
Requirements:
1. Use the current conversation, explicit files I provide, current workspace evidence, and task-forest exports if present.
2. Keep task-forest read-only; do not save proposals or modify the task graph.
3. Use my language for the prompt. Default to Chinese if unknown.
4. Use privacy=local for this machine. If I ask for a public/shareable handoff, redact local paths and credential-like strings first.
5. Put the paste-ready prompt first, then briefly state mode, sources, and limitations.
Representative output shape:
你正在接手一个已经进行过多轮的 AI 对话。请按以下上下文恢复任务状态;如果当前文件或可验证证据与这里冲突,以当前证据为准。
【工作目录】
<workspace>
【用户目标】
把 session-handoff-prompt 作为 COMPASS 的正式 skill 接入,支持 macOS、Linux、Windows 和主流 agent。
【必须遵守的要求】
- [已验证] 内部说明用英文;交互和输出使用用户语言,默认中文。
- [已验证] 不读取 credential、cookie、浏览器 session 或无关私有日志。
【下一步】
1. 更新 README 和 manifest。
2. 运行 smoke test 和安全扫描。
3. 报告验证结果和剩余风险。
Initialize a local user profile:
Use $user-profile-keeper to initialize my local user profile.
Goal: build an auditable, correctable, retractable profile from a local questionnaire or the current context.
Boundaries:
1. Store locally only. Do not upload anything or read browser cookies, tokens, or credentials.
2. Do not save secrets, passwords, private keys, verification codes, or browser-session information.
3. Put inferred, private, sensitive, or conflicting claims into pending proposals for my review.
4. Report what was saved, proposed, skipped, or redacted.
Remove AI-sounding language from academic prose without changing its claims:
Use $academic-humanizer to remove AI-sounding language from the academic passage below.
Preserve every claim, number, citation, comparison, hedge, causal relation, and scope boundary. Keep quotations, formulas, code, references, statistical notation, proper nouns, and requested verbatim text unchanged. Remove only unsupported, vacuous, mechanically repetitive, or process-leaking wording. Return the clean revised passage without an editor preface.
Passage: ...
Prepare a structured candidate interview report:
Use $assess-interview-candidate with the authorized resume and job description I provide.
Requirements: read every page of the PDF through both text extraction and visual inspection; keep the detailed evidence and validation data in the local audit layer; make the interviewer HTML contain only a candidate overview, job-relevant resume uncertainties, and 12-18 directly readable questions. Display candidate-provided schools, employers, and cities without guessing missing facts. Keep age, birthplace, hometown, marital status, and location out of fit scores and hiring decisions. Write only below the local case root I approve.
The public install path has been validated with skills@1.5.11:
npx skills add dongshuyan/compass-skills --list finds the released skills.npx skills add dongshuyan/compass-skills --skill '*' -a claude-code --copy -y installs the released skills into a temporary project's .claude/skills/ directory.python3 skills/session-handoff-prompt/scripts/smoke_test_handoff.py --skill-dir skills/session-handoff-prompt validates compacted-event projection, task-forest read-only summaries, local validation, and shareable redaction.printf '%s\n' 'Samples were randomized.' | python3 skills/academic-humanizer/scripts/metrics.py - --json provides read-only descriptive diagnostics for language routing, process leaks, and contrast candidates without assigning an authorship or quality score.skills@1.5.23, the current local source is detected as eight skills, and assess-interview-candidate copies successfully into temporary Codex and Claude Code skill roots.Planned additions:
MIT. See LICENSE.
name: academic-humanizer
description: >-
Draft, audit, or minimally revise English- or Chinese-language academic prose
to reduce formulaic, vacuous, mechanically repetitive, or process-leaking
language while preserving claims, evidence strength, logical relations,
manuscript-wide terminology identity, document-level pattern variation, and
scholarly register. Use for papers, abstracts, grants, cover letters, and
reviewer responses when the user asks to de-AI, humanize, audit AI-like
phrasing, or rewrite text without changing meaning. English is primary;
Chinese is supported. Not for detector evasion, policy circumvention, pure
translation, non-academic copy, or adding facts, citations, examples, or
author experiences that the source does not contain.Improve academic prose by removing observable writing defects, not by imitating imperfection or optimizing an authorship detector. Preserve the author's facts, argument, uncertainty, and disciplinary voice. This skill does not guarantee how any reader or detector will classify a text.
This skill is agent-agnostic. Its core behavior is defined by SKILL.md and
references/; Python is optional and supports reproducible diagnostics.
<skill-dir> from the directory containing this SKILL.md.<python> mean an available Python 3 launcher, such as python3, py -3,
or python.<input-file> mean a user-authorized local text file. Quote paths that
contain spaces and use the host shell's path separator.agents/openai.yaml is optional interface metadata. Core behavior does not
depend on a particular agent runtime.Read these before drafting or editing:
Read worked examples on first use, after changing a
rule, or whenever fact preservation, contrast, or over-correction is uncertain.
Read metrics specification before running
scripts/metrics.py; its output is descriptive evidence only.
Do not create another routing tree for paper section or discipline. Methods, Results, Discussion, reviewer responses, and grants use the same contracts; the whitelist handles legitimate register differences. Ask one direct question only when the requested genre changes what counts as acceptable and context does not resolve it.
Route on editable prose, excluding fenced code, formulas, block quotations, and
a trailing reference list. Use orthographic tokens: each CJK character is one
token and each contiguous Latin word is one token. This keeps embedded terms such
as Transformer or ImageNet from outweighing the Chinese sentence around them:
r = CJK tokens / (CJK tokens + Latin word tokens)
r >= 0.5: Chinese branch.r < 0.5: English branch.English terms in Chinese prose and Chinese terms in English prose remain
verbatim. If Python is available and the route is genuinely unclear, optionally
run <python> "<skill-dir>/scripts/metrics.py" "<input-file>" --route.
Routing is internal and never appears in the clean artifact.
Earlier rows win. References may elaborate this table but must not define a second priority order.
| Priority | Constraint | Operational meaning |
|---|---|---|
| C0 | Artifact boundary | Process instructions, editor narration, and tool residue never enter the artifact. C0 applies only to process-layer text; it never authorizes deletion of real content. |
| C1 | Semantic fidelity | Every output claim maps to the source bundle; every material source claim remains represented. No added facts, relations, examples, citations, motivations, or limitations. |
| C2 | Locked-span protection | Quotations, formulas, code, references, citation keys, statistical notation, proper nouns, and requested verbatim text remain unchanged. |
| C3 | Terminology identity | One scientific concept uses one canonical term across the editable manuscript. Preserve declared full-name/abbreviation pairs, necessary grammatical forms, and intentional distinctions; never infer identity from similarity alone. |
| C4 | Academic register | Preserve functional hedging, passive voice, nominalization, discourse markers, and Chinese scholarly morphology. |
| C5 | Argument structure | Preserve causal strength, contrast, concession, addition, chronology, scope, and paragraph-level reasoning. Surface connectives may change when the relation survives. |
| C6 | Document patterning | Audit recurrence, clustering, dispersion, positional regularity, sentence rhythm, and rhetorical-function saturation across the complete editable scope. A count is evidence, never a verdict. |
| C7 | Local style repair | Apply language-specific rules only to locally unsupported, vacuous, mechanical, or stacked defects. |
Examples of conflict resolution:
Read all supplied title, abstract, body sections, captions, tables, appendices, and supplementary prose before changing anything. Identify which parts are editable and which are evidence or protected context. Separate content requirements from style/process instructions. For generation, treat only supplied claims, data, citations, and explicitly marked hypotheticals as content.
Apply the semantic and terminology contracts. Build the claim/evidence ledger with source-to-output mappings and provenance status for:
The editable draft establishes what the author currently says; it does not by
itself prove that a cited paper, result, quotation, or factual premise exists.
Mark unsupported evidence assertions as draft-only and preserve or flag them
instead of silently treating them as verified or extending the argument from them.
Build a separate terminology ledger for scientific concepts, especially newly coined methods, modules, losses, metrics, datasets, and task names. Record:
concept_id, canonical_term, and the span that defines or first formally
names the concept;allowed_forms, including full-name/abbreviation pairs and necessary
grammatical or bilingual mappings;observed_variants, distinguish_from, and resolution status.Use explicit user terminology first, then formal definitions, then the first unambiguous formal naming. Frequency alone never selects the canonical term. Keep both ledgers internal unless the user asks for an audit trail.
contrast-logic.md.A lone word or sentence form is not enough to infer authorship or poor quality. It can still be a local defect when it adds an unsupported claim, false relation, or empty evaluation. Multiple weak signals in one span form one finding, not several duplicate findings.
For multi-sentence input, map candidates by section, paragraph, sentence,
position, and rhetorical function using global-pattern-contract.md. Inspect:
Use within-document evidence and section function; never apply a universal count or ratio. A distribution map supports findings only about the supplied editable scope; an excerpt cannot support a whole-manuscript judgment. Optional metrics produce a distribution map, not an authorship or quality judgment.
Classify each finding as local defect, distributional defect, functional/protected, or uncertain. A distributional defect requires both repetition or positional regularity and redundant rhetorical function. Several valid ablation contrasts, method steps, reported metrics, or theorem consequences remain protected even when their surface forms repeat.
not only X but also Y when X
and Y are supported; removing the construction must not remove either claim.Scan all editable sections together after revision. Every scientific concept must use its canonical term or a declared allowed form. Verify that coined names are unchanged after their formal introduction, captions and tables match the body, bilingual mappings are declared, and distinct concepts remain distinct. Any unresolved identity is a stop/flag result, not an automatic normalization.
Rebuild the distribution map after editing. Check that redundant clusters, mechanical paragraph templates, uniform rhetorical peaks, and unsupported certainty were resolved without erasing functional repetition or creating a new dominant pattern. If the supplied scope is shorter than the claimed scope, report the limitation and do not claim a whole-manuscript pass.
Re-read source and output side by side. The output fails if any answer is no:
draft-only outside the artifact?Run metrics only as an optional residual scan. A metric never overrides this gate.
local or
distributional). Each finding includes an exact source quote, rule ID,
location/distribution evidence, reason, and one of change, keep, or
uncertain.Stop and ask instead of guessing when:
Do not invent specifics, personal experience, citations, data, mechanisms, baselines, or limitations to make prose sound more human. Do not casualize academic writing merely to make it look less generated.
评论 (0)
暂无评论,成为第一个评论者吧!