Skip to content
Back to skills

Done

ASecurity

Claude frequently writes markdown that fails markdownlint and Prettier checks, requiring fix-up commits. Over 122 style-fix commits in the past month trace to three recurring issues: ragged table alignment, incremental ordered list numbering (`1. 2. 3.`), and bare code fences without language identifiers. The `write-markdown` skill is supposed to prevent these, but it has a bug (the "avoid" table example is identical to the "use" example) and its guidance is not prominent or procedural enough to

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 2, 2026
developmentjavascripttypescriptpythongojavabash

Works with

  • cli

Security analysis

A100/100

Pro scans all 21 files and shows the line behind each finding

Scanned October 2, 2026

npx -y skills add cboone/agent-harness-plugins --skill done --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Done?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Done
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/cboone-done-d9e3f2e2/badge)](https://www.skillsdirectory.com/skills/cboone-done-d9e3f2e2)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# 2026-03-03: Fix write-markdown skill to reduce recurring lint failures

## Context

Claude frequently writes markdown that fails markdownlint and Prettier checks, requiring fix-up commits. Over 122 style-fix commits in the past month trace to three recurring issues: ragged table alignment, incremental ordered list numbering (`1. 2. 3.`), and bare code fences without language identifiers. The `write-markdown` skill is supposed to prevent these, but it has a bug (the "avoid" table example is identical to the "use" example) and its guidance is not prominent or procedural enough to change behavior.

## Changes

### 1. Fix broken "avoid" table example in MARKDOWN.md

**File:** `plugins/write-markdown/skills/write-markdown/references/MARKDOWN.md` (lines 543-550)

The "avoid" example for table column alignment is character-for-character identical to the "use" example. Both show perfectly aligned pipes. Replace the "avoid" example with actually ragged/compact pipes:

```markdown
| Name    | Type   | Default |
| ------- | ------ | ------- |
| timeout | number | 30      |
| retries | number | 3       |
```

This lives inside a fenced code block, so it will not trigger lint violations.

### 2. Add procedural table formatting guidance in MARKDOWN.md

After the fixed avoid example, add a practical procedure explaining how to align tables:

1. Write all rows with their content
1. Find the longest content in each column (including header text)
1. Pad every cell to match the longest content's width with trailing spaces
1. Fill delimiter row hyphens to match the column width
1. Verify all pipes are in the same column positions across every row

Include a note that Prettier reformats tables to aligned style automatically and can serve as a safety net.

### 3. Strengthen ordered list section in MARKDOWN.md

**File:** `plugins/write-markdown/skills/write-markdown/references/MARKDOWN.md` (lines 326-344)

- Change opening to: "Use `1.` as the prefix for every item in ordered lists. Never use `2.`, `3.`, `4.`, etc."
- Add: "This applies to all ordered lists, including nested ones."

### 4. Strengthen language identifiers section in MARKDOWN.md

**File:** `plugins/write-markdown/skills/write-markdown/references/MARKDOWN.md` (lines 448-458)

- Change to: "Every fenced code block must include a language identifier"
- Add: "Never leave the opening fence bare"
- Add a list of common language identifiers: `bash`, `console`, `css`, `diff`, `go`, `html`, `javascript`, `json`, `jsonc`, `markdown`, `python`, `text`, `toml`, `typescript`, `yaml`

### 5. Add "Common Mistakes" section to SKILL.md

**File:** `plugins/write-markdown/skills/write-markdown/SKILL.md`

Insert a new `## Common Mistakes` section immediately before the existing `## Key Conventions` section. This section highlights the three most-violated rules with correct/wrong examples:

- **Tables:** Show aligned vs ragged pipes, plus the padding procedure
- **Ordered lists:** Show `1. 1. 1.` vs `1. 2. 3.`
- **Code blocks:** Show fenced with language vs bare fence

This puts the highest-impact guidance at the top of the context, before the broader reference summary.

### 6. Strengthen existing Key Conventions bullets in SKILL.md

Targeted wording tweaks to three existing bullets:

- Lists: change to "`1.` for every ordered list item, never `2.`, `3.`, etc."
- Tables: change to "Pad every cell so all pipe characters align vertically; pad delimiter hyphens to match"
- Code: change to "must have a language identifier (use `text` if none applies)"

### 7. Strengthen the Validation section in SKILL.md

The existing Validation section says "Whenever possible, validate Markdown before finishing." Replace it with stronger, more specific guidance:

- After creating or editing markdown files, run the project's lint-fix command (e.g., `yarn lint:fix`, `yarn lint:md:fix`) to auto-correct table alignment, list numbering, and other formatting issues
- Make running the linter in fix mode a standard final step, not an optional afterthought
- Keep the fallback note about `markdownlint-cli2` for projects without a custom lint script

### 8. Version bump

Patch bump from `1.1.1` to `1.1.2` in:

- `plugins/write-markdown/.claude-plugin/plugin.json`
- `.claude-plugin/marketplace.json` (write-markdown entry)

Verify with `check-versions` skill before committing.

## Verification

1. Run `yarn lint` to confirm both modified files pass markdownlint and Prettier
1. Visually confirm the "avoid" table example in MARKDOWN.md actually shows ragged pipes
1. Visually confirm the "Common Mistakes" section in SKILL.md renders correctly
1. Run `check-versions` to verify version consistency

Files in this skill

  • 2026-02-15-add-create-worktree-skill-with-prompt-injection.md3.6 KB
  • 2026-02-16-mention-issues-in-prs.md4.2 KB
  • 2026-02-17-add-goreleaser-homebrew-skill.md9.1 KB
  • 2026-02-17-add-issue-status-management.md5.3 KB
  • 2026-02-17-add-lint-and-fix-skill.md3.6 KB
  • 2026-02-17-add-setup-gitleaks-skill.md4.5 KB
  • 2026-02-17-copilot-instructions-defaults.md3.5 KB
  • 2026-02-17-expand-repo-bootstrap-coverage.md6.2 KB
  • 2026-02-17-readme-restructuring.md5.4 KB
  • 2026-02-18-improve-readmes.md6.6 KB
  • 2026-02-18-setup-ci.md3.8 KB
  • 2026-02-20-create-create-plugin-skill.md5.4 KB
  • 2026-02-20-extract-copilot-graphql-into-script.md6.9 KB
  • 2026-02-20-restructure-readmes-per-plugin.md5.4 KB
  • 2026-02-21-add-govulncheck-to-go-scaffolding.md6.3 KB
  • 2026-02-21-consolidate-ci-workflows.md1000 B
  • 2026-03-01-add-changelog-to-scaffolding.md2.9 KB
  • 2026-03-01-add-done-plans-handling-to-new-repo-setup.md3 KB
  • 2026-03-01-add-recommended-permissions-to-readmes.md6.3 KB
  • 2026-03-01-create-bootstrap-project-skill.md7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…