Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Evaluates and improves skills, agents, commands, and hooks after a workflow slice. Use when execution felt slow, confusing, repetitive, or fragile.
.claude/skills/athola-workflow-improvement/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 67% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 48% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 79% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 86% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 161% | 0% |
Use this skill after running a command or completing a short session slice where execution felt slow, confusing, repetitive, or fragile.
This skill focuses on improving the workflow assets (skills, agents, commands, hooks) that were involved, not on feature work itself.
fix-workflow:context-gatheredfix-workflow:slice-capturedfix-workflow:workflow-recreatedfix-workflow:improvements-generatedfix-workflow:plan-agreedfix-workflow:changes-implementedfix-workflow:validatedfix-workflow:lesson-storedcontext-gathered)Before analyzing the current session, gather existing improvement data:
Query memory-palace logs for recent performance issues:
bash# Recent failures (last 7 days) /skill-logs --failures-only --last 7d # Performance metrics for involved plugins pensive:skill-review --plugin sanctum --recommendations
Capture:
Search for previously captured workflow lessons:
bash# If memory-palace review-chamber is available /review-room search "workflow improvement" --room lessons /review-room search "efficiency" --room patterns
Look for:
Identify recurring issues through commit patterns:
bashgit log --oneline --grep="improve\|fix\|optimize" --since="30 days ago" \ -- plugins/sanctum/skills/ plugins/sanctum/commands/ # Look for unstable components (frequent fixes) git log --oneline --since="30 days ago" --follow \ -- plugins/sanctum/skills/workflow-improvement/
Extract:
Output Format:
markdown## Improvement Context ### Skill Performance Issues - sanctum:workflow-improvement: stability_gap 0.35 (5 failures in 7 days) - Error pattern: "Missing validation in Step 2" ### Knowledge Base Lessons - PR #42 lesson: "Workflow validation should happen at start, not end" - Pattern: Early validation reduces iteration time by 30% ### Git History Insights - workflow-improvement skill: 8 commits in 30 days (instability signal) - Recurring theme: "Add missing prerequisite checks"
slice-captured)Identify the most recent command or session slice in the current context window and capture:
/command if present)If the slice is ambiguous, pick the most recent complete attempt and state the exact boundary you chose.
workflow-recreated)Reconstruct the workflow as a numbered list of 5 to 20 steps, identifying inputs, branch points for decisions, and outputs such as file changes or state modifications. During this reconstruction, identify specific friction points that reduce efficiency. These often include repeated steps or redundant tool calls, as well as missing guardrails where validation occurs too late or prerequisites are unclear. Other common issues are a lack of automation for tasks that should be scripted, and discoverability gaps caused by confusing naming conventions.
Cross-reference with Step 0 context:
improvements-generated)Generate 3 to 5 distinct improvement approaches and score each on impact, complexity, reversibility, and consistency with existing sanctum patterns. The scoring should specifically address whether the change prevents the recurrence of patterns identified in Step 0. Prioritize improvements that address components with a high stability gap (greater than 0.3) or recurring issues found in the git history. You should also incorporate lessons from the review-chamber and aim to reduce failure modes identified in the skill logs. Prefer small, high-use changes such as tightening a skill's exit criteria, adding missing command options, improving hook guardrails for better observability, or splitting overloaded commands into clearer phases.
plan-agreed)Choose 1 approach and define:
Keep the plan bounded: aim for ≤ 5 files changed unless the workflow truly spans more.
changes-implemented)Apply changes following sanctum conventions:
commands/, agents/, skills/, hooks/plugins/sanctum/tests/validated)Validation should include at least 2 of:
Record the before/after comparison as metrics, not prose:
markdown## Validation Results ### Before Improvement - Step count: 15 - Tool calls: 23 - Failure points: 3 - Duration: ~8 minutes - Manual interventions: 5 ### After Improvement - Step count: 11 (-4, -27%) - Tool calls: 17 (-6, -26%) - Failure points: 0 (-3, -100%) - Duration: ~5 minutes (-37%) - Manual interventions: 2 (-3, -60%) ### Verification [E1] Command: `python3 plugins/sanctum/scripts/test_workflow.py` Output: All tests passed (0.5s) [E2] Command: `/validate-plugin sanctum` Output: No issues found
After validation, capture the improvement for future reference:
Commit with descriptive message that future searches will find:
bashgit add <changed-files> git commit -m "improve(sanctum): <component> - <specific fix> Addresses recurring issue: <pattern from Step 0> Reduces <metric> by <percentage> Evidence: stability_gap reduced from 0.35 to 0.12"
No AI-attribution trailer. plugins/imbue/hooks/vow_no_ai_attribution.py blocks co-authorship and generated-by trailers naming an AI model at PreToolUse, so a template carrying one hands the agent a commit its own toolchain refuses.
Observations about night-market tooling (skill behavior, agent coordination, hook timing, command UX) belong in https://github.com/athola/claude-night-market/discussions, not local memory. Always target the night-market repo regardless of which repo you are currently working in.
Use the GraphQL pattern in plugins/sanctum/commands/fix-pr-modules/steps/6-complete.md Sub-Step 6.7. It resolves the night-market repository and the Learnings category by ID and hardcodes athola/claude-night-market as the target, so it works from any repo.
Do not reach for plugins/abstract/scripts/post_learnings_to_discussions.py here. It takes no arguments: it parses LEARNINGS.md and posts the aggregated daily digest, which is a different artifact from one observation captured mid-workflow.
> Repo-specific learnings stay in the current repo. Tooling > learnings always go to > https://github.com/athola/claude-night-market/discussions > so the framework can improve.
If the improvement addresses a repo-specific pattern (not tooling), store it locally:
bash# Store in review-chamber lessons /review-room capture --room lessons --title "Workflow: <pattern name>"
Track the improvement's impact:
bash# Check post-improvement stability pensive:skill-review --skill sanctum:<component> --recommendations
This creates a feedback loop where future /fix-workflow and /update-plugins runs will reference this lesson.
If this work involved rework, a failed approach, or a blocker, record it to docs/lessons-learned.md so the insight survives past the session (draft and confirm):
Skill(leyline:decision-journal) and appenda lesson entry (what_happened, what_didnt_work, root_cause, action; set phase to review). Show the draft; append on confirmation.
docs/lessons-learned.md using thein-file ENTRY TEMPLATE; assign the next LL-NNN id.
artifacts touched
(<= 5 files unless justified)
failure points), not prose
is recorded to docs/lessons-learned.md via the decision journal
If a command is not found, confirm that all dependencies are installed and accessible in your PATH. For permission errors, check file system permissions and run the command with appropriate privileges. If you encounter unexpected behavior, enable verbose logging using the --verbose flag to capture more detailed execution data.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-10 | pass→fail | 9,258 | 1,772 | -81% | 1 | 1 | 0% | 1,487 | 2,781 | +87% | 0 | 0 | — |
case-20 | fail→fail | 14,344 | 2,548 | -82% | 1 | 1 | 0% | 1,318 | 2,897 | +120% | 0 | 0 | — |
case-01 | fail→fail | 15,820 | 7,828 | -51% | 1 | 1 | 0% | 2,494 | 2,997 | +20% | 0 | 0 | — |
case-02 | fail→fail | 6,493 | 9,471 | +46% | 1 | 1 | 0% | 246 | 2,878 | +1070% | 0 | 0 | — |
case-03 | fail→fail | 19,371 | 9,605 | -50% | 1 | 1 | 0% | 3,508 | 2,960 | -16% | 0 | 0 | — |
case-04 | pass→fail | 23,044 | 8,666 | -62% | 1 | 1 | 0% | 5,019 | 3,044 | -39% | 0 | 0 | — |
case-05 | fail→fail | 7,265 | 20,543 | +183% | 1 | 1 | 0% | 1,108 | 5,146 | +364% | 0 | 0 | — |
case-06 | fail→fail | 19,245 | 9,302 | -52% | 1 | 1 | 0% | 3,938 | 3,045 | -23% | 0 | 0 | — |
case-07 | pass→pass | 20,260 | 2,052 | -90% | 1 | 1 | 0% | 1,198 | 2,826 | +136% | 0 | 0 | — |
case-08 | fail→pass | 12,711 | 8,383 | -34% | 1 | 1 | 0% | 2,342 | 3,917 | +67% | 0 | 0 | — |
case-09 | fail→pass | 15,839 | 6,619 | -58% | 1 | 1 | 0% | 2,372 | 3,515 | +48% | 0 | 0 | — |
case-11 | fail→fail | 7,732 | 2,281 | -70% | 1 | 1 | 0% | 1,099 | 2,895 | +163% | 0 | 0 | — |
case-12 | pass→pass | 8,644 | 1,931 | -78% | 1 | 1 | 0% | 1,331 | 2,803 | +111% | 0 | 0 | — |
case-13 | fail→pass | 13,601 | 6,595 | -52% | 1 | 1 | 0% | 2,036 | 3,639 | +79% | 0 | 0 | — |
case-14 | fail→pass | 10,271 | 3,116 | -70% | 1 | 1 | 0% | 1,646 | 3,061 | +86% | 0 | 0 | — |
case-15 | pass→pass | 5,832 | 3,464 | -41% | 1 | 1 | 0% | 948 | 3,172 | +235% | 0 | 0 | — |
case-16 | fail→fail | 8,788 | 6,004 | -32% | 1 | 1 | 0% | 1,353 | 3,535 | +161% | 0 | 0 | — |
case-17 | fail→pass | 7,750 | 3,056 | -61% | 1 | 1 | 0% | 1,164 | 3,041 | +161% | 0 | 0 | — |
case-18 | fail→pass | 8,355 | 2,602 | -69% | 1 | 1 | 0% | 1,291 | 2,981 | +131% | 0 | 0 | — |
case-19 | fail→fail | 9,292 | 2,465 | -73% | 1 | 1 | 0% | 1,379 | 2,876 | +109% | 0 | 0 | — |
case-21 | fail→pass | 7,690 | 1,798 | -77% | 1 | 1 | 0% | 937 | 2,806 | +199% | 0 | 0 | — |
case-22 | fail→pass | 13,951 | 7,134 | -49% | 1 | 1 | 0% | 1,951 | 3,551 | +82% | 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. 22 cases were attempted, and 17 counted toward the lift figure. The other 5 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 +27 percentage points is the difference between those two pass rates over the 17 comparable cases. 6 cases got worse with the skill loaded, and they are included in that figure.
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.