Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Maintain an llmwiki-style open-source project across the full framework pipeline. Use when the user says "maintain the project", "check my tasks", "update progress", "run phase gate", "do a monthly verify", "lint my wiki", "check stale entries", or invokes any form of ongoing project-keeping chore. Reads _progress.md, tasks.md, docs/roadmap.md, and .github issues to figure out what's next and what's drifted.
.claude/skills/pratiyush-project-maintainer/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 38% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 46% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 21% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 5% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 98% | 0% |
The Maintainer owns the full Open Source Framework v4.1 pipeline on a project. Given the current repo state, it:
tasks.md, _progress.md, and GitHub issues in sync (the framework's "dual-tracking" rule).It works for any project that follows the framework — not just llmwiki.
| Phase | The Maintainer's job in this phase | |---|---| | 0 Capture | Verify idea-brief.md exists and names target users + the 10x mechanism | | 1 Validate | Verify scorecard /25 is in _progress.md and ≥20 | | 1.25 Research | Verify .temp/ has at least 10 cloned reference repos and docs/research.md exists with a gap matrix | | 1.5 Steering | Verify _progress.md has "Key Decisions" table filled in | | 1.75 Agent Survey | For agent-native tools — verify adapter compatibility matrix exists | | 2 Brand | Verify README.md, LICENSE, and badges are in place | | 3 Structure | Verify folder layout matches docs/architecture.md | | 4 Content | Track which M items in docs/roadmap.md are ✅ vs [ ] | | 5 Contribution | Verify CONTRIBUTING.md, PR template, issue templates, CI workflow | | 5.25 Adapter Flow | For agent-native tools — verify adapter contract doc + at least one community contribution example | | 5.5 Pre-Launch QA | Run the full QA checklist from docs/framework.md | | 6 Launch | Verify git tag + GitHub Release + social posts drafted | | 6.5 Self-Demo | Verify GitHub Pages workflow triggered and live URL returns 200 | | 7 Grow | Track stars / forks / downloads week-over-week | | 7.5 Living Knowledge | Verify public wiki is updating on release | | 8 Maintain | Run monthly verification, merge PRs, update stale entries |
_progress.md in the current dir or its parents. If missing, tell the user this skill needs a project that follows the framework._progress.md — current phase + phase status tabletasks.md — Kiro-style tasks with [ ]/[/]/[x]/[-] markersdocs/roadmap.md — if present, the master MoSCoW tableCHANGELOG.md — latest releasetasks.md marked [x] but not in CHANGELOG.md?tasks.md?tasks.md with no corresponding GitHub issue?last_updated in wiki frontmatter older than 30 days? Flag.source_file reference in wiki pointing to a file that no longer exists? Flag.last_updated older than the newest source? Flag.[[wikilink]] pointing to a non-existent page? Flag.grep -r "<real_username>" site/ wiki/ must be emptypython3 -m llmwiki lint-docs (when implemented)<15s, HTML <50MB ## Health report: <project> — <date>
Phase: <current phase> (<status>)
### ✅ Green
### ⚠️ Yellow
### ❌ Red
### Next action
_progress.md. Always explain what changed and why.tasks.md without showing the diff first.self-learn — when a new pattern emerges during maintenance, pipe it to self-learn to potentially add it to the framework.llmwiki-query — when you need context from past sessions on why a decision was made.llmwiki-lint — for wiki-specific lint work (overlaps with step 5).| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 14,534 | 9,762 | -33% | 1 | 1 | 0% | 2,249 | 1,932 | -14% | 0 | 0 | — |
case-02 | fail→fail | 3,053 | 5,154 | +69% | 1 | 1 | 0% | 416 | 1,748 | +320% | 0 | 0 | — |
case-03 | fail→fail | 15,147 | 5,855 | -61% | 1 | 1 | 0% | 2,286 | 1,815 | -21% | 0 | 0 | — |
case-04 | fail→pass | 9,323 | 4,031 | -57% | 1 | 1 | 0% | 1,498 | 2,064 | +38% | 0 | 0 | — |
case-05 | fail→pass | 19,806 | 2,952 | -85% | 1 | 1 | 0% | 1,354 | 1,974 | +46% | 0 | 0 | — |
case-06 | fail→fail | 13,464 | 3,596 | -73% | 1 | 1 | 0% | 2,035 | 2,046 | +1% | 0 | 0 | — |
case-07 | fail→fail | 8,798 | 3,068 | -65% | 1 | 1 | 0% | 1,252 | 1,901 | +52% | 0 | 0 | — |
case-08 | pass→pass | 10,533 | 1,352 | -87% | 1 | 1 | 0% | 1,499 | 1,632 | +9% | 0 | 0 | — |
case-09 | pass→pass | 10,450 | 5,666 | -46% | 1 | 1 | 0% | 1,620 | 2,394 | +48% | 0 | 0 | — |
case-10 | fail→fail | 10,259 | 1,233 | -88% | 1 | 1 | 0% | 1,384 | 1,612 | +16% | 0 | 0 | — |
case-11 | pass→pass | 15,937 | 4,692 | -71% | 1 | 1 | 0% | 2,262 | 2,163 | -4% | 0 | 0 | — |
case-12 | fail→fail | 6,167 | 1,934 | -69% | 1 | 1 | 0% | 907 | 1,733 | +91% | 0 | 0 | — |
case-13 | pass→pass | 10,345 | 5,184 | -50% | 1 | 1 | 0% | 1,657 | 2,338 | +41% | 0 | 0 | — |
case-14 | pass→pass | 6,056 | 3,875 | -36% | 1 | 1 | 0% | 916 | 2,048 | +124% | 0 | 0 | — |
case-15 | pass→pass | 13,873 | 5,395 | -61% | 1 | 1 | 0% | 2,017 | 2,282 | +13% | 0 | 0 | — |
case-16 | fail→pass | 8,964 | 2,101 | -77% | 1 | 1 | 0% | 1,464 | 1,772 | +21% | 0 | 0 | — |
case-17 | fail→pass | 10,373 | 1,576 | -85% | 1 | 1 | 0% | 1,600 | 1,686 | +5% | 0 | 0 | — |
case-18 | fail→pass | 6,381 | 1,965 | -69% | 1 | 1 | 0% | 858 | 1,700 | +98% | 0 | 0 | — |
case-19 | fail→pass | 12,265 | 2,015 | -84% | 1 | 1 | 0% | 330 | 1,695 | +414% | 0 | 0 | — |
case-20 | fail→pass | 4,741 | 3,549 | -25% | 1 | 1 | 0% | 623 | 1,995 | +220% | 0 | 0 | — |
case-21 | fail→pass | 9,026 | 2,513 | -72% | 1 | 1 | 0% | 1,370 | 1,853 | +35% | 0 | 0 | — |
case-22 | fail→pass | 6,662 | 3,593 | -46% | 1 | 1 | 0% | 1,009 | 1,979 | +96% | 0 | 0 | — |
case-23 | pass→pass | 9,933 | 3,311 | -67% | 1 | 1 | 0% | 1,418 | 1,858 | +31% | 0 | 0 | — |
case-24 | pass→pass | 9,617 | 3,836 | -60% | 1 | 1 | 0% | 1,364 | 2,005 | +47% | 0 | 0 | — |
case-25 | fail→pass | 12,806 | 7,454 | -42% | 1 | 1 | 0% | 1,984 | 2,638 | +33% | 0 | 0 | — |
case-26 | fail→pass | 8,528 | 10,488 | +23% | 1 | 1 | 0% | 1,365 | 3,092 | +127% | 0 | 0 | — |
case-27 | fail→pass | 5,003 | 7,742 | +55% | 1 | 1 | 0% | 722 | 2,606 | +261% | 0 | 0 | — |
case-28 | fail→fail | 16,933 | 7,129 | -58% | 1 | 1 | 0% | 2,743 | 2,220 | -19% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 28 cases were attempted, and 24 counted toward the lift figure. The other 4 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +43 percentage points is the difference between those two pass rates over the 24 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.