changfengpro

Enforces project coding and documentation conventions with mandatory lint checks.

Updated May 28, 2026
One-click install
npx skills add https://github.com/changfengpro/agent-skills --skill changfengpro-changfengpro
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: changfengpro
Source: https://github.com/changfengpro/agent-skills/tree/main/skills/changfengpro
Command: npx skills add https://github.com/changfengpro/agent-skills --skill changfengpro-changfengpro

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? It prevents recurring project failures caused by hardcoded paths, IPs, and device numbers in code, and by banned contrastive phrasing in technical documents, by enforcing a growing set of hard conventions with mandatory mechanical lint checks after every draft or revision. ## Core Features & Use Cases - Coding Convention Enforcement: Requires relative paths derived from the script's own location and parameterizes variables like IPs, ports, device nodes, and model paths via CLI arguments, environment variables, or config files. - Documentation Phrasing Rules: Bans contrastive sentence patterns (e.g., "not A but B", rhetorical questions) in user-facing technical docs, including revision histories, and mandates running lint-phrasing.sh and lint-format.sh after every draft until no hits remain. - Feishu Document Editing Discipline: Prescribes refetching full documents and rebuilding block IDs each round, whole-table block_replace for table edits, correct rich-text tags (<b>, <code>, <), and block-structure-based verification instead of grep/wc counts. - Use Case: When writing a deployment script or revising a Feishu technical design doc for the project, apply these conventions, run the lint scripts, then do a final AI pass over the full text before delivery. ## Quick Start Apply the changfengpro project conventions to review my script and technical document draft, then run the phrasing and format lint checks.

Frequently Asked Questions about changfengpro

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I avoid hardcoded paths in Python scripts?

Derive the project root from the script's own location using os.path.dirname(os.path.abspath(__file__)) and join relative paths from it. Pass variable values like model paths, board IPs, and ports through command-line arguments, environment variables, or config files with sensible defaults.

How do I check technical documents for banned phrasing?

Run the lint-phrasing.sh script against the Markdown file or pipe fetched Feishu document text into it. Exit code 0 means no hits; exit code 1 means each flagged contrastive or rhetorical sentence must be rewritten as a direct statement and the check rerun.

What phrasing is banned in technical documentation?

Banned patterns include contrastive constructions like "not A but B" and "A and B are two different things", rhetorical questions, and colloquialisms. Factual negations such as "only covers IPv4, not IPv6" are allowed because they state facts rather than contrast explanations.

How do I safely edit Feishu documents programmatically?

Refetch the full document and rebuild block IDs after every operation round, never reuse stale IDs. For table changes, replace the entire table with block_replace instead of inserting rows, and verify results by comparing block structures rather than using grep or line counts.

Why do lint scripts passing not guarantee document quality?

Lint scripts only cover enumerable issues like banned phrases, empty blocks, and format mixing. They cannot detect split or over-merged paragraphs, misplaced content, broken references, or numbering gaps, so a final full read-through of the draft is mandatory after scripts pass.