Updates QtPass documentation (README.md, FAQ.md, CHANGELOG.md, CONTRIBUTING.md, Doxygen comments), formats it with prettier and keeps qtpass.org pages in step. Use when editing docs, adding a FAQ or troubleshooting entry, writing a CHANGELOG line, fixing a Doxygen warning that fails CI, or formatting Markdown.
76
95%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
| File | Purpose |
|---|---|
README.md | Overview, features, installation, profiles, security, known issues |
FAQ.md | Troubleshooting questions and answers |
CHANGELOG.md | Release history, newest first, [Unreleased] on top |
CONTRIBUTING.md | Getting started, PR process, AI assistance, translations, Windows setup |
CODE_OF_CONDUCT.md | Community code of conduct |
ROADMAP.md | Plans, in "Now" and "Next" sections |
SECURITY.md | Supported versions, vulnerability reporting, what QtPass protects |
Windows.md | Windows install, build from source, troubleshooting |
Doxyfile | API documentation config, enforced in CI (see below) |
Translations of the application are a separate workflow: use the
qtpass-localization skill.
Git, macOS, ID and filename the way textlint wants them.[#123](https://github.com/IJHack/QtPass/issues/123); a bare issues/123
path resolves against the file's folder and breaks.FAQ.md#heading-id); the
site build rewrites those links (see below).qtpass.org lives on the gh-pages branch. Three of its pages are rendered from
this repository by tools/build-page.py on that branch:
| Repository file | Page |
|---|---|
FAQ.md | https://qtpass.org/faq |
CONTRIBUTING.md | https://qtpass.org/contributing |
CODE_OF_CONDUCT.md | https://qtpass.org/code-of-conduct |
No workflow reruns it: a change to these files reaches the site only when the
page is rebuilt on gh-pages. Headings keep GitHub-style IDs, so renaming a
heading breaks faq#... deep links on the site as well as on GitHub. The
Doxygen HTML is different: CI publishes it to https://qtpass.org/docs/ on
every push to main.
FAQ.md has ## Issues (troubleshooting) and
## How can I help improve QtPass?. Entries are ### questions phrased the
way a user would ask them:
### GPG says "Public key unusable" or "No secret key"
Your GPG key may not be trusted or has expired. Run `gpg --edit-key <KEYID>` and:
- Set the trust level to "ultimate" (`trust` command)
- Check if the key has expired (`expire` command to extend if needed)## section, next to related entries.grep -rn "old-heading-id" --include=*.md .qtpass-releasing skill.qtpass.pri and CI.gh-pages), not in this repository.Add a bullet under the matching section of ## [Unreleased], ending with the
PR link. Read references/changelog.md for the
heading format, section names, MD024 markers and the lint traps.
Every public symbol in a header needs a /** @brief ... */ block with
@param for each parameter and @return for non-void functions. CI fails on
any Doxygen warning. Read references/doxygen.md when
the docs job fails, for the Doxyfile settings, the local check and the
mistakes that cause warnings.
Quick check before pushing a header change:
doxygen Doxyfile >/dev/null # anything printed, or a non-zero exit, fails CIRun before every push that touches Markdown or YAML:
npx prettier --write <changed .md or .yml files>
npx prettier --check "**/*.md" "**/*.yml"
grep -nP "\x{2014}" <changed .md files> # em dashes; must print nothingSuper-linter in CI also runs markdownlint and textlint. To reproduce it
locally, use the qtpass-linting skill.
These facts change over time; check them against the repository before relying on them.
DOXYGEN_VERSION in documentation.yml) and
verifies the archive's SHA-256. A different local version can report
differently.grep -nE "[0-9]+\.[0-9]+\.[0-9]+" README.md prints nothing.references/changelog.md is the 1.8.1 release of
September 2026; copy its shape, not its content.FAQ.md, README.md and
CONTRIBUTING.md; the [Unreleased] heading in CHANGELOG.md still has one.IJHack/QtPass
47fd421
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.