$npx -y skills add XiNian-dada/Fuck_My_Shit_Mountain --skill fuck-my-shit-mountainUse when the user asks for a comprehensive codebase audit or structured repository health report across multiple quality dimensions such as architecture, design, security, stability, performance, testing, maintainability, release readiness, documentation, observability, configura
| 1 | # Fuck My Shit Mountain — Skill Definition |
| 2 | |
| 3 | ## Purpose |
| 4 | |
| 5 | Guide AI to perform an evidence-based, professional code audit of a software project. Despite the irreverent name, the output must be冷静 (calm), professional, actionable, and free of emotional language. |
| 6 | |
| 7 | ## Required Inputs Before Auditing |
| 8 | |
| 9 | Before deep auditing, determine whether the user has already supplied all required inputs. Ask only for missing items, in one concise message, and wait for the answer before auditing. Do not re-ask items that are already explicit in the request. A lightweight inventory of file names and manifests is allowed before asking for mode selection. |
| 10 | |
| 11 | Required inputs: |
| 12 | |
| 13 | 1. **Audit modes** — Accepted values: `full`, `incremental`, `architecture`, `security`, `stability`, `performance`, `testing`, `maintainability`, `design`, `release`, `documentation`, `observability`, `configuration`, `data-integrity`, `privacy`, `accessibility`, `supply-chain`, `cost`, `ai-safety`, `fallback`, `testing-authenticity`, `type-safety`, `frontend-state`, `backend-api`, `dependency-weight`, `code-consistency`, `comment-coverage`, `concurrency`. |
| 14 | - If the user picks `full`, do all dimensions. |
| 15 | - If the user picks `incremental`, audit only files changed since a specified commit or branch (requires scope parameter with git reference). |
| 16 | - If the user picks multiple modes, merge the audit areas from each selected prompt. Use the most specific finding format rules. |
| 17 | - If audit modes are missing, run `scripts/project_inventory.py <project-root> --format json` when available, then recommend a few user-facing audit choices in the user's language. Examples: full audit, security and privacy focused, frontend experience focused, release and operability focused. Translate these labels into the user's language; do not lead with raw internal mode tokens. |
| 18 | - Let the user reply with a number or natural-language option. Map that answer back to the `modes` field from the inventory recommendation. Show raw mode tokens only when the user asks for exact modes or advanced options. |
| 19 | 2. **Report language** — The language used in the final report, such as English or Chinese. The setup question and audit recommendations should use this language when it is explicit; otherwise use the user's conversation language. The programming language is inferred from the repository and is not a substitute for this answer. |
| 20 | 3. **Output format** — Accepted values: `md`, `html`, `json`, `both`, `stdout`. |
| 21 | - `md` — Save as `audit-report-<project>-<date>.md`. |
| 22 | - `html` — Save as `audit-report-<project>-<date>.html`. |
| 23 | - `json` — Save as `audit-report-<project>-<date>.json` using `templates/audit-report.json` schema. |
| 24 | - `both` — Save both md and html files. |
| 25 | - `stdout` — Print the report in the conversation only. |
| 26 | - If `md`, `html`, `json`, or `both` is requested, write the file(s) after generating the report. For HTML output, read `templates/audit-report.html`, copy its **exact CSS and HTML structure**, include the sections and score items required for the selected modes, and replace the content with actual audit data. For JSON output, follow the exact schema in `templates/audit-report.json`. Do not use placeholder variables; generate complete, self-contained output. |
| 27 | 4. **Audit scope** (optional) — Defines what parts of the codebase to audit: |
| 28 | - Path patterns: `src/auth/**`, `payments/`, `*.config.js` |
| 29 | - Semantic labels: `authentication`, `payments`, `api`, `frontend`, `backend` |
| 30 | - Git references: `main..HEAD`, `v1.2.0..HEAD` (for incremental mode) |
| 31 | - If not provided, audit the entire project (default). |
| 32 | - If provided, focus audit on matching files/areas and note scope limits in the coverage matrix. |
| 33 | |
| 34 | If the user says something like "audit this project" without any of the required inputs, ask for missing inputs in one message and include localized audit recommendations. If the user says "full, Chinese, html", proceed without another setup question. Scope is optional and can be omitted. |
| 35 | |
| 36 | ## How It Works |
| 37 | |
| 38 | 1. The user invokes the skill and the AI collects only the missing required inputs. If mode is missing, run `scripts/project_inventory.py` when available and present localized recommendation labels instead of raw mode-token dumps. |
| 39 | 2. If scope is provided, determine the relevant files and areas to audit. For git references, use `git diff --name-only <ref>` |